一年一度的CSP又来了,然而我已经初二了。
这次若是没过提高初赛估计就退役了,努力吧。
做了几道题,感觉手感还可以,2019到2021的初赛题已经被我刷烂了。
我还通过统计学计算出每个选项正确的几率。(然后发现最分数高的竟然是选D!)
最近一场模拟赛第三。
学校作业是真的多…还让不让人准备初赛了。
不过又到了中秋节,我恨不得吧中秋节放到复赛后再来过。
啊啊啊啊啊啊…
中秋节,做了一套题…
这都7:00了还不见月亮,这什么中秋节啊(
晚上我们还上了两节高中数学,服了,一套题都没做。
原来这天有中秋游园会,8:30分开始,然后我们信息对晚修在上数学,
结果9:40下课时已经结束了,带来买东西的50元白带了。
今天上午发现xhj没来上课,我以为是发生肾么事了,就没太注意。
上午第二节是信息课,上来强行脱了极域,然后老师强制关机时我没事(
于是上一个班的作品就留了下来,相当于信息课任务完成了。
然后就开始摆烂…
本来还打算颓MC的,结果发现没网
摆了一节课之后就去体锻了。
今天一看,xhj还没来,我觉得挺奇怪,问了一下隔壁机房,才发现xhj停课了!
那他文化课不爆炸? 好卷啊!
老师中午给了我们十几套初赛模拟题(话说为什么这么晚才给啊
专挑程序阅读做了一下,发现都还好。至少没有四毛子算法那么恶心
这两天一直在做老师给的题,差不多做了6套了。
晚上数学作业耗了我一节晚修(整整一个小时啊!),
然后中间休息又去找了物理老师,硬是在那等了10分钟,回到教室才发现自己其他作业一笔没动。
语文要求小练笔,英语有周报,生物还有,最后晚修后20分钟我都呆在教室…(我tm还是物理课代,又花了5分钟整理作业)
于是晚上又没去机房。
今天中午做了一套题之后觉得初赛准备的差不多了
于是去做正常的OI题(紫),结果发现剩下的半个小时没想出来做法(当然最后是看了题解,然后没写代码)。
中午在发现考场在我们学校,上一次还是2019年。
那这次主场作战,不过也得过了。
后天初赛,中午跑去学了一下根号数据结构和cdq分治,结果没做初赛题。
现在初二周五都是8:00才放学…硬生生多了2个小时的“培优”。
最恐怖的是,今天这2个小时培优是语文…,然后晚上老师要我们用30分钟写完一篇600作。
又拖到了8:20才离班,最重要的是,我作文还没写完(啊没错,我语文很烂)
回家已经9:50了,但是可以熬夜!
虽说准备的差不多了,但是还是有点慌,毕竟没过就石俊危了。
不是,为什么11:00左右我家突然响了防空警报?
当时我在做初赛题,听到后懵了。
周末作业打算摆烂,毕竟考好初赛要紧,考完再补不迟。
这一天又把老师给的那十几套题的程序阅读做了一遍,问题不大。
晚上提前回学校,因为明天赛场就在学校里。
普及目标:80
提高目标:70(当然要看实际难度)
早上6:30被班中同学未关的闹钟吵醒。
然后7:30离开了宿舍,去了趟机房。
又打了套题。
8:30和其他同学去苏元楼门口等着。
8:45进考场,我和qyb,sjw,lsw同一个考场。
结果几分钟后,老师把我们叫了出去“本来这个时间点你们是进考场的,但要先检查,所以所有人带齐东西出去。”
搞了半天,我们9:05才全部进考场,然后一堆xxs不停的进进出出,每次回来老师都要检查一遍,又把时间拖后了15分钟。
最后,9:30开考时我们还正在发试卷。
开卷!考号 GD-J05112
第一题,我震惊了,面向对象!然后一看“没有运用”,再看选项“A.printf”,大水题
然后继续往下,又是经典链表插入,但是竟然考了哈夫曼编码,然而我忘了!于是根据我总结出来的规律,选B。
(最后发现是对的,md绝了)
还有一题考递归的定义,侮辱智商。
然后10:00左右,我做完了前面的题。开始程序阅读。
第一题,位运算(啊,那简单)。
16.删掉 unsigned
行为不变?第一反应是肯定变化啊,然后一看数据范围
假设输入的x、y均是不超过15的自然数
一算,这范围才 [0 ~ 255]。
17.改成 char
行为不变()
先想到 char 范围满足,然后才发现输出没强转 int。(会输出一个字符)
18题是来搞笑的?
19,20不是两个相同的问题吗?一算,发现 2 2
答案是 12
,服了两个都错。
21 带进去强算都没问题。果然是普及组啊。
下一题。
两个函数,算法不同,一眼望去(这不是CCF常干的事情吗),输出肯定一样。
然后再来深入研究,先画个表,填好 n=0,m=1 两列,然后开始递推:
f | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | m |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
1 | 1 | |||||||||||||||
2 | 2 | |||||||||||||||
3 | 3 | |||||||||||||||
4 | 4 | |||||||||||||||
5 | 5 | |||||||||||||||
6 | 6 | |||||||||||||||
7 | 7 | |||||||||||||||
8 | 8 | |||||||||||||||
9 | 9 | |||||||||||||||
n |
一开始,我把递推式误看成 f [ i ] [ j ] = min 1 ≤ k ≤ i ( f [ i − k ] [ m ] + f [ k − 1 ] [ m − 1 ] ) f[i][j]=\min_{1\leq k\leq i}(f[i-k][m]+f[k-1][m-1]) f[i][j]=min1≤k≤i(f[i−k][m]+f[k−1][m−1]) 了。
结果推半天推出来 f [ i ] [ j ] = i f[i][j]=i f[i][j]=i。
看选项,竟然有20我也是服了,等我用这个东西做到第 27 小题,发现选项没有 100。
我:算了先下一题吧。
第三题,solve1 一看就是而非,找啥,发现是 s q r t sqrt sqrt 下取整。
solve2 在干啥?x=(x+n/x)/2,看不懂。带入2 k 进去算,发现越来越接近 1.414
大概懂了,开始看题,28,复杂度,logn+k,对的,没问题。
9801 1,前面得出是 99,带到solve2,发现不变。对的。
30题想了比较久,最后还是选了错。
31题,47000,一平方发现是 22亿多,下意识选了对,结果赛后发现根本取不到这个值。寄了。
32 33 34 感觉都很水。
补全程序
两道题5分钟,这东西是来搞笑的吗????枚举因数都出来了。
(当看到两题答案都是ABCDA的时候,我一度怀疑我是不是做错了)
还有半个小时,回去看程序阅读第二题。
突然发现递推式错了…
于是重新推了一遍,推到m=3的时候,发现规律,m够大时
序列是这样的,1个1,2个2,4个3,8个4…
然后秒了 2627。
检查了几遍,然后响铃,出考场。感觉至少有 80 分。稳过。
突然想到过了好像没什么哈…
中午回机房去睡大觉,又对了对普及组答案。
13:50,离开了机房,前往S1考场。
真正的初赛开始。
和qyb sjw lsw lsc ljy一个考场,发现考场被二中占领了
监考老师14:15发卷,14:30开考。
1.又是Linux,能换点别的吗?还好我用过。
2.这啥,完了没用过,发现第一项约等于后两项加起来,real?,挺真实的,于是选了A
3 4 大水题
5.???宇宙射线?乱蒙了个C。
6.怎么净是些我不会的??小端是啥,大端是啥?按照题目思想,我选了个B
7.算错了,选了D
8 9 大水题
10 不应该是105吗这道题???不会,乱蒙B
11~15 大水题。
看了下时间,15:10分,开始做程序阅读。
第一题,字符串?然后观察,shift[i] 代表字符 i 在 t 中最后出现位置的后缀长度。
往下看,s[i+j]==t[j],哦,是字符串匹配。
16.不存在,输出 -1,对
17.位置是3,错
18.带入计算·,发现只在到最后两个二前一次也没有执行j++。于是选对。
19.第一眼想选A,转念一想,没学过这个阴间匹配算法啊,如果这复杂度能爆碾KMP,我们应该早就学过了。然后就选了D
20.当时不知道rfind是啥,但是知道find是啥,于是选了A。
21.又带入计算,一开始以为每次往后跳4个字符,最后只执行了4次,最后发现,是第一次跳了五个,结果我选了B。
然后没发现最后一个不用跳正确答案应该是A。
下一题,我先看了22题目,这是一个不稳定的排序算法。()
然后用排序算法的思路去想,很快就想出来是k进制基数排序。
知道这个,22 23 24题直接秒杀。
25.五个数模三后排序,因为是稳定的,所以选D
26.乱蒙,感觉是C,于是选了C(最后发现是D)
27.水沝淼㵘。
第三题,感觉像进制转换?将n转换成k进制。
啊啊啊啊,我不会负数取模,完了。
28.感觉很对,于是打了个勾,结果事与愿违。
29.CCF又双叒叕灌水沝淼㵘。
30.按照k进制的想法思考了一下,好像对的。
31.100转7进制,202没问题。
32.吐了,负数,然后我摆烂,算了后两位,发现没这选项,只能选了C(当时最后一位是7)。怎么都没想到答案会是B
33.同理,我算出来了个D,结果答案还是B。
然后发现只剩40分钟了,开始做完善程序。
两个有序数组k小值。
说实话,我没太看懂这个代码,于是按照奇怪的方法做完了这五道题。
但其实37.38挺简单。
在做36时,我一看,left1==0,哦那left1 于是想都不想选了B,赛后才发现根本就是不这样,是C,right1 最后几分钟回去检查了一下,感觉出题人的脑子被宇宙射线辐射了。 考完了,出考场时感觉提高有点悬。估分 [65,75]。 和qyb,lsc对了一下答案,一下子发现自己和他们答的好多不一样,最恐怖的是,他们两的差不多 我感觉我完了。 4:30分考完,我们每天周末3:00会有数学课,到5:00,然而我懒得上就回机房了。 发现洛谷上有人给了题目,于是打开在机房里和lsw讨论答案。 前面5题确认对了3题,发现没有太多错误。诶,感觉能过。 发现洛谷上有人给了答案,对了一下,79分。 好,基本稳了。 后来晚上回宿舍的时候发现,我多扣了自己分,记成2分一道判断题了。 下午听yzh说提高分数线50 “就这?CCF开玩笑吗” 又听lsw说分数线76.5,觉得这还有点合理 但是关我什么事呢?反正我估分[75,83],大概率都能过。 中午出分了,尝试登陆查分,结果CCF查分网站给宇宙射线轰炸了。 yzh开了一堆标签页来卡上查分网站,最后查出S68.5。 我试了几分钟,一次都上不去,于是摆烂了。 早上yl和我说他S78.5我S77.5。 还好,在我预测范围内, 大概率能过(虽然GD至今都没出分数线。嗯,好像就差我们GD了) 中午发现J96.5,出乎意料(好像是全省第一)。 突然感觉 出分了,真的?55?全机房都过了??? 后来发现€€£整了2000机位来收钱。 下周今天初赛,感觉很慌。 早上模拟赛全机房都做出了 T1,最后发现只有 90 分 思路和正解完全一致,但是莫名其妙丢了 10 分 没打暴力结果倒数了… 这周一直在做DP,后来老师叫我去做CF。 发现作业没写完,打算数学课上补,先去做OI题吧。 反正也快要复赛了。考不到一等就要摆烂喽。 上了CSDN才想起来今天程序员节。 啊啊啊啊…一天三次测试( 这什么老师啊。 英语考炸了,突然发现11月2号期中考 没办法只能开始背道法了。 这…这不对吧,我CSP呢? 道法考砸了。摆烂了。 后天复赛,现在开始最终冲刺。 作业好多…整个晚修从头做到尾。 复赛考场又在二中,晚上家都不用回了,直接待在学校。 明天早上普及我不参加,但是好像要用到我们机房,备考不了… 中午回机房时,在四楼其他机房发现了贴好的比赛座位表… 看到自己名字了,四楼电脑语音四室,座位号16。 仿佛看见了自己明天坐在那个位置上冥思苦想… 不过好像我们机房没有作为考场。 下午去买了个巧克力,明天考试吃。 晚上语文课直接请假,复习模板去。 明天lsc要考普及组,没办法我们只能早点睡了。 10:12离开了机房。 回到宿舍,发现物竞zry在。 lsc定了一个7:10的闹钟, 10:30 关灯,睡觉。 早上被kyh遗留下的闹钟吵醒。 lsc一怒之下,闹钟尸横遍野…(电池洒落了一地) 继续睡觉。 7:10分,lsc的鸡你太美准时响起。 又被吵醒。 想了想,算了还是去机房吧… lsc, wjy, yzh 参加了普及组。 来到机房,哇,除了我们机房之外其他机房门口都站满了人。 看到了许多我校初一学弟。( 这届初一很强,连提高都没报。(当然除了至尊强者 fjy) 在机房和dyy复习模板。发现自己忘了tarjan缩点。 11:30分就复习完了,然后开始摆烂。 1:35最后复习了一轮。 把 splay, tarjan, KMP 等背了一遍。 1:45前往考场。 有一个小六(应该是吧)突然去问 sjw 一些关于二中的问题… “你们这边有编程班吗?” 一旁的 wxd,qyb和我差点笑死。 2:00终于进考场了。 但是进考场还不能做题,对着“CSP2022考试注意事项”罚坐了30分钟。 2:27,“好了,现在可以开始解压压缩包了”。 密码:slimy2022(啊艹忘了) 2.28,解压完了,我连选手的文件夹都没建直接开始看题。 T1. 相邻旅游景点之间间隔不超过 k + 1,从家出发走四个不同景点再回家,问最大积分。 第一眼,第一个景点离家不超过 k + 1,第二节点离第一个景点不超过 k + 1。 也就四个景点,劈开一半讨论。 f[i][j] 代表经过了两个景点,第一个不是 j,第二个是 i 的最大分数。 然后最终答案就是枚举所有距离不超过 k + 1 的 i, j,取 f[i][j] + f[j][i] 最大值。 这… 这不对吧,好像是 O ( n 3 ) O(n^3) O(n3) 啊。 额…算了,70也不错,毕竟10分钟就拿到了。 2:40 先去看其他题吧。 T2. 两个序列 A n {A_n} An, B m {B_m} Bm,一个矩阵 C n , m C_{n,m} Cn,m, C i , j = A i ∗ B j C_{i,j} = A_i*B_j Ci,j=Ai∗Bj。 啊, C x , y C_{x,y} Cx,y 就是 A x A_x Ax * B y B_y By。 那每次 A 肯定选 A x A_x Ax 最大啊,B 就选 B y B_y By 最小。 艹,还有负数… 等会再来做 T2,看完题先。 T3.什么鬼题面??? 好吧,每次切割一条边,或到达一个点的所有边,然后询问是不是基环树森林。 没什么想法。 T4.一棵树,每次询问给两个点 u,v,问从 u 到 v 每次最多跳 k 条边,经过点权和的最小值。 第一眼,DP,但怎么 DP? 回去做 T2 吧。 那先讨论 M I N B i > = 0 MIN B_i >=0 MINBi>=0,这时候 A x A_x Ax 无论如何都选最大, B y B_y By 自然要小。 若 M A X B i < = 0 MAX B_i <= 0 MAXBi<=0? A x A_x Ax 肯定选最小的, B y B_y By 就选最大的。 那么 B i B_i Bi 有正有负? 没事,先讨论讨论 A i A_i Ai。 当 M I N A i > 0 MIN A_i > 0 MINAi>0, A x A_x Ax 最大的话, B y B_y By 一旦选负数,没了。 所以 A x A_x Ax 选最小值,这时候 B y B_y By 自然选负方向最大的值,也就是最小值。 当 M A X A i < 0 MAX A_i < 0 MAXAi<0, A x A_x Ax 无论选啥, B y B_y By 再选负数就是助人为乐了,于是选最大值。 A A A 为了追求执念,于是要选负方向最小值,也就是最大值 M A X A i MAX A_i MAXAi。 然后…最终该来的还是来了,若 A i A_i Ai 有正有负… A 选正数,B 就选负数,A 选负数,B就选正数。 那 A 就有两种选择,一种是大于等于 0 的最小值,一种是小于等于 0 的最大值。 然后 B 则在 A 选大于等于 0 的时候选最小值,A 选小于等于 0 的时候选最大值。 讨论完了,于是我们要想一个数据结构。 可以维护数组,支持询问区间最大值,询问区间最小值,询问区间大于等于 0 的最小值,询问区间小于等于 0 的最大值。 有什么数据结构呢? STL表!!! 难以置信,我居然认为我会做 T2! 2:45,那开始打代码吧。 3:14打出来了。 经过各种调试和修改,我在 4:30 总算,写完了。 艹,只剩两个小时了… 先把 T1 暴力拿了吧… 花了半个小时,写了个 O ( n 3 ) O(n^3) O(n3) 暴力。 T3,还是先打暴力吧。 基环树可以直接 O(n) 判。 好像 O(nq) 可以写。有 40 分。 T4,先写个差分,解决 k = 1 的,有 16 分。 然后提取出链,直接 DP,可以拿到 n <= 2000 中的 k = 2,应该有 20 分。 总分一算:70 + 100 + 40 + 36 = 246。 大概率可一等。 最后 10 分钟打算打个 T2 对拍,结果没写出来。然后摆烂。 出考场。 把考号交给 lsc,帮忙测了一下 10 + 0 + 0 + 36 = 46 什么鬼?我 T2 TLE了? 不对啊,我严格是 O(n+q) 的。 越界检查了也没有,freopen 也删了。 最后,反应过来开了个 int 的函数,然后末尾没写 return 0; 话说这样在考场上会炸吗? T3 也是同样的情况… 服了。 lsc 又告诉在某 OJ 上测了 0 分??? 我不信,我非常不信。 但是还是摆烂了。 明年CSP我要开warning!!! 不管了,下次注意就行,CSP2023RP++9.25
“这不有脚就能过”9.26
9.27
9.28
自己很强 ,话说我2020CSP-J1也考了全省第一(10.?
DAY -6
什么?昨晚颓废被抓?DAY -5
DAY -4
你干嘛…哎…呦 )DAY -3
DAY -2
DAY -1
DAY 0
铃声是鸡你太美 。DAY 1
CSP-J2
话说他们好猥琐啊 )CSP-S2
第四个景点离家不超过k + 1,第三个景点离第四个景点不超过k + 1。
q 次询问,每次 A 在 [ l 1 , r 1 ] [l_1,r_1] [l1,r1] 内选一个数 x,B 在 [ l 2 , r 2 ] [l_2,r_2] [l2,r2] 内选一个数 y。
A 想让 C x , y C_{x,y} Cx,y 最大,B 跟 A 过不去。询问每次最终的数。
假设所有人都是大聪明。DAY 2
突然发现自己进迷惑行为大赏了DAY 3