随笔分类 - 算法—二分答案
摘要:Attack's Fond Of LeTri 题意: n个房子m条路径边的无向图,每个房子可以最终容纳b个人,初始有a个人,中途超过可以超过b个人,每条边有一个长度,经过一条边的时间花费为边的长度。求所有人都进入房子的最小时间。如果不能容纳所有人,输出最少多少人无法进入房子。 分析: 注意图不一定联
阅读全文
摘要:4552: [Tjoi2016&Heoi2016]排序 链接 分析: 因为只询问一次,所以考虑二分这个数。显然是没有单调性的,但是我们可以二分所有大于等于mid的数中,是否有满足条件的x(而不是之间判断mid是否满足条件)。 那么将大于等于mid的数设为1,小于mid的数设为0,此时对区间排序就变得
阅读全文
摘要:5308: [Zjoi2018]胖 链接 分析: 题目转化为一个点可以更新多少个点,一个点可以更新的点一定是一个区间,考虑二分左右端点确定这个区间。 设当前点是x,向右二分一个点y,如果x可以更新到y,那么在x~y之间的所有关键点(存在宫殿往这边的点)到y的距离小于x到y的距离,以及y~2*y-x之
阅读全文
摘要:zxa and leaf 链接 题意: 给树上所有点赋一个权值,一条边的权值是两个端点的权值差,使最大的边的权值最小。其中k个叶子节点已经赋值。 分析: 二分一个答案mid,然后dp一遍,求每个点的取值范围。 代码:
阅读全文
摘要:2653: middle 链接 分析: 二分答案+主席树。 对于中位数的经典做法,就是二分一个数,将小于的变成-1,大于等于的变成+1,那么如果sum>=0(因为+1包括等于),L=mid+1,否则R=mid-1。 那么考虑二分一个中位数(当然只二分出现过的数即可),然后向上面一样判断。 因为二分的
阅读全文
摘要:3110: [Zjoi2013]K大数查询 https://lydsy.com/JudgeOnline/problem.php?id=3110 分析: 整体二分+线段树。 两种操作:区间加入一个数,区间询问第k大值。 如果只有一种操作,我们可以二分答案x,然后把大于x的都加入到线段树中去(区间[l,
阅读全文
摘要:#2585. 「APIO2018」新家 https://loj.ac/problem/2585 分析: 线段树+二分。 首先看怎样数颜色,正常的时候,离线扫一遍右端点,每次只记录最右边的点,然后查询左端点,这里不太行。这里只需要统计是否全出现过,pre[i]为这个颜色的上一个位置,那么这也就说明了p
阅读全文
摘要:4709: [Jsoi2011]柠檬 https://www.lydsy.com/JudgeOnline/problem.php?id=4709 分析: 决策单调性+栈+二分。 首先挖掘性质:每个段选的数必须是起点或者终点,起点和终点的数必须是一样的。否则可以去掉起点或者终点的一个数,答案不会变差。
阅读全文
摘要:1563: [NOI2009]诗人小G https://lydsy.com/JudgeOnline/problem.php?id=1563 分析: 直接转移f[i]=f[j]+cost(i,j),cost(i,j)=(sum[i]-sum[j])p 然后有决策单调性,就可以二分+队列了。注意两个字符
阅读全文
摘要:Different GCD Subarray Query http://acm.hdu.edu.cn/showproblem.php?pid=5869 分析: st表+gcd+二分+树状数组。 调的心累。 从一个点为右端点,往左扩展,gcd是单调下降的。而且下降次数不超过log次。于是可以用st表预
阅读全文
摘要:D. Divisors http://codeforces.com/contest/1033/problem/D 题意: 给n个(n<=500)个数,($a_i <= 2 \times 10 ^ {18}$),每个数的因数个数在[3,5]内。$a = \prod\limits_{i=1}^na_i$
阅读全文
摘要:1926: [Sdoi2010]粟粟的书架 https://www.lydsy.com/JudgeOnline/problem.php?id=1926 分析: 二分 前缀和 主席树。 分成两问做,第一问预处理一个前缀和val[i][j][k],矩阵左上角(1,1),右下角(i,j),大于等于k的和,
阅读全文
摘要:P3527 [POI2011]MET-Meteors 链接 整体二分! 代码
阅读全文
摘要:P2617 Dynamic Rankings 链接 分析: 整体二分! 代码
阅读全文
摘要:P2680 运输计划 链接 分析: 二分+树上差分。 首先可以二分一个答案,那么所有比这个答案大的路径,都需要减去些东西才可以满足这个答案。 那么减去的这条边一定在所有的路径的交集上。 那么如果求快速的求出这个交集并判断呢,树剖可以,把所有大于的路径都标记一下,然后判断,复杂度太大了。 于是用到了树
阅读全文
摘要:P2619 [国家集训队2]Tree I 链接 分析: 为了确定白边选入的数量,所以给白边加一个权值,二分这个值,然后最小生成树。可以发现白边的数量虽这个值的增大而减小,满足单调性。 有一个问题:如果在二分过程中给白边加上mid,白边数比need多,加mid+1,白边数need少。即存在很多相等的白
阅读全文
摘要:#1142 : 三分·三分求极值 #1142 : 三分·三分求极值 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 这一次我们就简单一点了,题目在此: 在直角坐标系中有一条抛物线y=ax^2+bx+c和一个点P(x,y),求点P到抛物线的最短距离d。 提示:三分法 输入
阅读全文
摘要:Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15067 Accepted: 5263 Description In a certain course, you take n tests. If y
阅读全文
摘要:P3402 最长公共子序列 P3402 最长公共子序列 P3402 最长公共子序列 题目背景 DJL为了避免成为一只咸鱼,来找Johann学习怎么求最长公共子序列。 题目描述 经过长时间的摸索和练习,DJL终于学会了怎么求LCS。Johann感觉DJL孺子可教,就给他布置了一个课后作业: 给定两个长
阅读全文
摘要:A. Office Keys time limit per test: 2 seconds memory limit per test: 256 megabytes input standard: input output standard: output A. Office Keys time l
阅读全文

浙公网安备 33010602011771号