随笔分类 - Codeforces之路
摘要:B. Turtle Math: Fast Three Task 数学 #include<bits/stdc++.h> #define int long long using namespace std; const int N=1e5+10; int a[N]; void solve(){ int
阅读全文
摘要:A. Brick Wall #include<bits/stdc++.h> using namespace std; void solve(){ int n,m; cin>>n>>m; int ans=n*(m/2); cout<<ans<<"\n"; } int main(){ ios::sync
阅读全文
摘要:A. Make it White #include<bits/stdc++.h> using namespace std; void solve(){ int a,b,n; string s; cin>>n>>s; for(int i=0;i<n;i++){ if(s[i]=='B'){ a=i;
阅读全文
摘要:B. Equalize 与数组的原始顺序无关,直接排序,然后用双指针滑动范围a[r]-a[l]小于n #include<bits/stdc++.h> #define int long long using namespace std; void solve(){ int n; cin>>n; set
阅读全文
摘要:A. Tricky Template 思维有点难转过来,而且当时在C也能匹配c这卡了很久 #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; string a,b,c; cin>>a>>b>>c; int
阅读全文
摘要:A. Square #include<bits/stdc++.h> using namespace std; void solve(){ int a1,b1,a2,b2,a3,b3,a4,b4; cin>>a1>>b1>>a2>>b2>>a3>>b3>>a4>>b4; int s1,s2; if(a
阅读全文
摘要:A. Wallet Exchange #include<bits/stdc++.h> using namespace std; void solve(){ int a,b; cin>>a>>b; int k=a+b; if(!(k&1)){ cout<<"Bob\n"; }else{ cout<<"
阅读全文
摘要:D. Unnatural Language Processing 给字符串元素按要求间隔”.“ #include<bits/stdc++.h> using namespace std; void solve(){ int n; string s; cin>>n>>s; string o=s; for
阅读全文
摘要:A. Least Product 求乘积最小,可以改数组元素 #include<bits/stdc++.h> #define int long long using namespace std; void solve(){ int n; cin>>n; int ans=1; for(int i=1;
阅读全文
摘要:A. Distinct Buttons #include<bits/stdc++.h> using namespace std; void solve(){ int n; cin>>n; int a=0,b=0,c=0,d=0; for(int i=1;i<=n;i++){ int x,y; cin
阅读全文
摘要:A. Problemsolving Log map枚举字母 #include<bits/stdc++.h> using namespace std; void solve(){ int n; string s; cin>>n>>s; int ans=0; s=" "+s; map<char,int>
阅读全文
摘要:A. Constructive Problems 看了一眼数据,猜测可能是n,m里的最大 #include<bits/stdc++.h> using namespace std; void solve(){ int a,b; cin>>a>>b; int ans=max(a,b); cout<<an
阅读全文
摘要:C. Array Game 题意:给定一个n的数组以及k的操作数,每次可以选择下表为i,j(i<j)得到一个abs(a[i]-a[j])的数放在数组末尾,问你k次操作后,数组中最小的数是多少? 思路:首先k>=3 选相同的下表两次,一定结果是0,是最小。 k==1 遍历出下表两两相减的绝对值最小以及
阅读全文
摘要:A. Rook 打印出象棋车的下一步 using namespace std; void solve(){ string s; cin>>s; char a=s[0]; char b=s[1]; set<string>ans; for(char i='1';i<='8';i++){ string t
阅读全文
摘要:A. Halloumi Boxes 题意:长度为n的数组,你可以逆转最多k长度,问你能不能是数组递增 思路:如果k>=2那么每个数都可以两两交换,如果下表1的地方是1就一定可以,k=1的话单独讨论 using namespace std; void solve(){ int n,k; cin>>n>
阅读全文
摘要:2023 11 27 A. Cover in Water 题意是:有一片坑,可以进行两个操作,一个是在一个坑里倒水,一个是把水到在另一个坑里,如果一个坑的左右两边都有水,那么这个坑也会有水 思路:想想发现,只要有三个连续的坑,那么所有的坑都可以被填上,如果没有就只能一个一个的填。 using nam
阅读全文
摘要:2023 11 27 A. Jagged Swaps 题意是:给你一个数组进行无数次的操作 问你能不能单调 思路:通过观察发现进行操作大的一定会被放在后面,所以一定会单调,但是操作是从2开始的,所以下表1的地方一定要是1 using namespace std; int a[20]; void so
阅读全文
摘要:A. Line Trip 题意是:有n个加油点,人要来回两趟,问你最少要多少油? using namespace std; int a[100]; void solve(){ int n,m; cin>>n>>m; for(int i=1;i<=n;i++)cin>>a[i]; int ans=a[
阅读全文
摘要:A. Secret Sport 题意:A与B选手在下棋,规定下赢X把看作赢一局,一共赢Y把的那个是最后的赢家。 思路:因为不知道x,y到底是多少,n的范围是到20,所以只需要枚举x即可,时间复杂度不高,注意的是,如果枚举结果是A赢,那么给定字符串的最后一个值一定是A,反之也是。 #include<b
阅读全文
摘要:A. Treasure Chest 题目大意:人在0处,宝藏在x,钥匙在y,人最多拿宝箱z秒,问你最快多久开宝箱? 思路:如果说钥匙在宝箱的左边,那么人只需要往右走就是最佳答案,如果钥匙在宝箱的右边,那么人只需要拿的宝箱到最佳地点就行 #include<bits/stdc++.h> using na
阅读全文