
其他 二分
文章平均质量分 67
yuhong_liu
这个作者很懒,什么都没留下…
展开
-
D. One-Dimensional Battle Ships-二分答案-Codeforces Round #Pi (Div. 2)
题目有个要注意的地方 就是 每艘船不能接触也就是 你要这样安置船 船_船_船_船_船 显然 如果空间>一直穿的长度,则先塞一直船。 然后用 空间-一只船的长度 / (船+1) 再加上之前的1 即可得到空间放的船数二分要注意 l r的判断,注意二分临界点#include #include #include #include #include #include原创 2015-08-06 20:40:35 · 582 阅读 · 0 评论 -
ZOJ 3778 Talented Chef-二分/规律
http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3778给n个数,每次选m个数减一,求最少步数把所有数清零一种答案直接是max(maxx_ai,sum/m+sum%m);一种思路是二分,枚举ans, 判断条件为mid*m》sum 【下界必须是maxx_ai】二分:#include #incl原创 2016-04-11 13:33:30 · 685 阅读 · 0 评论 -
求第k大连续区间和/第k大子序列和 - 二分+树状数组+前缀和(或主席树+堆)
给你n,再给你n个数,最后给一个k求出这个序列的第k大连续区间和;N(1ai(1K(1思路:预处理前缀和。并将其离散化(去重)。二分答案,然后每次判断中,遍历前缀和Bi,然后查找有多少个jX,也就是有多少个子序列的和是大于X的,即使求有多少个Bj小于【Bi-X】,这部分查询我们可以用树状数组实现,方法类似于树状数组求逆序对。 查询方法简要说一下,原创 2016-03-19 17:32:10 · 3869 阅读 · 0 评论 -
cf#316-codeforces570D - Tree Requests -dfs序+分类再二分+树dp+异或位运算+bitmask(位压缩)
http://codeforces.com/contest/570/problem/D题意:给一棵树n个节点,每个节点有一个字母信息。节点1的深度为1,其他节点的深度 为 到1的距离m次查询,每次查询 给出(v,h) 求以v为根节点的子树的所有节点中 深度在第 h 层 的所有节点 能否构成一个回文串(以任意顺序排列)首先既然是任意顺序构成回文串的话,只要是该字母出现原创 2016-03-27 23:39:05 · 597 阅读 · 0 评论 -
HDU 3629-Convex找凸四边形个数(扫描+二分/two pointers)
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=11713题意:给n个点,无三点共线,求凸四边形个数。对应凸四边形,有着一个 凹四边形,其实凹四边形,就相当于一个三角形,内部包含了一个点,则这样就可以构成一个凹四边形。 内部包含x个点,则x个凹四边形。则题目转化为求有多少个凹四边形,再转为 每个三角形内部有原创 2016-04-08 13:05:23 · 702 阅读 · 0 评论 -
UVA 11529-Strange Tax Calculation-求三角形内点数 /二分/two pointers
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18277平面给 n个点,保证没三点共线如果一个三角形内部有x个点,则贡献x,求所有三角形的贡献。直接数每个三角形内的点不好作,可以反过来,求【每个点被多少个三角形包含】枚举每个点x,以该点为中心,把其余的点按极角序排序,那么对于 点j原创 2016-04-08 13:00:23 · 700 阅读 · 0 评论 -
codeforces#242B-Megacity-二分
http://codeforces.com/problemset/problem/424/B给n,s给n个城市,以及里面人口坐标中心0,0 有s人,现在扩宽以0,0为中心,半径为r 圈一个圈,使得圈内人口大于等于1e6,求最小的r直接二分R,每次判断够不够1e6#include #include #include #include #include原创 2016-03-26 21:59:51 · 624 阅读 · 0 评论 -
cf#ECR10-D. Nested Segments-树状数组+二分
http://codeforces.com/contest/652/problem/D题意,给n个区间(端点保证不重复)输出每个区间包含了多少个区间先存起所有区间的左右端点,并依次对应编号然后把左右端点 分别从小到大排序并开一个树状数组,每个点对应着Yi,初始化值全为1从小到大遍历左端点,对于X1,找到其原始编号id,然后再找出对应的Y然后在原创 2016-03-26 00:09:34 · 437 阅读 · 0 评论 -
cf#345-D - Image Preview-二分
【题意】给出n,a,b,T 有n张照片,拼成一个环。 1与n是连在一起的。每次看照片可以向左或向右滑动。当遇到看过的照片可以跳过【查看时间耗费0秒,移动时间不变】,没看过的不能跳过现在看的照片是照片1,每次看一张【新】照片,需要花1秒概览,然后如果这个照片是水平的,需要旋转,花费b时间,否则直接花0秒看完 也就是每次花pay=b+1或 pay=1。移动到下一原创 2016-03-15 01:06:33 · 472 阅读 · 0 评论 -
cf#305-D. Mike and Feet- 单调栈/ (线段树上二分)
http://codeforces.com/contest/548/problem/D题意:给一个n长度的数组strength 的定义为 当前数组里面 的最小元素 即为 当前数组的strength 求出给出数组的 长度为 i 的子数组(连续) 的最大的strength值 -- i 是【1,n】;思路:一开始想先对元素的值和位置排序,如果当前元素为i原创 2015-10-12 16:27:00 · 597 阅读 · 0 评论 -
POJ-3292-Semi-prime H-numbers-数筛法
http://poj.org/problem?id=3292按素筛法筛出1e6的 H-prime-number再存起来,暴力求出所有Semi-prime H-numbers,存起来每次二分查找即可#include #include #include #include #include #include #include #include #include原创 2016-02-18 13:33:37 · 871 阅读 · 0 评论 -
poj3111- POJ - 3111 K Best (二分 + 01分数规划)
类似http://blog.youkuaiyun.com/viphong/article/details/52635294题意:裸的01分数规划,给定n个物品的价值v和重量w,只能选k个,求最优方案二分得到最优方案,然后输出#include #include #include #include #include #include #include #include #inc原创 2016-09-23 10:58:10 · 424 阅读 · 0 评论 -
POJ 2976- Dropping tests -01分数规划
http://poj.org/problem?id=2976经典01分数规划裸题题意:n门功课,有该门课的得分和总分,求去掉k门课后平均绩点最高可以是多少?根据01分数规划推导结论有:/* * 0-1 分数规划 * t1 * x1 + t2 * x2 + ... + tn * xn * r = ------------------原创 2016-09-23 10:35:19 · 428 阅读 · 0 评论 -
bzoj 2440 -莫比乌斯函数的应用 + 容斥原理
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2440Description小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而这丝毫不影响他对其他数的热爱。 这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一原创 2016-09-06 15:33:46 · 511 阅读 · 0 评论 -
HDU 5726-D-GCD- RMQ+二分
http://acm.hdu.edu.cn/showproblem.php?pid=5726给n个数,m次询问,每个询问【l,r】求【l,r】之间的gcd是多少,并求出整个数组中有多少段的gcd等于该【l,r】的gcd首先用st表预处理RMQ的gcd,然后枚举起点【1-n】i由于gcd一段固定以后具有单调性的对于每个起点,枚举右端点pos,记下i到pos的gcd原创 2016-07-24 12:18:17 · 405 阅读 · 0 评论 -
hdu 4864 Task 贪心+二分/set
题意:有n台机器,m个任务,每台机器有xi,yi,每个任务也有xj,yj,当一个任务可以被处理的条件是,xj<=xi 且 yj贪心的话,如果是遍历任务的话,那么我们希望尽可能做时间和level更高的任务,我们可以先按时间排,时间相同按level,递增排,机器也是按这个排。然后从最大价值的任务开始遍历,对于每一个任务,找到第一个大于等于任务【i】.x的机器,然后显然就是在包括原创 2016-03-21 16:27:35 · 426 阅读 · 0 评论 -
cf#307-C - GukiZ hates Boxes-二分+贪心
题意:一排n个点,每个点有a[i]个box,m个人,每个人可以花1s作两个操作之一,1:i移动到i+1。 2:移掉当前位置一个box要求把所有box移除完需要的最小时间思路:假如我们能用x秒解决,怎样是最优的方案呢?我们先遍历n堆box 对a[i], 我们假设是单独一个人去移掉a[i]个box,需要时间记为S=a[i],则总的需要的时间是 a[i]+i ,移动b原创 2015-10-10 00:32:51 · 521 阅读 · 0 评论 -
hdu-4737-rmq+二分
http://acm.hdu.edu.cn/showproblem.php?pid=4737题意:给数组,问有多少对区间的 或 值的和 由于或值 是递增的,因此,可以预处理rmq,每次枚举起点i,二分#include #include #include #include #include #include #include #include原创 2016-08-05 15:56:50 · 331 阅读 · 0 评论 -
cf#361-C - Mike and Chocolate Thieves-二分
有4个贼,他们共用一个容量为n的背包,他们偷的东西量为等比数列,即a,aq,aq2,aq3,要求aq^3给出 a与q的组合方案恰为m,求出最大的N解法:二分N,对每个N的判断如下: 枚举q,while(q*q*q即当 二分得到的N的方案数==m,则可行,否则说明该方案不存在#include #include #inclu原创 2016-07-24 00:44:30 · 363 阅读 · 0 评论 -
POJ3258-River Hopscotch-二分+贪心【最小值最大化】
给你L,n,mL是一条路总长度n是路上n个石头m是要移走m个石头(第一个和最后一个石头不能移走) 设X为剩下的n-m个石头里,石头之间相邻最近的距离求这个X的最大值二分X,对于每个X,我们贪心,从a[0]开始,把a[i]+x范围内的j个石头都移掉,接下来从i+j+1开始重复移石头。如果最后移动的石头超过了m个,那么说明 这个X太大了答案取【lef原创 2016-02-27 11:15:17 · 629 阅读 · 0 评论 -
UVALive 3635-Pie-二分
给n个面积的蛋糕,要求每个人最后只拿一个等面积的圆蛋糕,问最后每个人能拿到的最大的面积是多少?所有蛋糕都是完整的圆以及 每个人拥有圆形蛋糕的 面积与他人一样 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33697二分 答案X;对于X把所有原有的蛋糕去除X 即可得到原创 2015-11-02 19:23:25 · 501 阅读 · 0 评论 -
UVALive 3971-Assemble- 最小值最大化(二分)
题意:你有b元钱,想要组装一台电脑,给出n个配件各自的种类、品质银子和价格,要求每种类型的配件各买一个,总价格不超过b,且“品质最差配件”的品质因子应该尽量大二分 品质因子 每次在 每个种类配件中 选择大于等于改品质因子X 的最便宜的配件,如果加起来不超过b表示可以,否则要选更小的品质因子代码:ac代码:#include #includ原创 2015-11-02 18:04:01 · 538 阅读 · 0 评论 -
HDU-4430-Yukari's Birthday-暴力+二分
地址:http://acm.hdu.edu.cn/showproblem.php?pid=4430题意:给你一个n 18 ≤ n ≤ 10 12. 你输出r,k,使得 1+k^1+k^2+...+k^r = n或者n+1并且k的范围是k>=2; 从k最小为2可知,r最大不超过40,因为1+ 2^40 接近10^12并且显然公式左边是等比数列,化简得, (k^r-1)/(k-1)原创 2015-10-11 23:30:30 · 484 阅读 · 0 评论 -
UVALive 3177-贪心+二分
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18523题意:n个人围成一圈,第i个人需要tm[i]个不同的礼物,相邻的两个人 不能有同样种类的礼物,第n个人和第一个人是相邻的问最少要多少种礼物 可以满足要求 (每种礼物数量无穷多,可以重复使用)对于n为偶数的情况 只需要 求一个最大的max(tm[i]原创 2015-11-09 11:43:19 · 540 阅读 · 0 评论 -
poj 3273- Monthly Expense(最大值最小化)-二分
题意:把一个包含n个正整数的序列划分成m个连续的子序列。设第i个序列的各数之和为S(i),求所有S(i)的最大值最小是多少?显然答案的范围是【整个数组的最小值,整个数组之和】二分这个范围,对于每次二分得到的X,判断是否合法判断函数就是从左到右 对每个块尽量选够X,最后看 得到的块数,如果超过m,必定 小于等于X的所有数都不合法,那么表示答案在 【L,mid】的范围内内原创 2015-10-21 21:49:49 · 421 阅读 · 0 评论 -
CodeForces 91B-K - Queue 二分
tm数组记录原始数据b数组记录的是 从i到 n里面 最小的一个数对tm[i],如果 b[i+1]都大于等于它,则i位置前面不可能会有比tm[i]小的数,输出-1如果tm[i]>b[i+1]的话,答案必然是在 b 的i+1到 bn 之间, 因为b是有序的,那么就二分查找就好#include#include#include#include#includ原创 2015-08-05 01:32:57 · 719 阅读 · 0 评论 -
C - Task schedule-二分
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=52405有一台机器,并且给你这台机器的工作表,工作表上有n个任务,机器在ti时间执行第i个任务,1秒即可完成1个任务。 有m个询问,每个询问有一个数字q,表示如果在q时间有一个工作表之外的任务请求,请计算何时这个任务才能被执行。 机器总是按照工作表执行,当机原创 2015-07-31 23:10:53 · 465 阅读 · 0 评论 -
Codeforces Round #316 (Div. 2)-D. Tree Requests-DFS+二分+hash
dfs求出每个点的深度,并用in、out数组记录该点 管辖的节点范围(in[x]和out[x]之间的数都是x节点所管辖的内容)从而实现 以深度 为主要因素,以 字母类型为次要因素 把所有节点的内容分类记录在cal[depth][27]数组里 (hash思想)对于每次查询 ,x,h 先判断 depth[x]是否大于等于h 若大于,则yes若小于,则 在cal[h]的【1-27】里遍历,寻原创 2015-08-15 16:32:21 · 501 阅读 · 0 评论 -
cf#336-C - Chain Reaction-二分
http://codeforces.com/contest/608/problem/C //ans【i】,表示 以第i灯作为最后一个灯,保存下来的灯数, 计算ans[i]方法就是 xx=tm[i].l-tm[i].r //表示第i个灯最左的杀伤范围,二分找到第一个小于这个杀伤范围的灯B,ans[i]= ans【B灯】+1; 有点类似DP的递推计算出n个ans值,复杂原创 2016-01-07 23:04:26 · 714 阅读 · 0 评论 -
cf#334-B - More Cowbell-二分
http://codeforces.com/contest/604/problem/B题意:给n个东西,每个的大小为a[i], 要求要用k个盒子装下所有东西, 每个盒子至多装2个东西,盒子装下东西的前提是。东西的大小之和不超过盒子的大小。k个盒子的大小一致求一个最小的盒子size。使得满足题目条件:k个min——size的盒子装下n个东西。二分盒子的size,下界 a[n原创 2016-02-07 00:11:58 · 507 阅读 · 0 评论 -
cf#341-C. Wet Shark and Flowers-数学-概率计算
。。。。求的是 期望嘛。。。range[i]=R[i]-L[i]+1总共会进行计算的情况有 range[1]*range[2]*....range[k]....我们设【l,r】之间,p的倍数的个数为tm[i], 那么每一对 i,i+1他们每场 赢钱的 概率是 pi=【tm[i]*range[i+1]+tm[i+1]*range[i]-tm[i]*tm[i+1] 】 / (r原创 2016-02-01 01:31:29 · 585 阅读 · 0 评论 -
LA-4513 - Stammering Aliens-(hash字符串+二分答案+hash排序) 找出子串出现次数
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=28&problem=2514&mosmsg=Submission+received+with+ID+1809543题意:给一个m给一个字符串 (最大长度40000)找出字符串中重原创 2015-10-05 18:09:51 · 1387 阅读 · 0 评论 -
cf#211-D. Renting Bikes-二分
http://codeforces.com/problemset/problem/363/D题意:n个人,每个人b[i]块钱m辆车,每辆车租金p[i]块钱A,共用资金共用资金可以给任何人租单车,但是个人的钱只能给自己用每个人最多买一辆单车,假设最多能买R辆车,求出R在买R辆车的前提下,尽可能少用个人的钱,输出这个最少的个人花费S煞笔贪心了一发。。原创 2016-03-07 00:57:25 · 398 阅读 · 0 评论 -
POJ-1845-Sumdiv 等比数列求和/数学/(二分法/逆元法/变换取模法)
题意:输入a,b,求a^b的所有因子之和http://poj.org/problem?id=1845分解a的质因数a=p1^t1*p2^t1........每个质因数对sum的贡献: 当除去质因数p1时的因数和为sum,当计入p1时,因子和变成sum*p1^0+sum*p1^1+sum*p1^2......+sum*p1^t1也就是所有的sum=【1+p1+p1^2原创 2016-02-19 23:42:08 · 1164 阅读 · 0 评论 -
cf#276-B - Maximum Value - (数学+暴力)/(二分)
http://codeforces.com/contest/484/problem/B给n个数,求n个数里 ai%(aj)的最大值 ,要求ai>=aj一开始没什么好的想法枚举aj,每次去找 最接近 k*aj的存在的数(k>=2)怎么找的话有两种方法一是直接把数组a排序,每次二分找最接近k*aj的数复杂度应该是nlgnlgn如果预处理一个vis数组v原创 2016-03-29 14:37:44 · 498 阅读 · 0 评论 -
8VC Venture Cup 2016 -E - Simple Skewness- 二分+数学
http://codeforces.com/contest/626/problem/E题意: 给你n个数,让你选一个非空子集,使得子集中所有数的平均数减去 中位数 这个值最大。排序后,枚举每一个数位中位数,对于第i个数作为中位数的情况,我们要使得平均数尽可能大,就是在i的左右对称选x个数,显然越大越好,左边选的是靠近i,右边选的是靠近n。 如何在logn内选出这个X:原创 2016-02-17 00:05:02 · 592 阅读 · 2 评论 -
8VC Venture Cup 2016 -C - Block Towers-二分
C - Block Towers//题意:/*给你n,m,表示n个学生用高度2的砖堆砌,m个学生用高度为3的钻要求所有学生堆砌得到的墙高都必须是独一无二的。其实 n个学生里有人堆出高度 2*3(三块砖),则n个里面的其他人不可以堆2*3而m个学生里,也不能有高度 3*2 (两块砖) 求一种方案,使得所有人高度不一样,且最高的高度max_high最小,输出这个max_hi原创 2016-02-16 16:26:00 · 533 阅读 · 0 评论 -
cf#ecr7-A. Infinite Sequence-暴力/二分-数学
http://codeforces.com/contest/622/problem/A给无限序列 1 12 123 1 2 3 4 1 2 3 4 5 。。。找出第n个数是什么。。。poj有道加强版的。。这个直接就是找到最接近n的那个 k*(k+1)/2即可。。n=1e14. cf服务器比较6直接暴力就可以了。。int main(){ __int64 n原创 2016-02-14 14:48:05 · 546 阅读 · 0 评论 -
POJ 2773 二分 +容斥原理
http://bak.vjudge.net/problem/10260/origin给m k求与m互质的第k个数 (1 。k比较大,对于一个数n,1到n以内和m互质的数可以通过容斥原理很快算出来,并且随n递增因此二分k就好了#include#include#include#include#include#includeusing name原创 2016-10-05 16:41:25 · 296 阅读 · 0 评论