
二分查找
文章平均质量分 64
小胡子Haso
~~
展开
-
【POJ 3258】 River Hopscotch (二分)
【POJ 3258】 River Hopscotch一窝牛要过河 河宽l 河中有n个许多石块 每个对应与牛所在的岸边有个距离 现在想要去掉m个石块后最小距离最大 问怎么去二分最小值最大化代码如下:#include #include #include using namespace std;int p[50002];int n,m;bool can(int原创 2015-08-23 20:14:13 · 962 阅读 · 0 评论 -
【HDU 5878】I Count Two Three(预处理+二分)
【HDU 5878】I Count Two Three(预处理+二分)题目大意: 定义”I Count Two Three Number”为:2a3b5c7d2^a3^b5^c7^d问≥n \ge n的最小的”I Count Two Three Number”打个表可以发现这种数不多,dfs预存下来所有的2a3b5c7d2^a3^b5^c7^d对于每个n二分出答案即可。代码如下:#include原创 2016-09-19 16:53:18 · 760 阅读 · 0 评论 -
【51nod】 第K大区间2(二分+树状数组)
【51nod】 第K大区间2(二分+树状数组)第K大区间2﹡ LH (命题人)基准时间限制:1.5 秒 空间限制:131072 KB 分值: 160定义一个长度为奇数的区间的值为其所包含的的元素的中位数。中位数_百度百科 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少。原创 2016-05-21 12:45:33 · 3881 阅读 · 0 评论 -
【CF 675D】 Tree Construction(离线二分+左右指针)
【CF 675D】 Tree Construction(离线二分+左右指针)D. Tree Constructiontime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputsta原创 2016-05-17 18:03:31 · 3154 阅读 · 0 评论 -
【HDU 1839】 Delay Constrained Maximum Capacity Path(二分+最短路)
【HDU 1839】 Delay Constrained Maximum Capacity Path(二分+最短路)Delay Constrained Maximum Capacity PathTime Limit: 10000/10000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tota原创 2015-11-29 11:00:34 · 1641 阅读 · 1 评论 -
【HDOJ 4768】 Flyer (等差数列+二分)
【HDOJ 4768】 Flyer (等差数列+二分)FlyerTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2022 Accepted Submission(s): 743Problem原创 2015-09-07 13:22:38 · 1678 阅读 · 0 评论 -
【POJ 1019】 Number Sequence
【POJ 1019】 Number Sequence二分水题 放组合数学里。。。可能有什么正规姿势吧Orz112123123412345...这种串 分成长度1 2 3 4 5...的串 注意有多位数把长度累加到一个数组里 注意要累加 因为查询的时候查的是原串中对应位置的数 因此要累加上前一次的长度 然后二分处该串前的总长 用查询的位置-之前串的总长 就是在最长的串中的原创 2015-08-19 15:39:45 · 855 阅读 · 0 评论 -
【FZUOJ 2178】礼物分配 (折半查找+二分)
【FZUOJ 2178】礼物分配 找在分配数目差不超过1的情况下 |sumv-sumw|的最小值 一般思路是找出所有情况然后做差 很明显2^30会超 会想到类似哈希的思路 分半 先找前一半物品分配给两人的所有方案 然后在后一半找满足分配完两人的数目差不超1的所有方案 用后一半找前一半匹配中|sumv-sumw|的最小值 所有最小值中最小值即为答案 用后一半找前一半匹配时可用二分代码如下:#in原创 2015-09-03 17:59:31 · 1314 阅读 · 0 评论 -
【CF 460C】Present
【CF 460C】Present二分+贪心 二分最矮高度的最大值 每二分一个遍历看是否可达 可达low = mid+1不可达high = mid-1 可达的判断用贪心即可 改点长度不足时 在改点设置浇水点 同是在i+w设置断水 之后每个点都继承前一个点的浇水量 到i+w时减少i处浇的水即可代码如下:#include <iostream>#include <cstdio>#include <cst原创 2015-08-16 21:13:20 · 1440 阅读 · 0 评论 -
【POJ 3903】Stock Exchange
【POJ 3903】Stock Exchange写了发暴力LIS超时了 才知道原来还有二分LIS…………孤陋寡闻了。。。原理很简单 LIS的dp数组必定是递增的 所以暴力的时候改的也只是>x的第一个dp点 所以二分找到这个点改一下就行。。。弱了TOT代码如下:#include <iostream>#include <cstdio>using namespace std;int dp[100001]原创 2015-08-17 11:10:27 · 1528 阅读 · 0 评论 -
【POJ 3122】 Pie (二分+贪心)
【POJ 3122】 Pie分f个派给n+1(n个朋友和自己)个人 要求每个人分同样面积 但不能分到超过一个派 即最多把一整个派给某个人 问能平均分的最大面积二分平均面积 下界0 上界最大的一份派的面积 判断条件从大派开始分(保证尽量满足)如果能分出n+1份 这种分法就合适 下界上移 最后输出下界即可 注意二分判断上下界用esp 否则超时从大到小分派是一种贪心策略 太小的派可以扔掉 但原创 2015-08-24 09:15:49 · 1208 阅读 · 0 评论 -
【POJ 1905】 Expanding Rods (二分)
【POJ 1905】 Expanding Rods公式+二分题意是一根棍 恰好夹在两面墙之间 在n温度下膨胀成(1+n*c)*l长度 问此时中的距原中点距离膨胀后变成一段弧 也就是圆的一部分 原来的棍子就变成了圆的截线。。。这不是高中很常见的图么。。。不会在电脑作图。。大家手画一下就知道了这样做几条辅助线 从圆心做截线的垂线延长到弧 设棍子原长L 膨胀后(弧)长s 膨胀后中点与原创 2015-08-23 23:54:46 · 1264 阅读 · 0 评论 -
【POJ 3273】 Monthly Expense (二分)
【POJ 3273】 Monthly Expense (二分)一个农民有块地 他列了个计划表 每天要花多少钱管理 但他想用m个月来管理 就想把这个计划表分割成m个月来完成 想知道每个月最少花费多少 每个月的花费是这个月的花费加和 必须按计划表的顺序来所有天中花费中最大花费作为下界 所有花费加和作为上界 二分上下界间的花费可能 找出最少每月花费即可代码如下:#include原创 2015-08-23 18:52:09 · 965 阅读 · 0 评论 -
【HDU 5884】Sort(哈夫曼+优先队列)
【HDU 5884】Sort(哈夫曼+优先队列)题目大意: n个点,合并成1个点,每次合并不超过k个点,合并的花费是合并点的价值和,合并之后生成的点的价值也是合并点的价值和。问在满足花费 <= T的条件下,最小的k二分很好想到。考虑什么情况下能每次k个合并恰好合并完。 即为n+x*(k-1) == 1 n-1 == x*(k-1) (n-1)%(k-1) == 0的情况其余情况会出现(n-1原创 2016-09-19 19:39:49 · 941 阅读 · 0 评论