蒟蒻集训期间的挂分记录

7.5

T1 未正确理解题意,语文着急 痛失 30-60 怒砍5分
总分空砍10分 (运势:凶)

7.7

T1 乱搞搞错,计算太差,最简单情况不考虑
T3 将NO写成N0 痛失15分
再次怒砍10分,希望明天能有所突破
(运势:大凶)

7.8

T4取模出锅 ans*=(r-l+1)%mod 666 痛失10分
总分250
(运势:中平)

7.11

T1本来怒砍十分,之后全排列没打完,收获一枚ce
成功取得oi生涯首次保龄
破防了再也不口嗨了,md,昨天说肯定不拿十分今天就来个0分
(运势:小吉)

7.13

T1 合不合法没判 100 → 5
(运势:忘了)

7.17

T1 暴unsigned long long + frac[++num]=num*num*num 100 → 0 6666666666666
T2 暴搜写挂 35 → 20
nbnbnbnbnbnb
(运势:中平)

7.19

T1 换行打成空格 20→0
T3 我tmd特判挂了 mlgb rnm 退钱 对得起我吗,我tm打了半个点表还没出错结果特判挂个 10→0


#include<bits/stdc++.h>
#define int long long
using namespace std;
int t;
int han[1505];
void init(){
    han[1]=1;
    for(int i=1;i<=57;i++){
	    han[i]=han[i-1]*2+1;
    }
}
int hanoi(int n){
    return han[n];
}
signed main(){
srand(time(0));
scanf("%lld",&t);
init();
for(int jj=1;jj<=t;jj++){
	int n,m;
	scanf("%lld%lld",&n,&m);
	if(m==1){
		printf("0\n");
		continue;
	}
	if(m==2){
		if (n == 1) printf("1\n");
		else printf("No Solution\n");
		continue;
	}
	if(n==1){
		printf("1\n");
		continue;
	}
	if(m==3){
		if(n==100){
			printf("1267650600228229401496703205375\n");
			continue;
		}
		if(n==99){
			printf("633825300114114700748351602687\n");
			continue;
		}
		if(n==98){
			printf("316912650057057350374175801343\n");
			continue;
		}
		if(n==97){
			printf("158456325028528675187087900671\n");
			continue;
		}
		if(n==96){
			printf("79228162514264337593543950335\n");
			continue;
		}
		if(n==95){
			printf("39614081257132168796771975167\n");
			continue;
		}
		if(n==94){
			printf("19807040628566084398385987583\n");
			continue;
		}
		if(n==93){
			printf("9903520314283042199192993791\n");
			continue;
		}
		if(n==92){
			printf("4951760157141521099596496895\n");
			continue;
		}
		if(n==91){
			printf("2475880078570760549798248447\n");
			continue;
		}
		if(n==90){
			printf("1237940039285380274899124223\n");
			continue;
		}
		if(n==89){
			printf("618970019642690137449562111\n");
			continue;
		}
		if(n==88){
			printf("309485009821345068724781055\n");
			continue;
		}
		if(n==87){
			printf("154742504910672534362390527\n");
			continue;
		}
		if(n==86){
			printf("77371252455336267181195263\n");
			continue;
		}
		if(n==85){
			printf("38685626227668133590597631\n");
			continue;
		}
		if(n==84){
			printf("19342813113834066795298815\n");
			continue;
		}
		if(n==83){
			printf("9671406556917033397649407\n");
			continue;
		}
		if(n==82){
			printf("4835703278458516698824703\n");
			continue;
		}
		if(n==81){
			printf("2417851639229258349412351\n");
			continue;
		}
		if(n==80){
			printf("1208925819614629174706175\n");
			continue;
		}
		if(n==79){
			printf("604462909807314587353087\n");
			continue;
		}
		if(n==78){
			printf("302231454903657293676543\n");
			continue;
		}
		if(n==77){
			printf("151115727451828646838271\n");
			continue;
		}
		if(n==76){
			printf("75557863725914323419135\n");
			continue;
		}
		if(n==75){
			printf("37778931862957161709567\n");
			continue;
		}
		if(n==74){
			printf("18889465931478580854783\n");
			continue;
		}
		if(n==73){
			printf("9444732965739290427391\n");
			continue;
		}
		if(n==72){
			printf("4722366482869645213695\n");
			continue;
		}
		if(n==71){
			printf("2361183241434822606847\n");
			continue;
		}
		if(n==70){
			printf("1180591620717411303423\n");
			continue;
		}
		if(n==69){
			printf("590295810358705651711\n");
			continue;
		}
		if(n==68){
			printf("295147905179352825855\n");
			continue;
		}
		if(n==67){
			printf("147573952589676412927\n");
			continue;
		}
		if(n==66){
			printf("73786976294838206463\n");
			continue;
		}
		if(n==65){
			printf("36893488147419103231\n");
			continue;
		}
		if(n==64){
			printf("18446744073709551615\n");
			continue;
		}
		if(n==63){
			printf("9223372036854775807\n");
			continue;
		}
		if(n==62){
			printf("4611686018427387903\n");
			continue;
		}
		if(n==61){
			printf("2305843009213693951\n");
			continue;
		}
		if(n==60){
			printf("1152921504606846975\n");
			continue;
		}
		if(n==59){
			printf("576460752303423487\n");
			continue;
		}
		if(n==58){
			printf("288230376151711743\n");
			continue;
		}
		printf("%lld\n",hanoi(n));
		continue;
	}
	printf("%lld\n",rand());
}
return 0;
}
(运势:小吉)

7.21

好像没挂qwq
总分150
(运势:小吉)

7.22

IOI赛制再挂就有点说不过去了
这回没挂,但菜的一批
怒砍372 rnk40+
(运势:中平)

总结:

这二十多天的集训个人觉得有很多收获,首先是上述的模拟记录给我提供了很多比赛的经验和教训吧,无论是UB还是CE也好都是一个进步的过程,毕竟模拟的时候犯肯定是要比真正大考时再犯要划算的多,记录下来以后在赛前看一看也会保证不再出错。其次是打部分分的能力有不小的提升,无论是特殊性质,打表还是对于小数据点爆搜,这些能力在赛时也都有锻炼到。最后就是时间分配的问题,在这么多天的模拟中时间的分配显然也有不小的进步,至少基本不会出现想打的分没打完的情况(就一次)。
对于日常的训练对我个人的提升也很大,学到了不少以前没有接触过的新思想新算法,这几天回来也在写博客再复习一下,相信巩固后会收获更多。同时每天都有很多不会的题,补题的过程也是对个人码力和思维能力的一个提高,相信在整理之后能够真正掌握这些新学到的东西。
最后,感谢这二十多天同学与老师的陪伴,也感谢集训教练细致的教诲,也感谢宿管无微不至的照顾。莫愁千里路,自有到来风,相信未来能够继续克服困难持续进步。

posted @ 2023-07-07 15:52  jt0007  阅读(61)  评论(7编辑  收藏  举报