https://codeforces.com/contest/1363
A - Odd Selection
//#include<bits/stdc++.h>//poj,hdu can't use it
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <map>
#include <cmath>
#include <algorithm>
#include <iomanip>
using namespace std;
/************************head file************************/
#define inf 0x3f3f3f3f
#define SI(x) scanf("%d",&x)
#define set0(x) memset(x,0,sizeof(x))
#define ms(x,n) memset(x,n,sizeof(x));
typedef long long ll;
const int mod = 998244353;
const int maxn = 2e5;
using namespace std;
/***********************defination************************/
int odd,even,n,x;
int main(){
int round;
cin>>round;
while(round--)
{
odd = 0;even = 0;
cin>>n>>x;
for(int i = 0;i < n;i++)
{
int temp;
cin>>temp;
if(temp%2 == 1)odd++;
else even++;
}
if(n==even || odd == 0)cout<<"NO"<<endl;
else if(n==odd&& x%2 == 0)cout<<"NO"<<endl;
else if(n==x)
{
if(odd % 2 == 1)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
else cout<<"YES"<<endl;
}
return 0;
}
B - Subsequence Hate
//#include<bits/stdc++.h>//poj,hdu can't use it
#include <iostream>
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <map>
#include <cmath>
#include <algorithm>
#include <iomanip>
using namespace std;
/************************head file************************/
#define inf 0x3f3f3f3f
#define SI(x) scanf("%d",&x)
#define set0(x) memset(x,0,sizeof(x))
#define ms(x,n) memset(x,n,sizeof(x));
typedef long long ll;
const int mod = 998244353;
const int maxn = 2e5;
using namespace std;
/***********************defination************************/
int main(){
int round;
cin>>round;
while(round--)
{
string s;
cin>>s;
int r0 = 0,r1 = 0;
int l0 = 0,l1 = 0;
int ans = 0;
for(int i = 0;i < s.length();i++)
if(s[i] == '0')r0++;
else r1++;
ans = min(r0,r1);
for(int i = 0;i < s.length();i++){
if(s[i] == '0'){
r0--;l0++;}
else {
l1++;r1--;}
ans = min(ans,min(l0,l1)+min(r0,r1));
}
cout<<ans<<endl;
}
return 0;
}
C 简单博弈
参考https://www.cnblogs.com/KeepZ/p/13024589.html
后面 代补