VP时间
A.
这个字符串所表示是数字为质数
17,71
wa2发
3.ac
B.
看一个数字是什么(是0)
开始遍历找到最后一个0
这块区域肯定可以一样
然后比较后面的
000101 010111
这例子可以说明应该枚举0,1之间然后让模拟一下
如果有,a的01,和b的01这个位置都一样就YES
不一样就NO
1.ac
C.
模拟
在一开始不会存在➖,不会排序因为没有数字
遇到+cnt++;
遇到-cnt--;
cnt==1时不可能出现0
关键点在于1,0转变
12->1,-+,后可以变成10->0
如果cnt==2,原本是升序,现在变成降序
1.wa2
题解
A.
// Problem: A. Prime Deletion
// Contest: Codeforces - Educational Codeforces Round 154 (Rated for Div. 2)
// URL: https://codeforces.com/contest/1861/problem/A
// Memory Limit: 512 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)//へ /|
// /\7 ∠_/
// / │ / /
// │ Z _,< / /`ヽ
// │ ヽ / 〉
// Y ` / /
// イ● 、 ● ⊂⊃〈 /
// () へ | \〈
// >ー 、_ ィ │ //
// / へ / ノ<| \\
// ヽ_ノ (_/ │//
// 7 |/
// >―r ̄ ̄`ー―_
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N];
void solve() {string s;cin>>s;int n=s.length();for(int i=0;i<n;i++){if(s[i]=='1' || s[i]=='7' || s[i]=='9'){cout<<s[i];}}cout<<'\n';
}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int q;cin >> q;while (q--) {solve();}return 0;
}
B.
// Problem: B. Two Binary Strings
// Contest: Codeforces - Educational Codeforces Round 154 (Rated for Div. 2)
// URL: https://codeforces.com/contest/1861/problem/B
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)//へ /|
// /\7 ∠_/
// / │ / /
// │ Z _,< / /`ヽ
// │ ヽ / 〉
// Y ` / /
// イ● 、 ● ⊂⊃〈 /
// () へ | \〈
// >ー 、_ ィ │ //
// / へ / ノ<| \\
// ヽ_ノ (_/ │//
// 7 |/
// >―r ̄ ̄`ー―_
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N];
void solve() {string a,b;cin>>a>>b;int n=a.length();for(int i=0;i<n;i++){if(a[i]=='0' && a[i+1]=='1'){if(b[i]=='0' && b[i+1]=='1'){cout<<"YES"<<'\n';return;}else{continue;}}}cout<<"NO"<<'\n';
}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int q;cin >> q;while (q--) {solve();}return 0;
}
C.
(stay fool)题解
模拟
用一个数组来模拟
如果最后是一个是(1,说明是有序的,0,说明是无序的,-1,是不确定)
如果前面是1,后面插入一个数,数组是不确定顺序的,插入-1
如果前面是-1,后面插入一个数,数组是无序的,插入0
// Problem: C. Queries for the Array
// Contest: Codeforces - Educational Codeforces Round 154 (Rated for Div. 2)
// URL: https://codeforces.com/contest/1861/problem/C
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)//へ /|
// /\7 ∠_/
// / │ / /
// │ Z _,< / /`ヽ
// │ ヽ / 〉
// Y ` / /
// イ● 、 ● ⊂⊃〈 /
// () へ | \〈
// >ー 、_ ィ │ //
// / へ / ノ<| \\
// ヽ_ノ (_/ │//
// 7 |/
// >―r ̄ ̄`ー―_
#include <iostream>
#include <cstring>
#include <iomanip>
#include <ctime>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <stack>
#include <map>
#include <set>
#include <bitset>
#include <queue>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
void solve() {string s;cin>>s;vector<int> v={1}; int n=s.length();int cnt=0;for(int i=0;i<n;i++){if(s[i]=='+'){cnt++;int cur=v.back();if(cur==1 && cnt>=2){//前面是有序后面加进来可以是无序也可以是有序cur=-1;}v.push_back(cur);}else if(s[i]=='-'){cnt--;int cur=v.back();v.pop_back();if(cur==1){//前面肯定是有序的v.back()=1;}}else if(s[i]=='1'){if(v.back()==0){cout<<"NO"<<'\n';return;}else if(v.back()==-1){v.back()=1;}}else if(s[i]=='0'){if(v.back()==-1){v.back()=0;}else if(v.back()==1){cout<<"NO"<<'\n';return;}}}cout<<"YES"<<'\n';}int main() {ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int q;cin >> q;while (q--) {solve();}return 0;
}