Codeforces Round #724 (Div. 2)ABC题解
Posted quinn18
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #724 (Div. 2)ABC题解相关的知识,希望对你有一定的参考价值。
文章目录
A - Omkar and Bad Story
没想法 模拟fst了。。结果告诉正解是输出0~max。。。。。悟了
#include <bits/stdc++.h>
#define endl '\\n'
using namespace std;
typedef long long ll;
int t, n, m, k, a[305], ans=-0x3f3f3f;
int main() {
cin>>t;
while(t--){
cin>>n;
int maxx=-1;
int ans=1;
for(int i=0; i<n; i++) {
int x;
cin>>x;
maxx=max(maxx,x);
if(x<0 ) ans=0;
}
if(ans) {
cout<<"Yes"<<endl;
cout<<maxx+1<<endl;
for(int i=0; i<=maxx;i++) {
cout<<i<<" ";
}
cout<<endl;
} else {
cout<<"NO"<<endl;;
}
}
return 0;
}
B - Prinzessin der Verurteilung
依旧暴力
因为最长的长度就是1000所以只要暴力到三个字母的
可恨的是输出单个字母的地方wa了。。。
#include <bits/stdc++.h>
#define endl '\\n'
using namespace std;
typedef long long ll;
int t, n, m, k, a[305], cnt;
int per[30];
bool vis[30], vis1[30];
set<string > ss;
set<string > sse;
void dfs (int dep, int k) {//26*26 wa了两发以为是全排列
if(dep==k) {
string sss;
cnt++;
for(int i=0; i<k; i++) {
sss+=char('a'+per[i]-1);
}
ss.insert(sss);
return ;
}
for(int i=1; i<=26; i++) {
per[dep]=i;
dfs(dep+1, k);
}
}
void dfss (int dep, int k) {//26*26*26
if(dep==k) {
string sss;
cnt++;
for(int i=0; i<k; i++) {
sss+=char('a'+per[i]-1);
}
sse.insert(sss);
return ;
}
for(int i=1; i<=26; i++) {
per[dep]=i;
dfss(dep+1, k);
}
}
int main() {
dfs(0, 2);
dfss(0, 3);
//cout<<cnt<<endl;
cin>>t;
while(t--) {
string s;
cin>>n>>s;
string ww="abcdefghijklmnopqrstuvwxyz";
int q=1;
for(int i=0; i<26; i++) {
if(s.find(ww[i])==string::npos) {
cout<<ww[i]<<endl;
q=0;
break;
}
}
if(q) {
for(auto x:ss) {
if(s.find(x)==string::npos) {
cout<<x<<endl;
q=0;
break;
}
}
}
if(q) {
for(auto x:sse) {
if(s.find(x)==string::npos) {
cout<<x<<endl;
q=0;
break;
}
}
}
}
return 0;
}
C - Diluc and Kaeya
就来不及了 反正就是记录pii模拟一下
#include <bits/stdc++.h>
#define endl '\\n'
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
map<pii, ll> mp;
int t, n, m, k, a[305], cnt;
int main() {
cin>>t;
while(t--) {
string s;
mp.clear();
cin>>n>>s;
int y=0, x=0;
for(int i=0; i<n; i++) {
if(s[i]=='D') {
x++;
}else {
y++;
}
int res=__gcd(y,x);
int x1=x/res, y1=y/res;
mp[{x1,y1}]++;
cout<<mp[{x1,y1}]<<" ";
}
cout<<"\\n";
}
return 0;
}
D - Omkar and Medians
总结
好笨
寄了
以上是关于Codeforces Round #724 (Div. 2)ABC题解的主要内容,如果未能解决你的问题,请参考以下文章
E. Omkar and Forest——Codeforces Round #724 (Div. 2)
E. Omkar and Forest——Codeforces Round #724 (Div. 2)
F. Omkar and Akmar游戏,组合,逆元—— Codeforces Round #724 (Div. 2)
Codeforces Round #724 (Div. 2)(CD)