
基本算法——二分
文章平均质量分 76
普通网友
这个作者很懒,什么都没留下…
展开
-
cf 468B Two Sets | dfs、二分搜索
题意:思路:AC代码:原创 2014-09-22 18:20:58 · 547 阅读 · 0 评论 -
codeforces 483b Friends and Presents 二分
题意:让你找出cot1个数,原创 2014-10-25 16:09:25 · 541 阅读 · 0 评论 -
*lightoj 1138 Trailing Zeroes (III) | 二分+数学
这题问了杰神才知道怎么做。根据原创 2014-08-31 12:28:02 · 568 阅读 · 0 评论 -
POJ 2976 Dropping tests 01分数规划 入门
题意:有n个物品,每个物品有ai,bi两个属性。让你从n个里面,剔除k个,使得剩下的n-k个物品的100*sum(a[i])/sum(b[i])最大。思路:比较基础的01分数规划。假设answer为最终结果,answer >= 100*sum(a[i]*x[i])/sum(b[i]*x[i]),则有100*sum(a[i]*x[i]) - answer*sum(b[i]*x[i原创 2014-12-17 21:35:50 · 682 阅读 · 0 评论 -
codeforces 496d Tennis Game 二分
题意:两人进行比赛,每局赢t分即可获得本局胜利,赢满s局即获得本场比赛胜利。现在不知道s,t。给出了两人每局的结果,让你输出s,t的方案数,以及具体方案。思路:枚举t,然后二分去判断是否具有合法的s。二分判断,找到赢了第一局的人以及位置,然后从下一个位置找出赢第二局的人以及位置。一直到最后。复杂度:O(nlogn) = n/1 + n/2 + n/3 + n/4 +……+n原创 2014-12-21 10:53:06 · 539 阅读 · 0 评论 -
codeforces 489e Hiking dp+01分数规划+二分
题意:一个人在起点0,有n个休息点,每个点有两个数值,分别表示距离起点的距离xi,以及所获得的愉悦值bi这个人打算每天走L距离,但实际情况不允许他这么做。定义总体失望值val = sum(sqrt(Ri - L)) / sum(bi); Ri:一天所走的距离。i为所到的节点。现在要使得val最小(这个人必须要到达最终的节点),让你找出相应的方案,即把所应走的休息点输出。原创 2014-12-13 23:09:49 · 1199 阅读 · 0 评论 -
POJ 2503 Babelfish 二分
题意:字典。从题中所给的映射中。给出key,然后找出对应的字符串,找不到则输出“eh”。思路:这题我是用二分做的,本来我是来学习哈希,还是二分来的比较简单= =从小到大排序,然后对于每个询问,二分查找。复杂度O(nlogn)。code:#include #include #include #include #include #include us原创 2015-02-06 22:09:42 · 523 阅读 · 0 评论 -
codeforces 514d R2D2 and Droid Army (RMQ+二分)
题意:有n*m的矩阵,然后你有k发子弹。现在你可以朝着任意列发射子弹,每一发子弹都会使该列上的数值-1,最小减少到0。现在问你连续最长的行数,在k发子弹内,使得这些行上的数值全部为0.思路:看了别人代码,其实RMQ不是必要的,开m个双端队列也可以。因此每次要问一段范围内的最大值都是按顺序下去的,队列可以解决。二分长度len,枚举n行是否存在这样的i~i+len-1,所需原创 2015-02-16 16:10:24 · 560 阅读 · 0 评论 -
codeforces 551E GukiZ and GukiZiana 分块
题意:给你一个数列,有两种操作,第一种操作将l~r区间加上val,第二种操作是询问整个序列,是否存在val,若存在,则找出相差最远的两个val下标的差值。没有则输出-1。思路:分块。刚原创 2015-06-17 16:48:04 · 744 阅读 · 5 评论 -
UVALive 4513 Stammering Aliens (hash+二分 or 后缀数组)
大白书上的一道例题,后缀数组的模板题吧,今天想练练hash,结果就wa+Tle了一脸。还真没见过不卡自然取模,而卡自行取模的题,今天算是见到了。。取了好几个x,还是发生了碰撞?!题意:让你根据所给字符串,找出至少出现m次的最长字符串,输出最长的长度和起始位置的最大值。思路:字符串hash+二分。(等学会了后缀数组再来套下模板)二分len,然后判断长度是否合法。判原创 2015-05-22 20:54:41 · 554 阅读 · 1 评论 -
codeforces 553D Nudist Beach 二分+bfs
題意:給你n个点,然后让你选出一些点,使得每个点的比率最小值尽量大,让你输出你所选的点。其中有m个点是不能选的。k条无向边,连接着点与点,保证只有一个连通块)。点x的比率= (点x的邻居,且在你所选的点集内)/(点x的所有邻居)。思路:二分、bfs二分比率(0~1).首先,我们假设所有可以选入的点都已经选进来,计算每个点的ratio,对于ratio 然后bf原创 2015-06-26 19:54:31 · 1424 阅读 · 0 评论 -
*codeforces 460C Present
新技能get!题意:原创 2014-09-03 20:54:12 · 588 阅读 · 0 评论 -
lightoj 1137 Expanding Rods | 二分+几何
题意:一根棍子,受热后长度会改变。原创 2014-08-31 13:24:10 · 165 阅读 · 0 评论 -
lightoj 1235 Coin Change (IV) | 二分+折半枚举
跟lightoj 1127一样,用到了折半枚举。题意:思路:原创 2014-08-31 12:47:57 · 744 阅读 · 0 评论 -
lightoj 1056 Olympics | 二分
这题被坑怕了。。。精度要求很高,不过别人都是用二分做原创 2014-08-31 10:04:55 · 608 阅读 · 0 评论 -
lightoj 1072 Calm Down | 二分
题意:思路:AC代码:原创 2014-08-31 10:31:01 · 587 阅读 · 0 评论 -
LightOJ 1048 Conquering Keokradong | 二分
题意:有n+1个数,让你原创 2014-08-31 09:48:57 · 693 阅读 · 0 评论 -
lightoj 1072 Calm Down | 二分
与lightoj 1048 基本一样。原创 2014-08-31 10:32:46 · 492 阅读 · 0 评论 -
Lightoj 1043 Triangle Partitioning | 二分
题意:给出两个多边形的面积比例,让你求出一条边的长度。思路:二分AD的原创 2014-08-31 02:03:30 · 437 阅读 · 0 评论 -
lightoj 1062 Crossed Ladders | 二分
题意:思路:AC代码:原创 2014-08-31 10:14:13 · 516 阅读 · 0 评论 -
lightoj 1127 Funny Knapsack | 二分+折半枚举
折半枚举这个概念在watashi所翻译的书上有介绍过。原创 2014-08-31 11:01:14 · 906 阅读 · 0 评论 -
lightoj 1137 Expanding Rods | 二分+几何
题意:一根棍子,受热后长度会改变。L' = (1+n*C)*L问你受热后棍子的中点距离地面的高度h为多少。思路:推公式,L' = p*r ——p为弧度r = (L/2)/sin(p/2) 两式联立,二分p即可。AC代码:[cpp] view plaincopy#include原创 2014-08-31 13:25:52 · 808 阅读 · 0 评论 -
lightoj 1307 Counting Triangles | 二分/暴力
题意:给你N条边,原创 2014-08-31 12:59:49 · 796 阅读 · 0 评论 -
lighoj 1088 Points in Segments | 二分
题意:给你n个数,q个段。问你有原创 2014-08-31 10:42:26 · 461 阅读 · 0 评论 -
codeforces 488D Strip 线段树+dp+二分
题意:给你n个数,把这n个数分了几块(piece),问你最后分得的最少块数。要求:1.每块长度>=L 2.每块的最大最小值的差值不得大于s思路:很容易想到了用dp,但O(n^2)明显会超时。查询区间最大最小值,自然想到线段树。因此。可以这样来实现:定义dp[i]:前i个数,分割的最小块数。转移:dp[i] = min(dp[j]+1);(i-j>=l)建两颗线段原创 2014-12-12 16:25:30 · 735 阅读 · 0 评论