2016蓝桥杯省赛B组题解

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

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

有个题是撕邮票的, 本来可以用那个枚举全排列的函数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
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值