反思

  • 由于受我第一次遇到的构造最多三角形的题的影响,这种几个分成一组最多多少组的题我老是往贪心上想。
  • 事实上一般贪心也能贪,但这道题,还有突然想起的前些天做的cf140C,都是用二分可以更简单地解决,原因之一是分配最多的组数一般具有单调性。
  • 想到二分就是水题了。
#include <cstdio>
#include <algorithm>
using namespace std;const int maxn = 55;
int n, m, a[maxn];bool ok(int mid) {int sum = min(mid, m);for (int i = 1; i <= n; i++) {if (a[i] < mid) {sum -= mid - a[i];if (sum < 0)    return 0;}}return 1;
}int main() {scanf("%d %d", &n, &m);for (int i = 1; i <= n; i++)scanf("%d", &a[i]);int l = 0, r = 1e9, ans;while (l <= r) {int mid = (l + r) >> 1;if (ok(mid))    ans = mid, l = mid + 1;else    r = mid - 1;}return !printf("%d\n", ans);
}

转载于:https://www.cnblogs.com/AlphaWA/p/10988366.html

BZOJ1816(二分)相关推荐

  1. bzoj1816 扑克牌 贪心(不用二分QvQ)

    我们发现,拥有的牌的种类越多,对我们越有利. 所以想一想暴力策略,就是选出所有牌堆中最少的那一堆,用Jocker代替,否则取一张,不断进行本操作. 而你发现这样取着取着,就会有很多牌堆里的牌张数一样了 ...

  2. 算法图解/二分查找/简单查找/选择排序/递归算法/快速排序算法/

    大 O 表示法 大 O 表示法在讨论运行时间时,log 指的都是 log2 大 O 表示法指出了算法有多快,让你能够比较操作数,它指出了算法运行时间的增速,而并非以秒为单位的速度. 大 O 表示法指出 ...

  3. 分治算法的设计思想(二分检索、二分归并排序)

    分治策略思想: 将原问题划分或者归结为规模较小的子问题. 递归或迭代求解每一个问题. 将子问题的解综合得到原问题的解. 性质: 子问题与原问题具有相同的性质. 子问题的求解彼此独立. 划分时子问题的规 ...

  4. LeetCode简单题之二分查找

    题目 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1. 示例 1: 输入: n ...

  5. 二分查找模板全面总结

    二分查找 二分法的引入 情形1 1.X的平方根 2.搜索旋转排序数组 情形2 1.第一个错误的版本 2.寻找峰值 3.寻找旋转排序数组中的最小值 情形3 在排序数组中查找第一个和最后一个位置 当遇到查 ...

  6. [C] [二分] C语言实现快速排序

    为了以防万一有人想不开想手撕快排呢?比如我. 通过快排来理解二分思想 什么是快排? 快排的思想不难,理解好递归很重要. 什么是递归? 递归,就是在运行的过程中调用自己. 构成递归需具备的条件: 子问题 ...

  7. Showstopper [POJ3484] [二分] [思维]

    Description 给你n个数列,问哪一个数字在所有的数列中出现了奇数次(最多一个). Sample Input 1 10 1 2 10 11 10 1 1 10 11 10 1 4 4 1 1 ...

  8. BZOJ3166 [Heoi2013]Alo 【可持久化trie树 + 二分 + ST表】

    题目 Welcome to ALO ( Arithmetic and Logistic Online).这是一个VR MMORPG , 如名字所见,到处充满了数学的谜题. 现在你拥有n颗宝石,每颗宝石 ...

  9. usaco The Perfect Stall(二分匹配模板)

    其实二分匹配都是很早之前看的不过又忘了现在再看看比第一次好理解多了. /* ID:jinbo wu TASK:stall4 LANG:C++ */ #include<bits/stdc++.h& ...

最新文章

  1. java8学习:用流收集数据
  2. 用PyTorch实现的李沐《动手学深度学习》,登上GitHub热榜,获得700+星
  3. 正则表达式之python3版
  4. 云栖新品|阿里云IoT发布云芯一体智能视觉解决方案
  5. linux c之STDIN_FILENO的作用及与stdin的区别
  6. numpy genfromtxt 读取字符_numpy组队学习1: 输入输出
  7. HDFView 3.1.2 在WIN10系统安装后打开出现黑框闪退的解决方法
  8. 央视被黑内幕,居然存在暴库及上传漏洞
  9. Git的安装以及常用的命令总结
  10. Git命令集之六——查看仓库状态
  11. 用express搭建网站
  12. 51nod 1277 字符串中的最大值(KMP算法)
  13. Linux常用远程连接工具介绍,总有一款适合你
  14. 文章复现:SRCNN
  15. PDF怎么转图片格式?分享三个不错的方法
  16. 请求报错provisional headers are shown
  17. MATLAB机器人可视化运动仿真
  18. python re模块(正则表达式) sub()函数详解
  19. pycharm连接MySQL数据库
  20. 会员管理有哪些功能呢?

热门文章

  1. 注意了:这4种情况下,员工主动辞职,单位也须支付经济补偿
  2. 小程序毕设作品之微信二手交易小程序毕业设计成品(7)中期检查报告
  3. 怪物猎人OL简单测评与碎碎念
  4. 那些年我们用过的谷歌首页
  5. ChatGPT和一群程序员的对话,甚至出现橙色警报
  6. Spring 事务注解@Transactional使用注意事项
  7. 2w字总结,2022 版正则表达式上岸手册,最新最细致
  8. 索尼爱立信哪款手机java最强,急!!!手机索尼爱立信S500C与三星SGH-E958哪款好?...
  9. 毕业设计-基于网络爬虫的股票分析软件开发
  10. idea 的反撤销快捷键失效解决方案