CSP-S 2022游寄

Day -?

初赛过了,81.5,浙江分数线还是挺高的,非疫情60多,疫情70多

Day -1

得知了杭州不再作为考点,考点改为绍兴一中,不过没有因疫情取消算很好了(求面基

Day 0

持续复习ing,不知道复习些什么,单调队列也不大会,kmp也不大会,还摸了会鱼

Day 1

10:00

离开宁波,前往绍兴一中

12:30

吃了一碗盖浇饭,味道不错,吃完饭碰到了一些好朋友,有几个刚考完J的,从中获悉了一下题目(今天J组T3和前年差不多?),碰到了lzh,ykq,yh,yjy,qbn,lzc等大佬.

13:45

寄,走到北门了,赶紧回转,在校门口碰到了whx,lxd,xyz大佬(好多jc的/ll)

比赛开始

看了一下四题,以为T3是个模拟,随后先去写了T1,T1在连好边后不大会做,就去看了T4,把T1的连边改了一下,写了个floyd,大概20分左右,然后去写T2,搞出来一个O(n^2)的做法,特判了特殊情况,大概60~75分,随后开始瞎搞T1,最终想出了dp

struct last{long long w;int last1,last2,last3;}f[2510][6];
void lastly(last u,int p) {return (u.last1==p||u.last2==p||u.last3==p);}
void lastpush(int i,int j,int k)
{
	f[k][i]=f[j][i-1];
	f[k][i].w+=ed[j][k];
	if(i==1) f[k][i].last1=k;
	if(i==2) f[k][i].last2=k;
	if(i==3) f[k][i].last3=k;
}
void dij()
{
	for(int i=1;i<=n+1;i++)
	  for(int j=0;j<=4;j++)
	    f[i][j].w=-1;
	f[1][0].w=0;
	for(int i=1;i<=4;i++)
	{
		for(int j=1;j<=n;j++)
		  for(int k=2;k<=n;k++)
		    if(ed[j][k]!=-1&&f[j][i-1].w!=-1&&f[k][i].w<f[j][i-1].w+ed[j][k]&&!lastly(f[j][i-1],k));
		      lastpush(i,j,k);
	}
	for(int i=1;i<=n+1;i++) if(ed[i][n+1]!=-1) mx=max(mx,f[i][4].w);
	cout<<mx;
}

dp部分大概是这样写的,不知道会不会寄,然后突然发现T3是判基环树直接O(n^2)走人大概40.

估分[0,100]+[60,75]+[40,40+],[20-,20]=[120-,235+]

分差有点大啊,问了一些jc的人都好高(wtcl

Day 2

洛谷自测:85+60+40+20=205

infoj自测:95+60+40+20=215 大概200吧

Day 3

小图灵测试:100+60+40+20=220,小图灵竟然是最高的!

Day ? ——2022/11/7

官方成绩出来了:80+60+60+20=220 感觉有点危险

posted @ 2025-05-03 08:37  zhjzhmh  阅读(2)  评论(0)    收藏  举报