随笔分类 - acm / 二分
摘要:GCD + st表 + 二分 Problem - 1632D - Codeforces 题意 给出一个长度为 的数组 , 可以修改任何一个位置的数为任何一个正整数,对于任意一段区间 $[l,r];(1<=l<=r<=n
阅读全文
摘要:三分 or 分类讨论 [D-Walker_第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)(重现赛)@hzy0227 (nowcoder.com)](https://codeforces.com/gym/103202/problem/I) 题意 有 10000 组测试数据 每组给出
阅读全文
摘要:D - String Deletion 贪心、链表 要想操作次数最大,设当前已经删到了第 i 个字符,那第一步操作就要找到 i 后面第一个有连续0/1的串,删掉其中一个 找到 i 后面第一个有连续0/1的串:将这些可以被删去的位置记录到 set 里,二分找到 i 后面第一个,找到了就删去 删去元素后
阅读全文
摘要:D - Pond 二分 + 前缀和 求一个子矩阵中元素的中位数,可二分中位数,check 过程中将矩阵变为 01 矩阵,若小于 mid 则为 1,用二维前缀和求出有多少元素小于 mid 复杂度 注意二分求中位数的细节 若有 个数,则中位数为
阅读全文
摘要:C - 1D Sokoban 二分 + 找性质 可分正负的箱子分别讨论 本题的关键是发现一个重要的性质:因为推箱子这个过程会让被推到的箱子成为连续的一段,若想让在特殊位置的箱子最多,则这一段的终点一定要在特殊位置上(起点也可以, 这里的一定不是说不在特殊位置就取不到最优,而是在特殊位置上的某些情况一
阅读全文
摘要:D - Toss a Coin to Your Graph... 二分 + 判环 + DAGDP 最大值最小化可以想到二分答案 check过程为只给小于等于答案的点之间连边,虽然 k 很大,但如果存在环则一定可以,不存在环就求当前图的最长路,如果最长路 ⇐ k - 1 则可以 判环和求最长路都可用拓
阅读全文
摘要:POJ - 3579 Median 二分套二分 Median - POJ 3579 - Virtual Judge (vjudge.net) 对数轴上的点排序后,可枚举左端点,固定左端点后,区间长度关于右端点是单调递增的,因此可以二分 二分答案 check 返回有多少区间小于当前的二分值,求有多少区
阅读全文
摘要:POJ - 3685 Matrix 二分套二分 Matrix - POJ 3685 - Virtual Judge (vjudge.net) 关于 单调递增,关于 单调递减 要找第 \(m\
阅读全文
摘要:C - Water the Trees 二分 因为奇数天 +1, 偶数天 +2,所以找到最大的 记为 maxn,最后的高度只能在 maxn, maxn + 1 中,因为如果答案为 maxn + 2,则可以去掉一些操作,使最大高度为 maxn 二分答案即可 #include <ios
阅读全文
摘要:C - Set or Decrease 一定是先对最小的元素使用 -1 操作 再从大到小把元素变为最小值 这样一定是最少操作将序列和减到 k 一下 操作数 = 操作 1 的个数 + 操作 2 的个数,操作 1 可能有很多次,操作 2 是将较大的元素变为最小值,所以可能是 [0, n - 1] 次,所
阅读全文