搜索——二分查找
文章平均质量分 77
XDU_Skyline
Everything is over, everything is just beginning.
展开
-
例题1.16 长城守卫 UVa1335
1.题目描述:点击打开链接2.解题思路:本题是一道思维题。这种题一般需要先自己在演草纸上多尝试几种情况,并总结出一般的规律解决。尝试后,可以发现,如果n为偶数时,那么结果就是max{r[i]+r[i+1]}(规定r[n+1]=r[1])。如果n为奇数时,上述方法不再奏效。这个时候需要利用二分查找,假设共有p种礼物,设第一个人的礼物是1~r[1]。不难发现最优解的策略一定是这样的:如果i为偶数,原创 2015-03-14 21:53:03 · 900 阅读 · 0 评论 -
例题5.22 比赛网络 UVa11865
1.题目描述:点击打开链接2.解题思路:本题利用二分+最小树形图解决。根据题意显然应该用二分法,假设当前带宽为x,那么问题转化为:能否用带宽大于等于x的网线搭建起来网络?根据题意描述可知,这个网络是一个有向带权图,如果可以从根到达所有结点的话,那么其中一定存在最小树形图,我们可以用朱刘算法求解出这个最小树形图的权值之和,即最终需要的费用,如果这个费用小于等于给定的cost,那么说明有解,否则无原创 2015-10-05 21:11:33 · 691 阅读 · 0 评论 -
POJ 3662 Telephone Lines
1.题目描述:点击打开链接2.解题思路:本题利用二分法+Dijkstra算法解决。根据题意,可以枚举所需费用为x,接下来用Dijkstra算法求出在费用为x时候的最短路。不过这个时候的路径长度并不是实际路径长度,当路径长度>x时候,当做1,否则当做0,这样,d[n-1]实际是大于x的最少的路径数目。如果这个数目大于k,那么无解,否则有解。3.代码:#include#include#原创 2015-10-03 20:00:19 · 605 阅读 · 0 评论 -
2015 NEERC F. Gourmet and Banquet
1.题目描述:点击打开链接2.解题思路:本题利用二分法解决。根据题意,可以发现需要对区间的右端点排序即可。接下来就是二分时间x,那么怎么判断是否合法呢?首先用一个全局变量cnt表示第几次标记(好处是不需要每次都清空数组了),接下来对这段区间中不是cnt的点进行标记,用cur来统计标记的次数,如果最后cur3.代码:#include#include#include#include原创 2015-10-18 00:51:16 · 713 阅读 · 2 评论 -
习题10-21 二项式系数 UVa1649
1.题目描述:点击打开链接2.解题思路:本题利用枚举+二分解决。问题的关键是选对枚举对象,因为要找C(n,k)=m,如果枚举n的话,一旦m非常大,枚举n就会十分困难。因此枚举对象应为k。根据组合数的性质易知,C(n,n/2)时是最大值,C(n,1)是最小值。由于固定的是k,因此n=2*k时是最小的范围,n=m是最大的范围,这样,即可通过二分法来寻找n。本题有一个技巧,即在计算组合数时候,不原创 2015-05-01 23:28:09 · 1129 阅读 · 0 评论 -
习题4-10 洪水! UVa815
1.题目描述:点击打开链接2.解题思路:本题给了一个m*n的矩形区域,每个格子的高度不一,长和宽均为10米,输入每个格子的高度和这个网格中洪水的总体积,输出洪水的高度和多少格子被淹没了。可以利用二分搜索解决:把洪水看成一个底面面积为100的长方体,计算出这个长方体的高,然后二分查找洪水的高度即可。3.代码:#define _CRT_SECURE_NO_WARNINGS #includ原创 2015-03-24 16:38:58 · 1062 阅读 · 0 评论 -
例题1.13 派 UVa12097
1.题目描述:点击打开链接2.解题思路:本题还是利用二分搜索解决,设函数ok(x)表示是否可以让每个人分到一块面积为x的派,然后进行二分搜索即可。3.代码:#define _CRT_SECURE_NO_WARNINGS #include#include#include#include#include#include#include#include#include#i原创 2015-03-13 19:29:35 · 591 阅读 · 0 评论 -
例题1.12 组装电脑 UVa12124
1.题目描述:点击打开链接2.解题思路:本题要求最小值最大化,一般方法是利用二分查找解决,即每次都枚举一个品质因子x,删除所有品质因子小于x的配件,如果可以组装出一台不超过b元的电脑,那么ans≥b,否则ans本题需要防止TLE,在判断的时候进行适当的优化,比如设置一个cheapest变量表示最便宜的价格,初始为b+1,若枚举完该类型的所有配件后还是b+1,说明无法组装;另外可以在每次累加原创 2015-03-13 16:33:27 · 739 阅读 · 0 评论 -
例题1.21 子序列 UVa1121
1.题目描述:点击打开链接2.解题思路:本题是典型的二分搜索题,二分答案后验证是否满足和大于等于S即可。3.代码:#define _CRT_SECURE_NO_WARNINGS #include#include#include#include#include#include#include#include#include#include#include#incl原创 2015-03-15 17:13:45 · 744 阅读 · 0 评论 -
习题10-4 素数间隔 UVa1644
1.题目描述:点击打开链接2.解题思路:根据题意可知最大的素数在int范围内,可以先算出1299709以内的所有素数,随后二分查找n附近的素数的位置即可。3.代码:#define _CRT_SECURE_NO_WARNINGS #include#include#include#include#include#include#include#include#includ原创 2015-02-26 23:25:15 · 963 阅读 · 0 评论 -
HDU 5439 Aggregated Counting (2015年长春赛区网络赛C题)
1.题目描述:点击打开链接2.解题思路:本题利用打表+二分查找。仔细观察后会发现如下规律:(1):序列中,相同元素的个数构成的序列仍然是原序列;(2):如果我们按照个数来分类,可以写成下面的形式:个数 元素1 12 2, 33 4, 54 6, 7, 85 9, 10, 116原创 2015-09-16 22:37:01 · 607 阅读 · 0 评论