新的网站的建设步骤,网站备份文件,域名网站排名,wordpress开启用户登录吐槽#xff1a;比赛刚开始codeblocks出了点问题。。边看题边弄编译器。。。囧。。 D居然一直没看。。因为E题意好懂。。然后sb地卡了一场E。。。战斗力太不稳定。。。 A... A 1 #includecstdio2 #includecstring3 #includeiostream4 #define N 10001…吐槽比赛刚开始codeblocks出了点问题。。边看题边弄编译器。。。囧。。 D居然一直没看。。因为E题意好懂。。然后sb地卡了一场E。。。战斗力太不稳定。。。 A... A 1 #includecstdio2 #includecstring3 #includeiostream4 #define N 1000105 using namespace std;6 int ans[N][2];7 int main(){8 int x,y,a,b;9 while(cinxyab){
10 int cnt0;
11 for(int ia;ix;i){
12 for(int jb;jijy;j){
13 ans[cnt][0]i;
14 ans[cnt][1]j;
15 }
16 }
17 coutcntendl;
18 for(int i1;icnt;i)
19 coutans[i][0] ans[i][1]endl;
20 }
21 return 0;
22 } B.... B 1 #includeiostream2 #includecstring3 #includealgorithm4 #define N 1000105 using namespace std;6 struct S{7 int l,r,len,id;8 }s[N];9 bool cmp(S a,S b){
10 return a.lenb.len;
11 }
12 int main(){
13 int n;
14 while(cinn){
15 int ll(130),rr-1;
16 for(int i1;in;i){
17 cins[i].ls[i].r;
18 s[i].lens[i].r-s[i].l1;
19 s[i].idi;
20 llmin(ll,s[i].l);
21 rrmax(rr,s[i].r);
22 }
23 sort(s1,s1n,cmp);
24 if(s[1].len(rr-ll1))
25 couts[1].idendl;
26 else
27 cout-1endl;
28 }
29 return 0;
30 } C.想了半天也不会。。知道是bfs,但是1e9的范围太尼玛大了。。然后看了下师傅代码。。神奇的map....Orz C 1 #includecstdio2 #includeiostream3 #includequeue4 #includemap5 using namespace std;6 typedef long long ll;7 const ll N(ll)1e9;8 ll sx,sy,ex,ey;9 ll fun(ll x,ll y){
10 return N*(x-1)y;
11 }
12 mapll,intM;
13 int move[8][2]{{0,-1},{0,1},{-1,0},{1,0},{1,1},{1,-1},{-1,-1},{-1,1}};
14 ll solve(){
15 queuellQ[3];
16 Q[0].push(sx);
17 Q[1].push(sy);
18 Q[2].push(0);
19 M[fun(sx,sy)]-1;
20 while(!Q[1].empty()){
21 ll xQ[0].front();Q[0].pop();
22 ll yQ[1].front();Q[1].pop();
23 ll stepQ[2].front();Q[2].pop();
24 if(xexyey)return step;
25 for(int i0;i8;i){
26 ll xxxmove[i][0];
27 ll yyymove[i][1];
28 if(xx1||xxN||yy1||yyN)continue;
29 if(M[fun(xx,yy)]!1)continue;
30 Q[0].push(xx);
31 Q[1].push(yy);
32 Q[2].push(step1);
33 M[fun(xx,yy)]-1;
34 }
35 }
36 return -1;
37 }
38 int main(){
39 int m;
40 while(cinsxsyexey){
41 M[fun(sx,sy)]1;
42 M[fun(ex,ey)]1;
43 cinm;
44 M.clear();
45 int cnt0;
46 for(int i1;im;i){
47 ll r,a,b;
48 cinrab;
49 for(ll ja;jb;j){
50 if(M[fun(r,j)]!1)
51 M[fun(r,j)]1;
52 }
53
54 }
55 coutsolve()endl;
56 }
57 return 0;
58 } D.解法贪心。。。如果当前节点的值是最后不想要的那么就press一下因为被press之后就再也不可能回到原来的值了。。。 尼玛。。比赛的时候看都没看。。。 D 1 #includecstdio2 #includeiostream3 #includevector4 #includecstring5 #includealgorithm6 #define N 1000107 using namespace std;8 vectorintV[N];9 int s[N];
10 int x[N],ans[N];
11 bool used[N];
12 int c;
13 void dfs(int rt){
14 for(int i0;iV[rt].size();i)
15 s[V[rt][i]];
16 for(int i0;iV[rt].size();i){
17 if(s[V[rt][i]]x[V[rt][i]]){
18 s[V[rt][i]];
19 ans[c]V[rt][i];
20 dfs(V[rt][i]);
21 }
22 }
23 }
24
25 int main(){
26 int n,m;
27 while(cinnm){
28 memset(s,0,sizeof(s));
29 c0;
30 memset(used,0,sizeof(used));
31 for(int i1;in;i)V[i].clear();
32 for(int i1;im;i){
33 int a,b;
34 cinab;
35 V[a].push_back(b);
36 V[b].push_back(a);
37 }
38 for(int i1;in;i)cinx[i];
39 int w;
40 for(int i1;in;i){
41 if(s[i]x[i]){
42 s[i];
43 dfs(i);
44 ans[c]i;
45 }
46 }
47 coutcendl;
48 for(int i1;ic;i)
49 coutans[i] ;
50 coutendl;
51 }
52 return 0;
53 } E.线段树维护即可。。。拆位。。。 统计每个区间每个二进制位上出现的1的个数。。最后求和的时候加一遍就行。。。异或相当于把这个数位上所以的1变成0.。。0变成1 E 1 #includecstdio2 #includeiostream3 #includecstring4 #includealgorithm5 #define N 1000106 #define lson l,m,n17 #define rson m1,r,n1|18 using namespace std;9 typedef long long ll;10 ll s[N2][30];11 ll flag[N2];12 ll ans;13 void pushup(int n){14 for(int i0;i30;i){15 s[n][i]s[n1][i]s[n1|1][i];16 }17 }18 void pushdown(int n,int m){19 if(flag[n]){20 flag[n1]^flag[n];21 flag[n1|1]^flag[n];22 int fflag[n];23 for(int i0;i30;i){24 if(f1){25 s[n1][i]m-(m1)-s[n1][i];26 s[n1|1][i](m1)-s[n1|1][i];27 }28 f1;29 }30 flag[n]0;31 }32 }33 void build(int l,int r,int n){34 memset(s[n],0,sizeof(s[n]));35 flag[n]0;36 if(lr){37 int a;38 cina;39 for(int i0;i30;i){40 if(a1)s[n][i]1;41 a1;42 }43 return ;44 }45 int m(lr)1;46 build(lson);47 build(rson);48 pushup(n);49 50 }51 void update(int ll,int rr,int x,int l,int r,int n){52 if(lllrrr){53 flag[n]^x;54 for(int i0;i30;i){55 if(x1)s[n][i](r-l1)-s[n][i];56 x1;57 }58 return ;59 }60 pushdown(n,r-l1);61 int m(lr)1;62 if(rrm)63 update(ll,rr,x,lson);64 else if(llm)65 update(ll,rr,x,rson);66 else67 update(ll,m,x,lson),update(m1,rr,x,rson);68 pushup(n);69 }70 void query(int L,int R,int l,int r,int n){71 if(LlRr){72 for(int i0;i30;i)73 anss[n][i]*(1LLi);74 return ;75 }76 pushdown(n,r-l1);77 int m(lr)1;78 if(Rm)query(L,R,lson);79 else if(Lm)query(L,R,rson);80 else query(L,m,lson),query(m1,R,rson);81 }82 int main(){83 int n,m;84 int op,l,r,x;85 while(cinn){86 build(1,n,1);87 cinm;88 while(m--){89 cinop;90 if(op1){91 cinlr;92 ans0;93 query(l,r,1,n,1);94 coutansendl;95 }else{96 cinlrx;97 update(l,r,x,1,n,1);98 }99 }
100 }
101 return 0;
102 } 转载于:https://www.cnblogs.com/silver-bullet/archive/2012/11/12/2766192.html