声明:作者是个菜鸡
初赛前我把近5年J/S真题全刷了一遍
分数飘忽不定,真有点慌
还好最后没寄。
(大家都说今年J简单,S难,但我觉得恰恰相反qwq)
考J初赛的时候脑子短路了,阅读程序三少看了一个括号,然后就没读出来是一个牛顿迭代,白丢了六分。
单选,阅读1,2又寄了好多个。
最后86分卡线过。(SZ太卷了,分数线81.5)
S组做的挺舒服,除了负数取模和sq单选剩下的都好做。
最后89.5,单选错了四个,SZ第八,只能说是运气不好。
md
考完心态炸裂。
花半小时秒了T1T2T4,然后T3想+打代码花了1h
然后我就开始睡觉,吃东西,玩数字华容道(电脑里自带的小工具里面的)
最后10min我乱构造一组数据,跑出来,发现T3寄了,但是各OJ的数据都没让我寄掉,希望ccf数据水点。
出考场以后,我发现我T4也寄了
附代码:
#include
using namespace std;
#define int long long
int dp[505][105],dis[505][505];
int n,k;
paira[505];
bool cmp(pairaa,pairbb){
if(aa.first == bb.first)return aa.second> n>> k;
for(int i =1;i<=n;i++)cin>> a[i].first >> a[i].second;
sort(a+1,a+1+n,cmp);
for(int i =1;i<=n;i++){
for(int j =1;j<=n;j++)dis[i][j] = abs(a[i].first-a[j].first)+abs(a[i].second-a[j].second)-1;
}
dp[1][0] = 1;
for(int i=2;i<=n;i++){
for(int j = 1;jk)break;
dp[i][l+dis[i][j]] = max(dp[i][l+dis[i][j]],dp[j][l]+1);
}
}
}
}int ans = k;
for(int i =1;i<=n;i++){
for(int j =0;j<=k;j++)ans =max(ans,dp[i][j]+k);
}cout<< ans << endl;
return 0;
}
我整体写的都是对的
if(l+dis[i][j]>k)break;
这句话让我 100 -> ?
(还不是因为考场上不检查,然后降智了)
(警钟敲烂)
一团糟。
前2h写了T1和T2
后2h脑力就不够用了,T3直接忘记基环树性质,打了个dfs跑环,还调了好久。
T4我以为爬树再dp可以混48分,后来想了想只能混28分qwq
结果自测下来,T1挂了一个小地方,我算上了极小的一部分只到达了三个点的情况(这也就是我luogu 90,infoj 100,有道图灵 95的原因)
T2好像是全打错了,在考虑的策略上有点问题,但是能过绝大部分样例。
(luogu 100,infoj 40,有道图灵 70)
目前期望的得分:
[90,100]+[40,90]+40+[24,36] = [198,266]
不出意外的话1=是拿到手了,但是冬令营什么就别想了。
upd:出分了,最后CSP-J 375,CSP-S 259,感觉没挂多少分,在校内排名还挺高,都要感谢ccf,但是初一有一个小朋友AK了CSP-J,被单调队列力(大悲)。
希望noip能正常发挥吧 qwq