codeforces训练
文章平均质量分 63
the_xin
这个作者很懒,什么都没留下…
展开
-
(Training 26)Educational Codeforces Round 94
A. String Similarity一个二进制字符串 构造一个长度为n的字符串使得长度原串为n的子串能在该构造出来的字符串中满足相同位置的字符相等思路:这里取字符串的第奇数个 必然满足条件#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;char str[N];int main(){ int T ; cin&原创 2021-02-10 18:55:16 · 177 阅读 · 1 评论 -
(Training 25)Educational Codeforces Round 93
A. Bad Triangle题意:输出一个不能组成三角形的3个数思路:直接考虑1 2 n即可#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e6+10;int a[N];bool check(int x,int y,int z){ if((x+y<=z))return 1; return 0;}int main()原创 2021-02-04 16:49:05 · 83 阅读 · 0 评论 -
(Training 23)Educational Codeforces Round 95
A. Buying Torches题意:起初有一个木棒 然后有2个操作将一个木棒换成x个木棒将y个木棒换成1个木炭一个火把需要一个木棒和一个火把问k个火把需要进行最少操作思路:首先一共需要多少木棒 y*k+k然后得到这么多木棒的最少操作次数 最后就是k次将木棒换成木炭的次数 计算出即可#include<iostream>#include<cstring>#include<algorithm>using namespace std;const i原创 2021-01-31 16:54:26 · 106 阅读 · 0 评论 -
(Training 22)Educational Codeforces Round 103
A. K-divisible Sum题意:给你一个长度为n的数组 问使得数组的和被k整除时问a中最大元素最小是多少思路:当n<=k时 取(n+k-1)/k 向上取整当n>k时必然可以取2(必然可以使得n的和是k的倍数)但是当n时k的倍数时取1即可(当时我sb了)#include<iostream>#include<cstring>#include<algorithm>#include<set>using namespace s原创 2021-01-30 15:12:04 · 112 阅读 · 0 评论 -
(Training 21)Codeforces Round #681
A. Kids Seating思路:非常easy的构造 从后往前即可#include<iostream>#include<cstring>#include<algorithm>#include<map>using namespace std;int main(){ int T; cin>>T; while(T--){ int n; cin>>n; for(int i=4*n,cnt=1;cnt<=n原创 2021-01-26 01:00:26 · 95 阅读 · 0 评论 -
(Training 20)Codeforces Round #682
A. Kids Seating比较easy的构造从后往前一直-2即可#include<iostream>#include<cstring>#include<algorithm>#include<map>using namespace std;const int N=1e3+10;int a[N][N];int dx[4]={0,-1,0};int dy[4]={-1,0,1};int main(){ int T; cin>&g原创 2021-01-26 00:44:34 · 91 阅读 · 0 评论 -
(Training 19)Codeforces Round #683
A. Add Candies每次操作都会多增加1非常简单的构造 如果一个位置一直不选择的话m次构造会增加1+2+3+…+m (1+m)*(m)/2只在第k次操作对i使用 那么这时候增加(1+m)*(m)/2-k因此我们发现操作n次从1到n会使得全部相等#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;int main原创 2021-01-25 01:20:59 · 98 阅读 · 0 评论 -
(Training 18)Codeforces Round #684
A. Buy the String思路:改为0 改为1 和一个都不改时输出最小即可#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=2e5+10;typedef long long LL;char str[1010];int main(){ int T; cin>>T; while(T--){ int n,c0原创 2021-01-23 00:07:14 · 134 阅读 · 0 评论 -
(Training 17)Educational Codeforces Round 98
A. Robot Program沿着对角线走完以后再把 最后把多出来的次数-1加上#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;int main(){ int T; cin>>T; while(T--){ int x,y; cin>>x>>y; int ans=abs原创 2021-01-22 23:41:43 · 132 阅读 · 1 评论 -
(Training 16)Codeforces Round #687
A. Prison Break题意:给出地图大小n*m 和点 (x,y)问地图上距离该点最远的点是多少思路:4个角落必然最远 取最大即可#include<iostream>#include<cstring>#include<vector>#include<algorithm>using namespace std;int main(){ int T; cin>>T; while(T--){ int n,m,x,y; c原创 2021-01-21 19:59:18 · 121 阅读 · 1 评论 -
(Training 15)Codeforces Round #688
A. Cancel the Trains思路:相撞的时候会在对角线相撞 那么统计对角线即可#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;bool st[N];int main(){ int T; cin>>T; while(T--){ memset(st,0,sizeof st); int n原创 2021-01-21 19:27:09 · 99 阅读 · 1 评论 -
(Training 13)Codeforces Round #689
A. String Generation因为是小等于 那么我们干脆使得他没有回文直接abcabcabc这样子#include<iostream>#include<cstring>#include<algorithm>using namespace std;char s[4];int main(){ s[1]='a'; s[2]='b'; s[3]='c'; int T; scanf("%d",&T); while(T--){ int原创 2021-01-20 12:01:34 · 71 阅读 · 0 评论 -
(Training 12)Codeforces Round #696
A. Puzzle From the Future思路:要使得值最大 那么数应该在前面出现的越多越好并且长度不缩减低所以我们首先把第一个位置作为1 用pre标记1出现最近的位置从前往后推所以输出1有3种情况如果前一个数大于我而且我输出的位置刚好为前一个 那么输出1如果前一个数小于我 那么输出1如果前一个数等于我 那么输出1反之输出0#include<iostream>#include<cstring>#include<algorithm>using原创 2021-01-20 11:23:07 · 121 阅读 · 0 评论 -
(Training 11)Codeforces Round #691
A. Red-Blue Shuffle只要看谁大的数量多即可#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e6+10;int a[N],b[N];int main(){ int T; scanf("%d",&T); while(T--){ int n; scanf("%d",&n); string原创 2021-01-19 02:29:23 · 145 阅读 · 0 评论 -
(Training 8)Codeforces Round #692
和arc差不多一样 签到题很友好A - In-game Chat就是判断右边开始连续括号的数量#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;char str[N];int main(){ int T; cin>>T; while(T--){ int n; cin>>n; c原创 2021-01-17 17:46:13 · 135 阅读 · 2 评论 -
(Training 6)Codeforces Round #694
A. Strange Partition题意:给出大小为n一个数组a ,能进行多次操作 将ai+aj合并合并后数组减短 得到数组b 给出一个x 问最大是多少思路:这里是用的向上取整 很好想如果全部合在一起那么最多是sum/x+1而如果全部拆开是那么可能是sum/x+n这里我们直接枚举即可 记得开longlong#include<iostream>#include<cstring>#include<algorithm>using namespace std;c原创 2021-01-15 23:51:12 · 85 阅读 · 0 评论 -
(Training 4)Codeforces Round #695
寒假vp的第一场cf 这场好像也有点难度A. Wizard of Orz题意:只能按下一次停止 按下后会开始往左右两边开始逐渐开始停止 问在某个位置按下后 所能得到的值最大是多少思路:一个简单的构造 首先我们应该知道应该时让首位为9是最好的 那么我们可以看 如果按下首位的话 那么第二位为0 再看按下第二位 那么要使得首位为9 在第二为为8时按下 这时候首位9 第3位也为9 这时候如果从第3为按下则第3为为7 前2位为9 8 所以从第二位为8时按下应该是最大值#include<iostream&原创 2021-01-15 13:29:53 · 141 阅读 · 0 评论 -
(Training 3)Educational Codeforces Round 102
能力不够只写了前4题 第四题在赛后10来分钟才调出来 又又又要掉分了A. Replacing Elements题意: 你可以做任意次操作 操作方法为选择 ai aj 使得 ak=ai+ak问你能不能 使得数组全部小于d思路:从前往后递推即可 只需要找出 是否存在2个数相加小于等于d 或者所有值都小于等于d#include<iostream>#include<cstring>#include<queue>#include<algorithm>u原创 2021-01-15 12:40:36 · 159 阅读 · 0 评论 -
(Training 2)goodbye 2020
A. Bovine Dilemma题意:任意2点距离的种数思路:暴力枚举即可#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;int a[N];bool vis[N];int main(){ int T; scanf("%d",&T); while(T--){ memset(vis,0,sizeof原创 2020-12-31 17:25:38 · 254 阅读 · 0 评论 -
(Training 1) Educational Codeforces Round 101
A. Regular Bracket Sequence题意:给你一段字符串 只有’(’ 、’)’、 ‘?’ ‘?‘能变成’(’ 或’)’只存在一个’(‘和一个’)’ 能否完成括号匹配那么只需要判断s[0]和s[s.size()]即可 比赛时没有看懂题目#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;int a[N],原创 2020-12-29 18:05:49 · 242 阅读 · 1 评论