随笔分类 - 二分
摘要:[题目链接] https://codeforces.com/contest/460/problem/C [算法] 二分 + 贪心 要求最小值最大 , 我们不妨二分最小值 , 若一盆花的高度小于二分的值 , 则将这盆花起的w盆花的高度都加一 , 具体实现时可以使用前缀和 + 差分 时间复杂度 : O(
阅读全文
摘要:[题目链接] https://codeforces.com/contest/957/problem/C [算法] 二分 注意精度问题 时间复杂度 :O(NlogN) [代码]
阅读全文
摘要:[题目链接] https://loj.ac/problem/539 [算法] 首先 , 我们用f[u][k]表示现在在景点u ,还有k元钱 , 最多能够走多少路 不难发现f[u][k] = max{ f[v][k - P[u]] + Dist(u,v,min(C,ci)) } ( dist(u,v,
阅读全文
摘要:[比赛链接] https://codeforces.com/contest/1029 [比赛经历] 本想靠DIV3上点分,没想到时差没有倒过来,最后三题收场,第二天SYSTEM TEST的时候D题还被卡常了,最后只加了1rating,算是一场比较失败的比赛吧 [题解] A. Many Equal S
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1660 [算法] Sprease Table + 二分 时间复杂度 : O(NlogN) [代码]
阅读全文
摘要:[题目链接] http://codeforces.com/contest/992/problem/E [算法] 线段树 + 二分 时间复杂度 : O(NlogN^2) [代码]
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4326 [算法] 首先,此题的答案是具有单调性的,因此可以二分答案mid 检验答案时,我们判断每条路径的长度是否大于mid,若大于mid,则说明至少要将这条路径上的一条边变为“虫洞” 因
阅读全文
摘要:[题目链接] http://uoj.ac/problem/148 [算法] 二分答案,时间复杂度O(NlogL) [代码]
阅读全文
摘要:[题目链接] http://poj.org/problem?id=2349 [算法] 首先,我们发现答案是具有单调性的,所以我们可以二分答案 检验时,我们将所有距离小于二分值的点连边,然后判断联通块数量是否小于等于S即可 [代码]
阅读全文
摘要:[题目链接] https://www.luogu.org/problemnew/show/P1084 [算法] 细心观察发现 : 此题的答案具有单调性,也就是说,如果p小时能控制疫情,那么q小时也能控制疫情(q > p),因此我们可以二分答案,这是此题的突破口 问题就转化为了检验”Mid小时是否可以
阅读全文
摘要:[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1082 [算法] 首先二分“最多得到的符合条件的木板数”,检验时可以使用DFS,但是,我们需要进行一下两点剪枝 1. 如果当前木板的长度等于后一块木板的长度,那么下一次搜索只需从这一次进
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=2182 【算法】 树状数组 + 二分 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=2976 【算法】 0/1分数规划 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=3974 【算法】 解法1 : 字符串哈希 我们可以分别考虑奇回文子串和偶回文子串,从前往后扫描字符串,然后二分答案,检验可以用哈希 时间复杂度 : O(TNlog(N)) 解法2 Manacher算法 这个算法可以在O(n)时间内求
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=3179 【算法】 首先,我们发现答案是具有单调性的,也就是说,如果边长为C的正方形可以,那么比边长C大的正方形也可以,因此,可以二分答案 那么,我们怎么检验呢? 每个点的坐标最大时达到10000,因此,直接二维前缀和显然是会超时的
阅读全文
摘要:【题目链接】 https://www.lydsy.com/JudgeOnline/problem.php?id=1271 【算法】 二分 【代码】
阅读全文
摘要:【题目链接】 http://poj.org/problem?id=2018 【算法】 二分平均值 检验时将每个数减去二分的值,求长度至少为L的子序列和的最大值,判断是否大于0 【代码】
阅读全文
摘要:【题目链接】 点击打开链接 【算法】 设Ti为第i小时有多少个出纳员开始工作,Vi表示第i小时有多少个来应聘的出纳员 那么,有 : 1. 0 <= Ti <= Vi 2. Ti + Ti-1 + Ti-2 + Ti-3 + Ti-4 + Ti-5 + Ti-6 + Ti-7 >= Ri 令Si =
阅读全文
摘要:【题目链接】 点击打开链接 Problem A group 我们发现,如果存在三个人互相不认识的情况,则输出“no”,否则输出“yes” 【代码】 Problem B flyer Part A : 部分分算法 1.1 对于30%的数据,Max(Ci)≤10000,N≤1000,那么,暴力模拟即可 1
阅读全文
摘要:【Problem A】 Square 【题意】 给一个n * n的01矩阵,要求一个最大的全1正方形子矩阵,输出它的面积 N <= 1000 【题解】 朴素的做法是先求二维前缀和,然后暴力找最大的正方形子矩阵,时间复杂度 : O(n^3) 期望得分 : 80 考虑优化,我们发现如果有边长为n的正方形
阅读全文

浙公网安备 33010602011771号