![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Codeforces
岚羽.
夜阑卧听风吹雨,铁马冰河入梦来。
展开
-
Codeforces 1046C. Space Formula(类似并查集实现类似链表的删除操作)
题目:传送门 代码: #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <string> #include <vector> #include <map&g...原创 2020-02-06 10:34:46 · 86 阅读 · 0 评论 -
Codeforces 1060C.Maximum Subrectangle(数学等式转换+前缀和+枚举长度)
等式转换: 代码: #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <string> #include <vector> #include <unorde...原创 2020-02-16 23:05:59 · 57 阅读 · 0 评论 -
SCAU OJ17892屠龙宝刀,点击就送(莫队算法)
题目:网页上有n个数字ai(0 <=a [i] <= 10000),在一定时间后,主办方会公布两个数字l,r(1 <= l <= r <= n),龙傲天需要做如下计算: sum=1a[l]+2a[l+1]+……+(r-l+1)*a[r],sum就是龙傲天需要点击的次数 龙傲天已经用他的特殊能力预测出l,r可能是哪些数字了,现在他想计算出,对于一组l和r,龙傲天需要点击...原创 2021-01-30 09:54:06 · 130 阅读 · 0 评论 -
Codeforces 1218F.Workout plan(优先队列+贪心)
题目:传送门 题意:给一个n个元素的数组a,以及初始拥有值k,还有一个可增益A,另一个数组b,第i个表示在第i个增益A所需的成本,求使得数组a中所有元素均小于等于k的最小成本。 解题思路:按顺序遍历,用一个小优先队列存放前i个价格,当当前的k小于a[i] 时,出队累加和,知道k大于等于a[i],若所有都出完仍不能满足,则令ans= -1。 代码: #include <iostream>...原创 2021-01-30 09:57:59 · 148 阅读 · 0 评论 -
UVA 10131 Is Bigger Smarter?(最长上升子序列+dfs输出对应位置)
题目:传送门 代码: #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <string> #include <vector> #include <map&g...原创 2021-01-30 10:00:37 · 89 阅读 · 0 评论 -
Codeforces 1077D. Cutting Out(排序+二分)
题目:传送门 题意:给一个长度为n的数组,找能复制最多次长度为k的数组,使得复制多次后的数组接近与给定数组。 解题思路:易知,长度为k的数组内的所有元素均来自于给定数组。能复制多次,那一定与给定数组中元素的个数有关,尝试枚举给定数组最多能被复制的次数,符合二分性质,令所枚举次数为mid,则若给定数组不能被复制mid次,则找更小的。令某个元素的个数为cnt个,则最多能被复制mid/cnt次。 代码:...原创 2021-01-30 10:01:43 · 118 阅读 · 0 评论 -
Codeforces 1196D.RGB Substring(暴力+滑动窗口)
题目:传送门 题目大意:给定一个长度为n且只含R、G、B的字符串,以及所需“RGBRGBRGB …”的子串长度k,输出改变输入字符串中的字符的最小数量。 解题思路:所需子串长度为k,则所有的子串可能为输入字符串中下标为0-k-1,1-k,… ,i-k+i 。即保持k的长度从输入字符串的开始至i=n-k,即以一个长为k的“窗口”移动,所以可用“滑动窗口”的方法解。注意“RGBRGBRGB …”有“R...原创 2020-08-31 21:48:08 · 168 阅读 · 0 评论 -
Codeforces 1295 D. Same GCDs(欧拉函数的应用)
题目:传送门 题目大意:gcd(a,m)=gcd(a+x,m),给定a,m,问x的个数是多少。 解题思路:令d=gcd(a,m),则gcd((a+x)/d,m/d)=1,为了更容易看出点东西,令t1=(a+x)/d,t2=m/d,则gcd(t1,t2)=gcd(t2,t1%t2)=1。又(t1%t2)<t2,即求小于t2且与t2互质的个数有多少个。显然是用欧拉函数求解。 代码: #inclu...原创 2020-05-08 18:31:11 · 175 阅读 · 0 评论