codeforces
Aloof__
笔记是记忆的缓冲
展开
-
Codeforces Round #668 (Div. 2) Balanced Bitstring&Tree Tag
C - Balanced Bitstring题意:给你一个二进制字符串s,里面可能会包含 “?" ;”?“可以修改成0或者1;现在给你一个k,问s的任意长度与为k的子串能否满足以下条件:长度为k的子串中0和1的数量相等,都是;思路:首先要发现一个规律 s[i]==s[i+k] ,以为只有这样才能满足上述条件;然后字符串s从位置k开始只要遇见”?“直接跳过,遇见不是”?“的要满足下面条件:若s[i%k]!="?",则s[i%k]!=s[i];如果等于那就不合法;如...原创 2020-09-13 14:04:41 · 161 阅读 · 0 评论 -
Codeforces Round #669 (Div. 2) B - Big Vova -暴力贪心
B - Big Vova题意:给你一个数组A,B数组是A的排列数组;C数组是B的前缀GCD数组;求A怎样排列得到的B数组,才能使C数组在字典序上最大;思路:数据范围小,首先肯定是A中最大的数,然后接下来每次从剩下的数中找到和前面的GCD最大的数即可;#include<bits/stdc++.h>#define ll long longusing namespace std;const int N = 1e3+2;int a[N],b[N],st[N];bo..原创 2020-09-09 09:25:06 · 335 阅读 · 0 评论 -
Educational Codeforces Round 94 (Rated for Div. 2) A~D
A - String Similarity思维,只需要对每个字串依次提取一个字符组成目标字符即可;#include <bits/stdc++.h> using namespace std;typedef long long ll;int main(){ int t;cin >>t; while(t--) { int n; cin >>n; n=n*2-1; string s; cin >>s; for(int i原创 2020-09-02 23:11:09 · 227 阅读 · 0 评论 -
Codeforces Round #666 (Div. 2) A~D
A - Juggling Letters题意: 可以执行一个操作任意次:对于一个字符串中的任意一个字符,可以放到另外一个字符串中的任意位置;现在给你n个字符串,执行以上操作后,能否把n个字符串变得相同;思路:题目中给的操作就是把字符重新分配给n个字符串,所以只需要判断每个字符的数量能否整除n即可;#include <bits/stdc++.h> using namespace std;unordered_map<int,int> mp;int main(){原创 2020-09-02 09:33:17 · 195 阅读 · 0 评论 -
Codeforces Round #659 (Div. 2) A~C
补了这一场,感觉真心难,菜鸡呻吟~A - Common Prefixes思路就是把初始字符串初始化为:‘aaaaaaaaaaaaaaaaaaaaaaaaa’。对于第i个数代表着字符串 和字符串的公共前缀长度为x;所以只需要在把的字符的第x+1个字符改变即可;后面以此类推;#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=2e5+7;int a[N];int m...原创 2020-08-26 11:43:40 · 182 阅读 · 0 评论