[GRYZ]寒假模拟赛
写在前面
这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛。
鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优(le)美(se)的文字加工后,有故事有题目有人物有奸情的模拟赛正式呈上。
我是正文
题目名 |
GRYZ娱乐时刻 |
GRYZ追击时刻 |
GRYZ就餐时刻 |
源文件 |
hyxzc.cpp/c/pas |
clikar.cpp/c/pas |
eat.cpp/c/pas |
输入文件 |
hyxzc.in |
clikar.in |
eat.in |
输出文件 |
hyxzc.out |
clikar.out |
eat.out |
时间限制 |
1000MS |
1000MS |
1000MS |
内存限制 |
256MB |
256MB |
24MB |
测试点 |
20 |
10 |
10 |
测试点分值 |
5 |
10 |
10 |
测试时间
2016年2月21日 8:00 – 11:30
说明:
1.考试时间为 3 小时 30 分钟
2.评测在Windows下进行
3.评测时不打开任何优化开关
4.请大家认真审题,不要出现不必要的失误
5.题目均非原创,毕竟你们师哥师姐也很弱QAQ
6.本次题目较水,所以最后有一道附加题,以免大家AK之后无聊,附加题自然是不算分,当然你们要是都AK了我就只好测一下了
GRYZ娱乐时刻
【题目描述】
无聊的hyxzc不想写代码了,于是他开始玩游戏——洛克王国。众所周知,洛克王国是一个非常好玩的游戏(至少在hyxzc眼中是这样的)。这天,hyxzc登上他的洛克王国账号,开始了新的一天的颓废之旅。
hyxzc是一个高傲的人,他想把自己的宠物都升到100级(没办法,强迫症),今天是洛克王国4周年纪念日,所以奖励非常多,正当小洛克们欢快的庆祝周年的时候,坏坏的恩佐又出来捣乱了,(众所周知,恩佐是一个超级大坏蛋,总想一些办法去损害洛克王国,而守护洛克王国是每位小洛克的责任)。这次,恩佐无意在黑魔法中返现了召唤远古恶龙的方法。并且召唤了n条恶龙,而你的任务则是消灭这n条恶龙, 本次任务奖励有大量经验,能够让宠物更快的升级,所以hyxzc便心动了。
hyxzc一共有m个宠物可以召唤,而每个宠物的等级各不相同,等级为x的宠物只能干掉小于等于x的恶龙,且每只宠物只能干掉一只恶龙,因为宠物还要去找自己的小伙伴去玩耍呢,并且你需要花费x个洛克贝为宠物恢复活力。hyxzc可不是一个大方的家伙,他希望花最少的洛克贝来完成这个任务。而洛克王国的防沉迷告诉hyxzc,他只有1秒钟的时间去思考如何召唤宠物,于是hyxzc便向你求助,你只需要输出他的最少花费即可,若无法完全杀掉恶龙,则输出“Loowater is doomed!”。
【输入格式】
输入包含T组数据,每组数据的第一行为正整数n和m;以下n行每行为一个整数,即恶龙的等级,以下m行为一个整数,即每个宠物的等级,输入结束标记为n=m=0;
【输出格式】
对于每组数据,输出最少花费。
【样例输入】
2 3
5
4
7
8
4
2 1
5
5
10
0 0
【样例输出】
11
Loowater is doomed!
【数据范围】
0<T<=10;
对于20%的数据:0<n,m<=20;0<Ni,Mi<=100000;
对于40%的数据:0<n,m<=200;0<Ni,Mi<=100000;
对于60%的数据:0<n,m<=2000;0<Ni,Mi<=100000;
对于100%的数据:0<n,m<=20000;0<Ni,Mi<=100000;
GRYZ追击时刻
XYD过完年后高高兴兴的回到了GRYZ,然后他发现可爱的Robot已经在这里等待了3天,由于Robot跑的很慢,所以她正在准备施展魔法,逮住 XYD。
XYD知道,除了男生宿舍,其他的地方都会被Robot宝宝魔法控制(因为宝宝是一个可爱的女孩子),如果XYD被控制之后,就会发生很可怕的 事情。。。
所以,XYD一定要尽快赶回男生宿舍。
GRYZ可以用一个N*M(N,M<=50)的地图表示,地图上有5种符号:"X S D . *" 。其中“X”处有可怕的兔兔(兔兔可能很多),XYD和Robot都不能经过。
"."表示XYD和魔法都能经过的地方。
“*”表示Robot的位置,“S”表示XYD起始位置,“D”表示男生宿舍。
xyd每秒钟可以向相邻位置移动,Robot的魔法也会向相邻的地方蔓延(从已覆盖的区域,开始只覆盖*点)。众所周知,宝宝魔法就像是一股水流。
求XYD回到男生宿舍的最短时间,如果XYD回不到男生宿舍,就有可能被迫以身相许,那么他就会高兴的大喊一声“I Love xxx!!!”。(这就是很可怕的事情)
【输入格式】
第一行为正整数n和m;以下n行m列为地图。
【输出格式】
如果能成功回到男生宿舍输出最短时间,否则输出“I Love xxx!!!”(不包括双引号)
【样例输入】
3 3
D.*
…
.S.
【样例输出】
3
【样例输入】
3 3
D.*
…
..S
【样例输出】
I Love xxx !!!
GRYZ就餐时刻
【题目描述】
寒假,大家都回家过年去了,只有GRYZ苦逼的竞赛生们还在学校上课。众所周知,有人的地方就需要有饭,但是食堂的大爷们都回家了,我们只能依靠外卖。已知那是一个非常大的外卖店,有专业的盒饭生产设备,为了保证GRYZ的孩子们每顿饭能吃好吃的饭菜,它们总会将a点生产出的盒饭运往加热处加热后再运往b点装车。这些部门非常的高能,它们有时可以生产盒饭,有时又能变身成装车点(不要问我为什么)。
有些部门之间有专门的传送带连接,店长是个非常珍惜时间的人,他希望盒饭从生产出来到运走所花费的时间尽可能的短,但是店长又是一个超级懒人,所以他把计算的工作交给了你
【输入格式】
第一行两个整数n、m,n表示部门数量,m表示传送带数量。出于方便,1号部门是加热处。
接下来m行,每行三个整数u、v、w,表示有一条从u部门到v部门的传送带,传送过去需要w个单位时间。注意传送带是单向的。
接下来一个整数q,表示有q次运送。
接下来q行,每行两个数a、b,表示这一次要将产品从a部门运送到b部门。
【输出格式】
输出q行,每行一个整数,表示这次运送最少需要的时间。若没有传送方案,输出-1。
【样例输入】
5 5
1 2 3
1 3 5
4 1 7
5 4 1
5 3 1
3
4 2
5 3
2 3
【样例输出】
10
13
-1
【数据规模与约定】
30%的数据,n≤100,m≤500,w=1
60%的数据,n≤100,m≤5000
另20%的数据,q=1
100%的数据,2≤n≤3000,m≤100000,2≤a,b≤n,
q≤100000,1≤u,v≤n,1≤w≤10000
有些部门之间可能有多条传送带。
题目是不是太水,下面就是更水的附加题了
【题目描述】
Czy手上有一个长度为n的数列,第i个数为xi。
他现在想知道,对于给定的a,b,c,他要找到一个i,使得a*(i+1)*xi2+(b+1)*i*xi+(c+i)=0成立。
如果有多个i满足,Czy想要最小的那个i。
Czy有很多很多组询问需要你回答,多到他自己也不确定有多少组。所以在输入数据中a=b=c=0标志着Czy的提问的结束。
更加糟糕的是,Czy为了加大难度,决定对数据进行加密以防止离线算法的出现。
假设你在输入文件中读到的三个数为a0,b0,c0,那么Czy真正要询问的a=a0+LastAns,b=b0+LastAns,c=c0+LastAns.
LastAns的值是你对Czy的前一个询问的回答。如果这是第一个询问,那么LastAns=0。
所有的询问都将会按上述方式进行加密,包括标志着询问的结束的那个询问也是这样。
【输入】
输入文件为 seq.in
输入文件第一行包含一个整数n,表示数列的长度。
输入文件第二行包含n个整数,第i个数表示xi的值。
接下来若干行,每行三个数,表示加密后的a,b,c值(也就是上文所述的a0,b0,c0)
【输出】
输出文件为 seq.out
包含若干行,第i行的值是输入文件中第i个询问的答案。注意,你不需要对标志着询问结束的那个询问作答。
同时,标志着询问结束的询问一定是输入文件的最后一行。也就是,输入文件不会有多余的内容。
【输入输出样例】
seq.in |
seq.out |
5 -2 3 1 -5 2 -5 -4 145 -1 -6 -509 -9 -14 40 -3 -13 21 -3 -3 -3 |
5 4 3 3 |
【数据范围】
对于40%的数据,满足N<=1000,需要作出回答的询问个数不超过1000.
对于100%的数据,满足N<=50000,需要作出回答的询问个数不超过500000,xi的绝对值不超过30000,解密后的a的绝对值不超过50000,解密后的b的绝对值不超过10^8,解密后的c的绝对值不超过10^18.
PS:遇到猥琐大(姐)叔(姐)出的题怎么办?百醇学长来教你!
作为一只不世出的大水犇,来的晚AK早的百醇学长为大家奉上新鲜的题目出处和解析。
我是题解,我也有题目
GRYZ娱乐时刻
【题目描述】
无聊的hyxzc不想写代码了,于是他开始玩游戏——洛克王国。众所周知,洛克王国是一个非常好玩的游戏(至少在hyxzc眼中是这样的)。这天,hyxzc登上他的洛克王国账号,开始了新的一天的颓废之旅。
hyxzc是一个高傲的人,他想把自己的宠物都升到100级(没办法,强迫症),今天是洛克王国4周年纪念日,所以奖励非常多,正当小洛克们欢快的庆祝周年的时候,坏坏的恩佐又出来捣乱了,(众所周知,恩佐是一个超级大坏蛋,总想一些办法去损害洛克王国,而守护洛克王国是每位小洛克的责任)。这次,恩佐无意在黑魔法中返现了召唤远古恶龙的方法。并且召唤了n条恶龙,而你的任务则是消灭这n条恶龙, 本次任务奖励有大量经验,能够让宠物更快的升级,所以hyxzc便心动了。
hyxzc一共有m个宠物可以召唤,而每个宠物的等级各不相同,等级为x的宠物只能干掉小于等于x的恶龙,且每只宠物只能干掉一只恶龙,因为宠物还要去找自己的小伙伴去玩耍呢,并且你需要花费x个洛克贝为宠物恢复活力。hyxzc可不是一个大方的家伙,他希望花最少的洛克贝来完成这个任务。而洛克王国的防沉迷告诉hyxzc,他只有1秒钟的时间去思考如何召唤宠物,于是hyxzc便向你求助,你只需要输出他的最少花费即可,若无法完全杀掉恶龙,则输出“Loowater is doomed!”。
【输入格式】
输入包含T组数据,每组数据的第一行为正整数n和m;以下n行每行为一个整数,即恶龙的等级,以下m行为一个整数,即每个宠物的等级,输入结束标记为n=m=0;
【输出格式】
对于每组数据,输出最少花费。
【样例输入】
2 3
5
4
7
8
4
2 1
5
5
10
0 0
【样例输出】
11
Loowater is doomed!
【数据范围】
0<T<=10;
对于20%的数据:0<n,m<=20;0<Ni,Mi<=100000;
对于40%的数据:0<n,m<=200;0<Ni,Mi<=100000;
对于60%的数据:0<n,m<=2000;0<Ni,Mi<=100000;
对于100%的数据:0<n,m<=20000;0<Ni,Mi<=100000;
【出处】
刘汝佳蓝书《算法竞赛入门经典训练指南》第一章第一节第一题(Orz,所以说多看些书是很有好处的)&&UVa 11292
【思路】
排序龙头,排序宠物,对砍
![](/assets/blank.gif)
![](/assets/blank.gif)
#include<iostream> #include<cstdlib> #include<cstring> #include<cstdio> #include<cmath> #include<algorithm> using namespace std; int main(){freopen("hyxzc.in","r",stdin);freopen("hyxzc.out","w",stdout);int n,m;int a[20005],b[20005];while(scanf("%d%d",&n,&m)==2&&n&&m){memset(a,0,sizeof(a));memset(b,0,sizeof(b));for (int i=0;i<n;++i) scanf("%d",&a[i]);sort(a,a+n);for (int i=0;i<m;++i) scanf("%d",&b[i]);sort(b,b+m);int x=0,y=0;for(int i=0;i<m;++i)if (b[i]>=a[x]){y+=b[i];if(++x==n) break;}if (x<n) printf("Loowater is doomed!\n");else printf("%d\n",y);}fclose(stdin);fclose(stdout);return 0; }
View Code
GRYZ追击时刻
XYD过完年后高高兴兴的回到了GRYZ,然后他发现可爱的Robot已经在这里等待了3天,由于Robot跑的很慢,所以她正在准备施展魔法,逮住 XYD。
XYD知道,除了男生宿舍,其他的地方都会被Robot宝宝魔法控制(因为宝宝是一个可爱的女孩子),如果XYD被控制之后,就会发生很可怕的 事情。。。
所以,XYD一定要尽快赶回男生宿舍。
GRYZ可以用一个N*M(N,M<=50)的地图表示,地图上有5种符号:"X S D . *" 。其中“X”处有可怕的兔兔(兔兔可能很多),XYD和Robot都不能经过。
"."表示XYD和魔法都能经过的地方。
“*”表示Robot的位置,“S”表示XYD起始位置,“D”表示男生宿舍。
xyd每秒钟可以向相邻位置移动,Robot的魔法也会向相邻的地方蔓延(从已覆盖的区域,开始只覆盖*点)。众所周知,宝宝魔法就像是一股水流。
求XYD回到男生宿舍的最短时间,如果XYD回不到男生宿舍,就有可能被迫以身相许,那么他就会高兴的大喊一声“I Love xxx!!!”。(这就是很可怕的事情)
【输入格式】
第一行为正整数n和m;以下n行m列为地图。
【输出格式】
如果能成功回到男生宿舍输出最短时间,否则输出“I Love xxx!!!”(不包括双引号)
【样例输入】
3 3
D.*
…
.S.
【样例输出】
3
【样例输入】
3 3
D.*
…
..S
【样例输出】
I Love xxx !!!
【出处】
敬爱的黄学长http://hzwer.com/3303.html
【思路】
很裸的一道广搜,唯一的不同是在更新人的位置时还要更新水覆盖的位置。用两个队列存人和水的状态,用正常的广搜枚举人的同时,在时间t改变时更新水的位置即可
黄sir的代码:
![](/assets/blank.gif)
![](/assets/blank.gif)
#include<cstdio>#include<iostream>using namespace std;int n,m;const int mx[4]={0,1,0,-1};const int my[4]={1,0,-1,0};struct dat{int x,y,t;}q1[100000],q2[100000];int t1,w1,t2,w2;int x1,y1,x2,y2;int st;int map[100][100];inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x*=10;x+=ch-'0';ch=getchar();}return x*f;}inline int mark(int x,int y){if (x<1||y<1||x>n||y>m) return 0;return 1;}void bfs(){while (t2<w2){int nx=q2[++t2].x,ny=q2[t2].y,nt=q2[t2].t;if (nt!=st){st=nt;while (t1<w1&&q1[t1+1].t==nt-1){t1++;for (int i=0;i<4;i++){int cx=q1[t1].x+mx[i],cy=q1[t1].y+my[i];if (mark(cx,cy)&&map[cx][cy]!=2&&map[cx][cy]!=3&&!(cx==x2&&cy==y2)){q1[++w1].x=cx;q1[w1].y=cy;q1[w1].t=q1[t1].t+1;map[cx][cy]=3;}}}}if (map[nx][ny]==3) continue;if (nx==x2&&ny==y2) {printf("%d",nt);return;}for (int i=0;i<4;i++){int wx=nx+mx[i];int wy=ny+my[i];if (mark(wx,wy)&&map[wx][wy]==1){q2[++w2].x=wx;q2[w2].y=wy;q2[w2].t=nt+1;map[q2[w2].x][q2[w2].y]=4;}}}printf("ORZ hzwer!!!\n");}int main(){freopen("sliker.in","r",stdin);freopen("sliker.out","w",stdout);n=read();m=read();for (int i=1;i<=n;i++)for (int j=1;j<=m;j++){char ch;cin>>ch;if (ch=='.') map[i][j]=1;if (ch=='X') map[i][j]=2;if (ch=='*') {map[i][j]=3;q1[++w1].x=i;q1[w1].y=j;}if (ch=='S') {map[i][j]=4;q2[++w2].x=x1=i;q2[w2].y=y1=j;}if (ch=='D') {map[i][j]=1;x2=i;y2=j;}}bfs();}
View Code
GRYZ就餐时刻
【题目描述】
寒假,大家都回家过年去了,只有GRYZ苦逼的竞赛生们还在学校上课。众所周知,有人的地方就需要有饭,但是食堂的大爷们都回家了,我们只能依靠外卖。已知那是一个非常大的外卖店,有专业的盒饭生产设备,为了保证GRYZ的孩子们每顿饭能吃好吃的饭菜,它们总会将a点生产出的盒饭运往加热处加热后再运往b点装车。这些部门非常的高能,它们有时可以生产盒饭,有时又能变身成装车点(不要问我为什么)。
有些部门之间有专门的传送带连接,店长是个非常珍惜时间的人,他希望盒饭从生产出来到运走所花费的时间尽可能的短,但是店长又是一个超级懒人,所以他把计算的工作交给了你
【输入格式】
第一行两个整数n、m,n表示部门数量,m表示传送带数量。出于方便,1号部门是加热处。
接下来m行,每行三个整数u、v、w,表示有一条从u部门到v部门的传送带,传送过去需要w个单位时间。注意传送带是单向的。
接下来一个整数q,表示有q次运送。
接下来q行,每行两个数a、b,表示这一次要将产品从a部门运送到b部门。
【输出格式】
输出q行,每行一个整数,表示这次运送最少需要的时间。若没有传送方案,输出-1。
【样例输入】
5 5
1 2 3
1 3 5
4 1 7
5 4 1
5 3 1
3
4 2
5 3
2 3
【样例输出】
10
13
-1
【数据规模与约定】
30%的数据,n≤100,m≤500,w=1
60%的数据,n≤100,m≤5000
另20%的数据,q=1
100%的数据,2≤n≤3000,m≤100000,2≤a,b≤n,
q≤100000,1≤u,v≤n,1≤w≤10000
有些部门之间可能有多条传送带。
【出处】
山东省2015年NOIP夏令营提高组7.27测试T3
原创人:姜志豪大爷
【思路】
30%的数据,n≤100,m≤500,w=1
BFS求出两两之间的最短路,对每个询问a到b,直接将a到1的最短路和1到b的最短路加起来。
60%的数据,n≤100,m≤5000
将30%的数据中的BFS改成Floyd算法。
(FLOYD大法好,我不会告诉你在诸城的时候我就这一个题拿了60o(╯□╰)o)
另20%的数据,q=1
询问a到b的最短路,先以a为起点做最短路,求出a到1的最短路,再以1为起点做最短路,求出1到b的最短路,加起来就行。
100%的数据,2≤n≤3000,m≤100000,2≤a,b≤n,q≤100000,1≤u,v≤n,1≤w≤10000
以1为起点,做最短路,这样在询问a到b时,1到b的最短路就能得到。
将所有边反向,以1为起点,做最短路,这样在询问a到b时,a到1的最短路就能得到(就是反向后1到a的最短路)。
![](/assets/blank.gif)
![](/assets/blank.gif)
#include<iostream> #include<vector> #include<queue> #include<cstdlib> #include<cstring> #include<cstdio> #include<cmath> #include<algorithm> using namespace std;const int INF = 100000000; const int MAXN = 3010, MAXM = 100010; int next1[MAXM], v1[MAXM], w1[MAXM]; int head1[MAXN], tot1 = 0; int next2[MAXM], v2[MAXM], w2[MAXM]; int head2[MAXN], tot2 = 0; int disto1[MAXN], disfrom1[MAXN]; bool vis1[MAXN], vis2[MAXN]; int n, m, u, v, w, q, a, b;void add1(int a, int b, int c) {v1[++tot1] = b;w1[tot1] = c;next1[tot1] = head1[a];head1[a] = tot1; }void add2(int a, int b, int c) {v2[++tot2] = a;w2[tot2] = c;next2[tot2] = head2[b];head2[b] = tot2; }void spfafrom1(int s) {queue<int> Q;for (int i = 1; i <= n; i++) disfrom1[i] = INF;disfrom1[s] = 0;Q.push(s);vis1[s] = true;while(!Q.empty()) {int x = Q.front();Q.pop();vis1[x] = false;;for (int i = head1[x]; i != 0; i = next1[i])if (disfrom1[v1[i]] > disfrom1[x] + w1[i]) {disfrom1[v1[i]] = disfrom1[x] + w1[i];if (!vis1[v1[i]]) {Q.push(v1[i]);vis1[v1[i]] = true;}}} }void spfato1(int s) {queue<int> Q;for (int i = 1; i <= n; i++) disto1[i] = INF;disto1[s] = 0;Q.push(s);vis2[s] = true;while(!Q.empty()) {int x = Q.front();Q.pop();vis2[x] = false;;for (int i = head2[x]; i != 0; i = next2[i])if (disto1[v2[i]] > disto1[x] + w2[i]) {disto1[v2[i]] = disto1[x] + w2[i];if (!vis2[v2[i]]) {Q.push(v2[i]);vis2[v2[i]] = true;}}} }int main() {freopen("eat.in", "r", stdin);freopen("eat.out", "w", stdout);scanf("%d%d", &n, &m);for(int i = 0; i < m; i++) {scanf("%d%d%d", &u, &v, &w);add1(u, v, w);add2(u, v, w);}memset(vis1, false, sizeof(vis1));spfato1(1);memset(vis2, false, sizeof(vis2));spfafrom1(1);scanf("%d", &q);for(int i = 0; i < q; i++) {scanf("%d%d", &a, &b);if(disto1[a] == INF || disfrom1[b] == INF)printf("-1\n");elseprintf("%d\n", disto1[a] + disfrom1[b]);}return 0; }
View Code
附加题
【题目描述】
Czy手上有一个长度为n的数列,第i个数为xi。
他现在想知道,对于给定的a,b,c,他要找到一个i,使得a*(i+1)*xi2+(b+1)*i*xi+(c+i)=0成立。
如果有多个i满足,Czy想要最小的那个i。
Czy有很多很多组询问需要你回答,多到他自己也不确定有多少组。所以在输入数据中a=b=c=0标志着Czy的提问的结束。
更加糟糕的是,Czy为了加大难度,决定对数据进行加密以防止离线算法的出现。
假设你在输入文件中读到的三个数为a0,b0,c0,那么Czy真正要询问的a=a0+LastAns,b=b0+LastAns,c=c0+LastAns.
LastAns的值是你对Czy的前一个询问的回答。如果这是第一个询问,那么LastAns=0。
所有的询问都将会按上述方式进行加密,包括标志着询问的结束的那个询问也是这样。
【输入】
输入文件为 seq.in
输入文件第一行包含一个整数n,表示数列的长度。
输入文件第二行包含n个整数,第i个数表示xi的值。
接下来若干行,每行三个数,表示加密后的a,b,c值(也就是上文所述的a0,b0,c0)
【输出】
输出文件为 seq.out
包含若干行,第i行的值是输入文件中第i个询问的答案。注意,你不需要对标志着询问结束的那个询问作答。
同时,标志着询问结束的询问一定是输入文件的最后一行。也就是,输入文件不会有多余的内容。
【输入输出样例】
seq.in |
seq.out |
5 -2 3 1 -5 2 -5 -4 145 -1 -6 -509 -9 -14 40 -3 -13 21 -3 -3 -3 |
5 4 3 3 |
【数据范围】
对于40%的数据,满足N<=1000,需要作出回答的询问个数不超过1000.
对于100%的数据,满足N<=50000,需要作出回答的询问个数不超过500000,xi的绝对值不超过30000,解密后的a的绝对值不超过50000,解密后的b的绝对值不超过10^8,解密后的c的绝对值不超过10^18.
附加题没做o(╯□╰)o
【思路】
数据很大,单凭朴素是没办法的,
开始我想在公式上做手脚,但是未知数有两个一个i和xi,想把i消掉但是是做不到的
最终忍不住看了题解 啊啊啊!!豁然开朗啊!!!
他要加密并不是为了防离线的....就深思他弄个这个干啥....
还有一句话‘所有的询问都将会按上述方式进行加密,包括标志着询问的结束的那个询问也是这样。‘
这都是突破口,根据最后一组是a+lastans=0 那么lastans就是倒数第二组的答案....接着
将这个带如上一组的公式,就是个一元一次方程就又能求出在上一组的答案了...so:推上去就行了.....
还有别忘了开int64;公式可以转化一下在带数
转载说明出处:http://blog.sina.com.cn/s/blog_9dd49f8101014jzv.html
转载于:https://www.cnblogs.com/yangqingli/p/5204529.html
[GRYZ]寒假模拟赛相关推荐
- GRYZ[寒假模拟赛]
GRYZ娱乐时刻 [题目描述] 无聊的hyxzc不想写代码了,于是他开始玩游戏--洛克王国.众所周知,洛克王国是一个非常好玩的游戏(至少在hyxzc眼中是这样的).这天,hyxzc登上他的洛克王国账号 ...
- 2023寒假模拟赛1题解
题目 传球游戏 黑白子(2) 货车的速度(1) 最高分与最低分之差 分蛋糕 换牛奶 游戏组队 LEX 赛马比赛 萝卜保卫战 传球游戏 这道题最重要的地方是在数到第七个小朋友后,接下来是第一个小朋友, ...
- 2023寒假模拟赛2题解(普及)
题目 n的绝对值 马里奥游戏 糖果 班级的平均分 宇宙裁缝 n的绝对值 判断n是否大于零,大于零直接输出,否则乘以-1输出 #include <iostream> using namesp ...
- PKUWC2019 赛前模拟赛总结
PKUWC2019赛前模拟赛总结 2019.01.17-01.19 清华北大高校的冬令营是自己梦寐以求的. 在NOIP之前,大家都普遍认为我们初二同学提高组达到了400分,至多420分,就可以参加清华 ...
- NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...
- 2017.6.11 校内模拟赛
题面及数据及std(有本人的也有原来的) :2017.6.11 校内模拟赛 T1 自己在纸上模拟一下后就会发现 可以用栈来搞一搞事情 受了上次zsq 讲的双栈排序的启发.. 具体就是将原盘子大小cop ...
- 2020年蓝桥杯模拟赛2020.3.25直播笔记
2020年蓝桥杯模拟赛解题报告(CPP版本) 第八题 长草的bfs写法[我想暴力模拟O kmn] 深搜会爆 bfs像投到水里的涟漪 问题: const int dx[] = {1, 0, -1, 0} ...
- 2021年 第12届 蓝桥杯 第4次模拟赛真题详解及小结【Java版】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
- 2021年 第12届 蓝桥杯 第3次模拟赛真题详解及小结【Java版】
蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2021年(第12届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...
最新文章
- 现今主流计算机语言,现今主流的Python图形化界面主要有哪些
- URLEncoder.encode转译后“空格”变“加号”的问题的解决方案
- Axure教程:如何使用动态面板?动态面板功能详解
- Dev GridView 绑定Listlt;Tgt;、BindingList lt;Tgt;、BindingSource
- 第三章 PX4-SPI底层驱动解析
- 椭圆曲线密码学导论pdf_椭圆曲线密码学
- 【今日CS 视觉论文速览】Wed, 12 Dec 2018
- python tkinter 窗口禁止编辑_python tkinter禁用文本窗口中的换行
- mysql 200列_认识mysql(2)
- python未定义名称大小_名称错误:未定义名称“高度”
- vue 自定义组件使用v-model
- 【VS2010学习笔记】【异常处理】general error c1010070: Failed to load and parse the manifest.
- 前端设计模式(1)--工厂模式
- JavaScript—常见设计模式整理(27)
- HDL4SE:软件工程师学习Verilog语言(十六)
- pwnablekr-asm-seccomp-sandbox
- python中转义字符与格式化字符的混合使用
- eBay自养号测评需要准备哪些资料?
- Typecho炫彩鼠标插件:HoerMouse
- 零基础搭建Tomcat集群(超详细)