赞
踩
#include <iostream> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 1e9+7; const int N = 3e5+7; int n,m,k,t = 1,cas = 1; int a[N],b[N]; string s,s1,s2,s3; struct node{ int x,y; node(){} node(int xx,int yy){ x = xx; y = yy; } }; int qpow(int a,int b){ int res = 1%mod; int tmp = a%mod; while(b) { if(b&1) res = res*tmp%mod; tmp = tmp*tmp%mod; b <<= 1; } return res; } bool cmp(node a1,node a2){ return true; } signed main(){ cin>>t; while(t--){ cin>>n; cin>>s; int pre = 0; for(int i = 0 ; i < n ;i ++){ if(s[i] == '1'){ if(pre == 2){ cout<<0; pre = 1; }else{ cout<<1; pre = 2; } }else{ if(pre == 1){ cout<<0; pre = 0; }else{ cout<<1; pre = 1; } } } cout<<endl; } }
#include <iostream> #include <bits/stdc++.h> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 1e9+7; const int N = 1e5+7; int n,m,k,t = 1,cas = 1; int a[N],b[N]; string s,s1,s2,s3; struct node{ int x,y; node(){} node(int xx,int yy){ x = xx; y = yy; } }; int qpow(int a,int b){ int res = 1%mod; int tmp = a%mod; while(b) { if(b&1) res = res*tmp%mod; tmp = tmp*tmp%mod; b <<= 1; } return res; } bool cmp(node a1,node a2){ return true; } int prime[700000],pcnt; bool mark[N]; // 如果变量名都相同的话,就不用传参了 //void getPrimes(int prime[],int N,int &pcnt) void getPrimes() { memset(mark,0,sizeof(mark)); mark[0] = mark[1] = 1; pcnt = 0; for(int i = 2; i < N ; i ++) { if(!mark[i]) prime[pcnt++] = i; for(int j = 0 ; i*prime[j] < N && j < pcnt ; j ++) { mark[i*prime[j]] = 1; if(i%prime[j] == 0) break; } } } signed main(){ cin>>t; getPrimes(); //cout<<pcnt<<endl; while(t--){ cin>>n; int res = 1; int pre = 1; int cnt = 2; for(int i = 0 ; i < pcnt && cnt; i ++){ if(prime[i]- pre >= n){ pre = prime[i]; res *= pre; cnt --; } } cout<<res<<endl; } }
#include <iostream> #include <bits/stdc++.h> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 1e9+7; const int N = 3e3+7; int n,m,k,t = 1,cas = 1; //int a[N],b[N]; string s,s1,s2,s3; int mark[N]; map<int,int> mp; struct node1{ int x,id; }a[N]; bool cmp(node1 a1,node1 a2){ return a1.x > a2.x; } bool check(int x,int j){ for(int i = 1 ; i < n ; i ++){ if(i == j) continue; if(!mp[a[i].x]) continue; if(!mp[x-a[i].x]){ return false; }else{ if(a[i].x == x-a[i].x && mp[a[i].x] == 1){ return false; } mp[a[i].x] --; mp[x-a[i].x] --; //cout<<x<<" "<<a[i].x<<" "<<x-a[i].x<<endl; x = max(a[i].x,x-a[i].x); } } return true; } void ans(int x,int j){ cout<<x+a[j].x<<endl; cout<<x<<" "<<a[j].x<<endl; for(int i = 1 ; i < n ; i ++){ if(i == j) continue; if(!mp[a[i].x]) continue; mp[a[i].x] --; mp[x-a[i].x] --; cout<<a[i].x<<" "<<x-a[i].x<<endl; x = max(a[i].x,x-a[i].x); } } signed main(){ cin>>t; while(t--){ mp.clear(); cin>>n; n *= 2; for(int i = 0 ; i < n ; i ++){ cin>>a[i].x; a[i].id = i; mp[a[i].x] ++; } sort(a,a+n,cmp); int sel = -1; for(int j = 1; j < n ; j ++){ mp[a[j].x] --; if(check(a[0].x,j)){ sel = j; break; } mp.clear(); for(int i = 1 ; i < n ; i ++){ mp[a[i].x] ++; } } mp.clear(); for(int i = 1 ; i < n ; i ++){ mp[a[i].x] ++; } if(sel != -1){ cout<<"YES"<<endl; mp[a[sel].x] --; ans(a[0].x,sel); }else{ cout<<"NO"<<endl; } } }
#include <iostream> #include <bits/stdc++.h> #define int long long #define mk make_pair #define gcd __gcd using namespace std; const double eps = 1e-10; const int mod = 1e9+7; const int N = 3e5+7; int n,m,k,t = 1,cas = 1; int a[N],b[N]; int sel = 0; int pre[N]; int suf[N]; signed main(){ cin>>t; while(t--){ cin>>n; for(int i = 1 ; i <= n ;i ++) cin>>a[i]; for(int i= 1; i <= n ; i ++){ if(pre[i-1] == -1 || a[i] < pre[i-1]){ pre[i] = -1; }else{ pre[i] = a[i]-pre[i-1]; } } suf[n+1] = 0; for(int i = n ; i >= 1; i --){ if(suf[i+1] == -1 || a[i] < suf[i+1]){ suf[i] = -1; }else{ suf[i] = a[i]-suf[i+1]; } } int res = 0; if(pre[n] == 0) res = 1; for(int i = 1; i < n ; i ++){ if(pre[i-1] == -1 || suf[i+2] == -1) continue; else{ // swap a[i] with a[i-1] if(a[i] >= suf[i+2] && a[i+1] >= pre[i-1] && a[i+1]-pre[i-1] == a[i]-suf[i+2]){ res = 1;break; } } } puts(res ? "YES" : "NO"); cas++; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。