
二分答案
璇玑你没有心
这个作者很懒,什么都没留下…
展开
-
D. New Year Concert(cf)gcd性质 + st表 + 二分
原题链接:Problem - 1632D - Codeforces 晚上复习的时候再补全~ #include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f typedef pair<int, int> PII; const double pi = acos(-1.0); #define rep(i, n) for (int i = 1; i <= (n); ++i) #define rrep(i, n原创 2022-04-03 20:28:46 · 663 阅读 · 0 评论 -
B. Integers Have Friends(cf)二分 + st表
原题链接:Problem - 1548B - Codeforces 解决RMQ(区间最值)问题的算法。 总结的来说求rmq问题有多种方法:线段树,ST表等 线段树预处理O(nlogn),查询O(logn),支持在线修改 ST表预处理O(nlogn),查询O(1),但不支持在线修改 先用st表预处理,然后再使用二分求出最大的区间长度,每次查询一个区间的时候用st表十分方便。 我的二分在这里wa了很多发,注意如果n == 2的时候这个二分是进不了while循环的,所以我单独拿出来处理了;然后这个二分还.原创 2022-03-30 16:13:26 · 308 阅读 · 0 评论 -
C. Vasya and String(cf)前缀和 + 二分答案
原题链接:Problem - 676C - Codeforces 题目大意:给你一串字符串,只包含a和b两个小写字母。子串的长度是n,然后给了你一个数k,这是你能改变字母的最大个数,然后求改变后能获得的最大连续子串长度是多少。 思路: 1.这个题可以用二分来做,二分最大长度,然后每次判断在这个最大长度之下连续子串能不能由改变至多k个字母获得; 2.这里可以用到前缀和做预处理,把a出现的地方看成1,b看成0,那么选定了一个最大子串长度x,就顺序查找每一个这样长度子串中,把所有字母变成a或b能不能在k原创 2022-03-04 00:07:49 · 234 阅读 · 0 评论