A
题解:倒叙枚举即可。
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 typedef long long ll; 5 const ll N=1e6+3; 6 ll b,k,a[N]; 7 void Solve() 8 { 9 cin>>b>>k;ll s=0,p=1; 10 for(int i=1;i<=k;i++)cin>>a[i]; 11 for(int i=k;i>0;i--)s=(s+p*a[i])%2,p=p*b%2; 12 if(s%2==0)cout<<"even"<<endl; 13 else cout<<"odd"<<endl; 14 } 15 int main() 16 { 17 int T;T=1; 18 while(T--)Solve(); 19 }View Code
B
题解:当没有 $k$ 的限制的时候,答案就为 $n$。考虑当 $k$ 逐渐减小的时候,就贪心覆盖的最近的两个点。
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 typedef long long ll; 5 const ll N=1e6+3; 6 ll n,m,k,a[N],b[N]; 7 void Solve() 8 { 9 cin>>n>>m>>k;ll s=n; 10 for(int i=1;i<=n;i++)cin>>a[i]; 11 for(int i=1;i<n;i++)b[i]=a[i+1]-a[i]-1; 12 sort(b+1,b+n); 13 for(int i=1;i<=n-k;i++)s+=b[i]; 14 cout<<s<<endl; 15 } 16 int main() 17 { 18 int T;T=1; 19 while(T--)Solve(); 20 }View Code
C
题解:手玩几组数据后,发现除了 $2^n-1$ 这类数,其他所有数的答案都是 $2^{floor(log2(2))+1}-1$。
标签:int,题解,ll,Global,Codeforces,long,1e6,Round From: https://www.cnblogs.com/Hanghang007/p/17071919.html