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 感觉有点危险