2016蓝桥杯省赛B组题解

来源:互联网 发布:古生物学就业 知乎 编辑:程序博客网 时间:2024/06/11 00:27

今天第一次打蓝桥杯, 去水了一发, 其实蓝桥杯的题还是蛮水的。

记得不是很清楚了, 我就口胡一下吧:

有个题是撕邮票的, 本来可以用那个枚举全排列的函数next_permutation轻松搞定, 可是记忆力差的我哪能记得住, 而且坑爹的dev我找了半天也没发现代码补全, 差点连头文件都写不全。  不过还好我会二进制枚举子集, 如果出现了5个1, 就判断一下这5个格子是否相邻。   是否相邻很好判断, 我的做法比较无脑, 预处理出谁和谁相邻。

还有个题是一个缺2个格子的3*4方格里放数字, 典型dfs傻逼题, 去重一下就好了。 

代码补全题考了个快排和dfs, 我们可以把代码粘贴下来运行一下结果看看对不对, 也很简单。

其他的记不清了, 反正就是觉得每题都是dfs - -!

大题:

第一题我的做法是二重循环预处理出两个数的加和, 用结构体记录这个两个数和他们的平方和, 然后排下序, 先按照平方和排序, 再按照a排, 再是b。  然后自己写个二分, 枚举第1、2个数, 二分第3、4个数就OK啦, 复杂度O(nlogn)。

第二题我怎么看着是原题呢,其实就是原题, 紫书上第八章习题, 之前刷过, 传送门:点击打开链接 , 就是个贪心。

第三题做法是每次算出相邻两个数的比值, 这样, 每次都会减少一个数, 最后留下的就是答案 , 复杂度O(n^2)。


0 0
原创粉丝点击