以下是2020程序设计竞赛现场赛题解:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1e9 + 7;
ll n;
ll Pow(ll x, int k)
{
ll ans = 1, base = x;
while(k)
{
if(k & 1) ans = ans * base % mod;
base = base * base % mod;
k >>= 1;
}
return ans;
}
int main()
{
scanf("%lld", &n); n %= mod;
printf("%lld\n", (n + 2) * (n + 1) % mod * n % mod * Pow(6, mod - 2) % mod);
return 0;
}
#include <iostream>
#include <map>
using namespace std;
map<long long,long long> glo;
int main()
{
int n,ans;
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
glo[x]++;
if(glo[x]%2 == 1)
ans = x;
}
cout<<ans<<endl;
return 0;
}
还有一种方法是采用 &=(按位与后赋值)
#include <bits/stdc++.h>
using namespace std;
const int maxn=2e6;
int n,a,sum;
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>a;
sum^=a;
}
cout<<sum<<endl;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int main()
{
long long n,cnt = 0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=2;i<=n;i++){
if(a[i-1] == 0 && a[i] == 1)
cnt++;
}
cout<<cnt+1<<endl;
return 0;
}
#include <cstdio>
#include <iostream>
using namespace std;
typedef long long ll;
const ll mod=23333333333333333;
int t;
ll n;
ll p;
int main(){
// freopen("E://AcmData//1.out","w",stdout);
scanf("%d",&t);
while(t--){
scanf("%lld",&n);
p=n;
printf("%lld\n",(p+1)*p/6%mod);
}
return 0;
}
(DFS数字排列问题)
#include<bits/stdc++.h>
using namespace std;
const int N=30;
int isp[N<<1],n,a[N],vis[N],ans;
void init(){
for(int i=2;i<30;i++) if(!isp[i])
for(int j=i*i;j<30;j+=i) isp[j]=1;
}
void dfs(int pos){
if(pos==n+1){
if(!isp[a[n]+a[1]]){
ans++;
//printf("%d",a[1]);
//for(int i=2;i<=n;i++) printf(" %d",a[i]);
//puts("");
}
return;
}
for(int i=1;i<=n;i++){
if(!vis[i]&&!isp[i+a[pos-1]]){
//cout<<pos<<" "<<i<<endl;
vis[i]=1,a[pos]=i,dfs(pos+1),vis[i]=0;
}
}
}
int main(){
init(),scanf("%d",&n);
vis[1]=1,a[1]=1,dfs(2);
printf("%d\n",ans);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int cnt = 0;
for(int i=1;i*i<=n;++i){
if(i*i<=n) cnt++;
}
cout<<cnt<<endl;
return 0;
}
//本场的防AK题目 原题牛客挑战赛第三场题目 题目名称:位数差
#include<bits/stdc++.h>
using namespace std;
const int maxn=1000011;
int n,a[maxn],t[maxn],A[maxn];
void Ins(int x){
for (x=n-x+1;x<=n;x+=x&-x) ++t[x];
}
int Query(int x){
if (x>n) return 0;
int ans=0;
for (x=n-x+1;x;x-=x&-x) ans+=t[x];
return ans;
}
int main(){
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;++i) scanf("%d",a+i);
static int w[maxn];
for (int i=1;i<=n;++i) w[i]=a[i];
sort(w+1,w+n+1);
for (int i=1;i<=n;++i) A[i]=lower_bound(w+1,w+n+1,a[i])-w;
long long ans=0;
for (int i=n;i>=1;--i){
for (int j=0;j<=100000000;j?j*=10:j=10)
if (j>a[i]) ans+=Query(lower_bound(w+1,w+n+1,j-a[i])-w);
Ins(A[i]);
}
printf("%lld\n",ans);
}
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int t;
cin>>t;
while(t--){
int x1 = 0,y1 =0,r1=0,x2=0,y2=0,r2=0;
double d=0.0;
cin>>x1>>y1>>r1>>x2>>y2>>r2;
d = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
if((r1+r2)>=d && ((abs(r1-r2))<=d)){
cout<<"yes"<<endl;
}
else
cout<<"no"<<endl;
}
return 0;
}
解法1
#include <bits/stdc++.h>
using namespace std;
int flag = 0;
int main(){
string a,b;
cin>>a>>b;
int lena = a.size(),lenb = b.size();
for(int i=0;i<=lena-lenb;i++){
if(a.substr(i,lenb) == b){
flag = 1;
break;
}
}
if(flag) cout<<"YES";
else cout<<"NO";
return 0;
}
解法2
#include <iostream>
#include <string>
using namespace std;
int main(){
string a,b;
cin>>a>>b;
int j=0;
for(int i=0;i<a.size();i++){
if(a[i]==b[j]){
j++;
}
if(j==b.size()){
cout<<"Yes";
return 0;
}
}
cout<<"No";
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int a[10];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
if(x == 1)
a[1]++;
else if(x==2)
a[2]++;
else
a[3]++;
}
int maxx = a[1];
for(int i=2;i<=3;i++){
if(a[i]>maxx) maxx = a[i];
}
cout<<n-maxx;
return 0;
}
未完待续。。。
小伙伴们,欢迎加入我的友链,我们一起共同学习,共同进步?:
我的友链: https://acmic.top/links/
以上属个人见解。
❤️希望对您有帮助,您的支持是我创作最大的动力!
推荐你可能喜欢的其他精彩内容:
CDN是什么?一分钟带你了解CDN
【Linux学习】CentOS6.8安装步骤的详细教程
第十届蓝桥杯大赛软件类省赛C/C++大学B组 题解
Windows10下利用DOSBOX和MASM32搭建汇编语言环境
最新Chromedriver与Chrome版本对应参照表【附下载链接】
版权声明:本文为weixin_45532870原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。