
codeforces
moyangxian
MoYang
展开
-
20排位赛3
20排位赛3ABCDEFGA题意:略题记:略#include<bits/stdc++.h>using namespace std;const int N=110;int a[N];int main(){ cin>>a[0]>>a[1]>>a[2]; sort(a,a+3); cout<<max(0,a[2]-a[1]-a[0]+1)<<endl; return 0;}B题意:原创 2021-03-19 01:59:40 · 259 阅读 · 0 评论 -
CodeForces - 1324D Pair of Topics(二分或双指针)
题意:略题记:做法一:二分#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+10;int a[N],b[N],c[N];int main(){ int n; cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++)原创 2021-03-10 19:43:14 · 174 阅读 · 0 评论 -
Gym - 102219J Kitchen Plates(暴力或拓扑序列)
题意:略题记:做法一:拓扑排序。五个盘子相当于一个有五个点的有向图,A<B相当于A有一条边指向B。那么建图后做一遍基于BFS的拓扑排序即可。时间复杂度O(V+E)#include<bits/stdc++.h>using namespace std;const int N=10;int head[N],tot;int s[N];vector<int>ans;struct Edge{ int to,next;}e[N];void init(){原创 2021-03-09 11:40:56 · 210 阅读 · 0 评论 -
CodeForces - 1392C Omkar and Waterslide(思维)
题意:每次可以选一个区间去加一,最后形成一个非递减序列题记:其实每一个数都只跟它前一个数有关。分成两种情况。时间复杂度当前这个数比前一个数小:答案需要加上前一个数与当前数的差值。当前这个数比前一个大或等于:不需做任何操作。#include<iostream>#include<cstdio>using namespace std;typedef long long ll;const int N=2e5+10;int main(){ int T; c原创 2020-09-04 17:28:44 · 254 阅读 · 0 评论 -
Codeforces round #666 (Div.2)
Codeforces round #666 Div.2A. Juggling Letters(签到题)B. Power Sequence(枚举)CDEA. Juggling Letters(签到题)题意:可以随意更换每个字符串中的字母,问能否使所有字符串相同。题记:求每个字母的个数余n是否都为0即可。#include<iostream>#include<queue>#include<cmath>#include<cstring>using na原创 2020-08-31 16:24:44 · 188 阅读 · 0 评论 -
Gym - 102388FShopping(dp)
题意:有n种硬币,求能组成m块钱的不同组合数。题记:dp[i][j]表示前i种硬币组成j块钱的组合个数。当a[i]>j时,dp[i][j]=dp[i-1][j]当a[i]<=j时,dp[i][j]=dp[i-1][j]+dp[i][j-a[j]]最后还能把数组优化到一维。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=110,M=1e4+10;const ll原创 2020-08-26 15:38:08 · 193 阅读 · 0 评论 -
Gym - 102388G Snails(水题)
题意:每天向前进a米,向后退b米,求多少天能到达n米。题记:按照题目模拟即可。#include<bits/stdc++.h>using namespace std;const int N = 1010;int main(){ int T; cin>>T; while(T--){ int n,a,b; cin>>n>>a>>b; if(a<=b&&am原创 2020-08-26 15:29:47 · 157 阅读 · 0 评论 -
CodeForces - 1260B Obtain Two Zeroes(思维)
题意:将a和b进行操作,问是否能将a和b都变成0.题记:当a和b的不为3的倍数,或者a * 2 < b, 或者b * 2 < a ,就不行,否则就可以。#include<bits/stdc++.h>using namespace std;const int N = 1010;int main(){ int T; cin>>T; while(T--){ int a,b; cin>>a>&原创 2020-08-24 14:04:08 · 169 阅读 · 0 评论 -
CodeForces - 862B Mahmoud and Ehab and the bipartiteness(dfs)
题意:给出一个二分图,求不形成环的情况下还能连接多少条边。题记:将二分图染色分为两部分,奇数和偶数。奇数的点数量为a,偶数的点数量为b。那么这个二分图总共可以连接ab条边。题目已经连了n-1条边,所有还可以连ab-(n-1)=a*b-n+1。#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<map>#include<que原创 2020-08-22 13:42:12 · 195 阅读 · 0 评论 -
Codeforces Round #654 (Div. 2)
Codeforces Round #654 Div. 2A. Magical Sticks(找规律)B. Magical Calendar(找规律)C. A Cookie for You(思维)D. Grid-00100(构造)E1E2FA. Magical Sticks(找规律)题意:给你1到n总共n个数,任意两个数都可以组合起来(相加成为一个新的数),问最多能组合多少相同的数。题记:如果n是奇数,那么可以把所有数组成n,一共有(n+1)/2个。如果n是偶数,把n减1当成奇数处理即可。#inc原创 2020-07-02 17:59:56 · 325 阅读 · 0 评论 -
Codeforces Round #648(Div.2)
Codeforces Round #648 Div.2A. Matrix Game(签到)B. Trouble Sort(签到)C. Rotation Matching(思维)D. Solve The Maze(BFS)E. Maximum Subsequence Value(思维)FGA. Matrix Game(签到)题意:给出n*m的网格,只有当前格子的一整行和一整列都为0时,这个格子才能被翻成1。最后没有格子翻的人则输掉。求谁赢。题记:可以放的棋子取所有空行和空列中的最小值,棋子数量余是奇数则原创 2020-06-09 15:38:41 · 302 阅读 · 0 评论 -
Codeforces Round #645(Div.2)
Codeforces Round #645 Div.2A. Park Lighting(签到)B. Maria Breaks the Self-isolation(~~阅读理解~~)C. Celex Update(找规律)D. The Best Vacation(二分)E(待补)F(待补)A. Park Lighting(签到)题意:每盏路灯可以照亮两个格子,求照亮全部格子最少需要多少盏路灯。题记:将所有格子的数量除以二向上取整即可。#include<bits/stdc++.h>us原创 2020-05-27 15:27:24 · 160 阅读 · 0 评论 -
Codeforces Round #644(Div.3)
Codeforces Round #644Div.3A. Minimal Square(签到)B. Honest Coach(排序)C. Similar Pairs(思维)D. Buying Shovels(约数)E. Polygon(思维)F. Spy-string(枚举)G. A/B Matrix(构造)H(待补)A. Minimal Square(签到)题意:给你两个a*b的矩形,求能包含这两个矩形的最小正方形。两个矩形要平行于正方形。题记:想要正方形面积最小,肯定是让长的那条边重合,形成一个(原创 2020-05-25 22:52:36 · 215 阅读 · 0 评论 -
Gym 102263 ArabellaCPC 2019
Gym 102263 ArabellaCPC 2019A Is It Easy ?(签到)B Road to Arabella(博弈论)C Check The Text(模拟)D Meeting Bahosain(思维)EFG Card GameH Steaks(思维)I Bashar and HamadaJ Thanos Power(dp)KLM Two Operations(模拟)A Is It Easy ?(签到)题意:略题记:略#include<bits/stdc++.h>u原创 2020-05-15 15:04:07 · 744 阅读 · 2 评论 -
Educational Codeforces Round 86(Rated for Div.2)
Educational Codeforces Round 86Rated for Div.2A. Road To Zero(签到)B. Binary Period(字符串)C. Yet Another Counting Problem(思维)D. Multiple Testcases(贪心)EFA. Road To Zero(签到)题意:有两种操作。a:使x或y加一或减一(需要花费a元)b:使x和y加一或减一(需要花费b元)求最少多少钱能使x和y都等于0。题记:先判断一下用两次a操作的费用会不会原创 2020-05-08 21:55:43 · 267 阅读 · 0 评论 -
gym - 102174
gym - 102174A 两只脑斧(签到)B 炼金术(待补)C 赛尔逵传说(贪心)DE 只有一端开口的瓶子(模拟栈)F 风王之瞳(思维)GH 目标是成为数论大师(数论)IJK 多项式求导(签到)A 两只脑斧(签到)题记:记录一下每个数字是吸还是吹,然后遍历字符输出相应字母即可。#include<iostream>#include<cstring>using na...原创 2020-05-05 18:31:13 · 741 阅读 · 0 评论 -
Gym - 102348(待补)
Gym - 102348A Yellow Cards(贪心)B Interesting Vertices(DFS)CD Ticket Game(博弈)EF The Number of Products(递推)G Swap Letters(思维)HIJKA Yellow Cards(贪心)题意:裁判有n张卡,a队的每个人需要k1张卡才能罚下场,b队需要k2张卡才能罚下场。求罚下场的最少和最多的人...原创 2020-05-05 10:20:29 · 370 阅读 · 0 评论 -
Gym-101982(2018 ICPC Pacific Northwest Regional Contest)
2018 ICPC Pacific Northwest Regional ContestABCDEFGHIJKLMA题意:两个人各选择了n个答案(T或F),第二个人的答案有k个是对的,找出第一个人答案正确的最大数量。题记:分为两种情况,两个人选的答案相同,那么第二个人正确则第一个人也正确。两个人选的答案不同,第二个人答案错误第一个人则正确。#include<bits/stdc++.h...原创 2020-04-27 15:05:08 · 569 阅读 · 0 评论 -
Gym-102215K Deck Sorting
题意:在字符串中抽出一个子序列,然后和剩下的序列拼在一起,使得相同的字符是连续的。题记:要使三个字符连续只有6种情况{‘R’,‘G’,‘B’},{‘R’,‘B’,‘G’},{‘G’,‘R’,‘B’},{‘G’,‘B’,‘R’},{‘B’,‘G’,‘R’},{‘B’,‘R’,‘G’}这样我们可以先选全部第一个字符放进第一个序列中,全部第三个字符放进第二个序列中,然后把第二个字符放在第一个序...原创 2020-04-24 21:52:48 · 393 阅读 · 1 评论 -
Gym-102215C
题意:一个从0到p-1的圈,第一次走一步,第二次都两步,第三次走三步,以此类推。求走n次之后走过了多少个点。题记:每次迭代2p次一定会循环,所以循环到2*p就可以了。#include<iostream>using namespace std;typedef long long ll;const int N=2e7+5;ll p,n,cnt;int vis[N];int...原创 2020-04-24 20:55:47 · 354 阅读 · 0 评论 -
Gym-102215B
题意:每次移动一列,使所有’#'相连。题记:直接模拟即可。#include<iostream>using namespace std;int main(){ string s1,s2; cin>>s1>>s2; int len=s1.size(); int a=0,b=0,c=0; for(int i=0;i&...原创 2020-04-24 20:27:41 · 229 阅读 · 0 评论 -
Gym-102215E
题意:给出n个区间,选出最少个数的区间使区间能包括1-m。题记:先按每个区间的左端点排序,每次选一个左端点不超过已选区间的右端点(+1)且右端点最远的区间。(可能会有点绕…)这是其中一个样例:4 81 52 73 46 8YES21 4我们开始选第一个区间[1,5],然后我们要在后面的区间里选一个左端点不超过5+1且右端点尽可能远的区间,第二、三、四个区间的左端点都没有超过5...原创 2020-04-24 16:42:28 · 202 阅读 · 0 评论 -
Gym-102215A
题意:每个房间都有一个序号a[i],当a[i]>0时需要通行证,当a[i]<0时不需要通行证,但是经过之后这个序号的通行证失效。求在每个房间往后走最多能走几个房间。ans[i]表示在第i的房间往后走最多能走几个房间。b[i]表示这个数需要通行证的最新位置。题记:从后往前遍历,最理想的情况是每次都能走ans[i+1]+1步,但是当a[i]为负数时,那么只能走到|a[i]|的房间,所...原创 2020-04-24 16:33:03 · 271 阅读 · 0 评论 -
Gym-102409F
题意:把字符串中的符号化为ASCII码。输出所有子集的ASCII码的和。题记:每个子集对应一个二进制,直接判断求和即可。最后排序。#include<bits/stdc++.h>using namespace std;char str[25];int main(){ int n; while(cin>>n){ cin>&g...原创 2020-04-24 13:19:37 · 171 阅读 · 0 评论 -
Gym-102411M
题意:在数组中选三个数a[i],a[j],a[k]。使aj−ai=ak−aj。求有多少组这样的数。题记:首先枚举第二个数,然后枚举第三个数,答案加上map中a[i]*2-a[j]的个数即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=2010;unordered_m...原创 2020-04-24 13:14:55 · 269 阅读 · 0 评论 -
Gym-102397G
题意:找到数组中a[i]+a[j]=k的对数(同一个数可以被用多次),求两个数组中哪个对数多。题记:输入时用map记录下当前数值的个数,并且加上map中k-a[i]的值的个数。最后判断输出结果即可。#include<iostream>#include<map>using namespace std;const int N=1e5+10;int a[N],b[N]...原创 2020-04-24 13:10:11 · 160 阅读 · 0 评论 -
Gym-102397H
题意:相同的数分为同一个集合,求所有集合的子集数量。每个集合的子集数量都是2n-1。题记:用map记录下每个集合数的个数,然后遍历map求除子集数量,最后相加即可。#include<bits/stdc++.h>using namespace std;const int N=1e5+10,mod=1e9+7;int a[N];int solve(int x){ i...原创 2020-04-24 13:00:57 · 192 阅读 · 0 评论 -
Codeforces Round #634 (Div.3)
Codeforces Round #634 Div.3ABCDEFA题意:给两姐妹分糖,需要Alice的糖比Betty的糖多,问有多少种分法(所有糖必须分完)。题记:两种情况,糖的数量少于3时没有一种分法符合条件,糖大于三的情况直接输出(n-1)/2即可。#include<iostream>using namespace std;int main(){ int ...原创 2020-04-14 22:38:40 · 343 阅读 · 0 评论 -
Educational Codeforces Round 85 (Rated for Div. 2)
Educational Codeforces Round 85 Rated for Div. 2ABCDEFA题意:给n组数,每组数包含一个游戏数量和完成数量。每组按照时间给出,判断给出的顺序是否合理。题记:游戏数和完成数只能增加不能减少,且完成数增加游戏数必定会增加,完成数要小于等于游戏数。想到这些点之后直接模拟即可。#include<iostream>#include&l...原创 2020-04-14 14:18:04 · 203 阅读 · 0 评论 -
Codeforces Round #632 (Div. 2)
Codeforces Round #632 Div. 2ABCDEFA题意:B表示至少有一个相邻白格子的黑格子,W表示至少有一个黑格子相邻的白格子。要使得B=W+1。题记:简单构造,只要第一个为白格子,其他都为黑格子,就可以满足题目条件了。(因为题目表示n和m是大于2的)#include<bits/stdc++.h>using namespace std;const in...原创 2020-04-09 17:30:02 · 225 阅读 · 0 评论 -
Codeforces Round #630 (Div. 2)
Codeforces Round #630 Div. 2ABCDEFA题意:给定一个范围(x1,y1),(x2,y2)、猫的初始位置(x,y)、猫走的方向和步数a:左,b:右,c:下,d:上,判断猫走完之后能否在这个范围内。题记:判断初始位置到边界的距离是否小于向这个边界走的步数即可,最后要特判一下初始位置和边界重复的情况。#include<bits/stdc++.h>us...原创 2020-04-01 15:27:52 · 1143 阅读 · 0 评论 -
Codeforces Round #605 (Div.3)
Codeforces Round #605 Div.3ABCDEFA题意:给出三个人的位置,每个人可以走一步,使每两个人之间的距离相加最小。题记:找出三个人的坐标的最大值和最小值,让最大值减去最小值减2再乘2即是答案,如果答案小于0则输出0。#include<bits/stdc++.h>using namespace std;int main(){ int t;...原创 2020-03-27 13:09:52 · 241 阅读 · 0 评论 -
Codeforces Round #611 (Div. 3)
Codeforces Round #611 Div. 3ABCDEFA题记:水题。#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ int h,m; cin>>h>>m;...原创 2020-03-21 13:30:14 · 148 阅读 · 0 评论 -
Codeforces Round #627 (Div. 3)
Codeforces Round #627 Div. 3ABCDEF题目链接:https://codeforces.com/contest/1324A#include<bits/stdc++.h>using namespace std;const int N=1e5+5;int main(){ int t; cin>>t; while(t...原创 2020-03-16 16:05:53 · 116 阅读 · 0 评论 -
codeforces 1217 A.Creating a Character
题目链接:https://codeforces.com/problemset/problem/1217/A题记:注意d和ans要防止负数的出现即可。#include<bits/stdc++.h>using namespace std;const int N=1e5+5;int main(){ int t; cin>>t; while(t-...原创 2020-03-16 15:33:13 · 170 阅读 · 0 评论 -
Codeforces Round #615(div.3)
Codeforces Round #615 div.3ABCDEFA题记:首先判断四个数相加能否被三整除,然后判断a,b,c当中有没有大于平均数。满足条件输出YES,否则输出NO。#include<bits/stdc++.h>using namespace std;const int N=1e4+5;typedef long long ll; int main(){ ...原创 2020-03-09 22:47:33 · 129 阅读 · 0 评论 -
Codeforces Round #617(Div.3)
Codeforces Round #617Div.3ABCDA题解:只需看数组里是否有奇数即可,如果全是奇数或就加起来判断是否是奇数。#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ int x,n,s=0;...原创 2020-03-03 15:39:38 · 89 阅读 · 0 评论 -
Codefroces Round #624(Div.3)
Codefroces Round #624 Div.3ABCA题记:无论是两个什么数,最多两步。把情况模拟出来即可。#include<bits/stdc++.h>using namespace std; int main(){ int t; cin>>t; int a,b; while(t--){ cin>...原创 2020-02-25 17:22:30 · 115 阅读 · 0 评论 -
Codeforces Round #618(Div.2)
Codeforces Round #618 Div2A. Non-zeroB. Assigning to ClassesC. Anu Has a Functionhttps://codeforces.com/contest/1300只做了前三题…太弱了,第二第三题我的代码太丑了,就放了大佬的代码A. Non-zeroGuy-Manuel and Thomas have an array a...原创 2020-02-10 15:03:23 · 177 阅读 · 0 评论 -
codeforces835b The number on the board
Some natural number was written on the board. Its sum of digits was not less than k. But you were distracted a bit, and someone changed this number to n, replacing some digits with others. It’s known ...原创 2020-01-17 16:28:50 · 177 阅读 · 0 评论