2023CSP游寄

初赛 DAY -2

才刚考开学测就来初赛。

复赛之后就是月测,这就是初三吗。

初中最后一次 CSP,如果 S 没一等就得摆烂了。希望别因为各种原因爆炸。

在这里插入图片描述

中午下午借着刷初赛题的名义摆烂,半道题都没写。

CSP2023RP++

初赛 DAY -1

看我发现了什么。
在这里插入图片描述

初赛 DAY 0

还在学校呆着

中午刷了半套题,把老师给的资料看了一遍

晚上甚至还有课,语文道法。

道法老师怕不是喝多了,《妈的比我的还先进,啊我不小心爆粗口了》《你们忘记我今天晚上说的话啊》《我们都是黑人》

笑死我了。

9:30 离开学校

10:30 到家。

TC那句话早已抛到脑后,12:00睡觉。

初赛 DAY 1

日常9:00起床
做一套卷子,做一半不想做了(
摆烂到12:00
吃饭
继续摆烂
12:45出发
拿了本算法书在车上看,但翻都没翻一页
1:30到达,车上我妈发来了上午深圳CSP-J的试题,据说是某个聪明人带出来的,随便做了做。发现这人错了好多
但J组真的水。

1:45进入学校,在路旁发现了wxd,yzh还有学弟。
对了下考场,都在2楼,yzh和我一个考场,wxd在隔壁

聊了聊阴间题,然后一起去考场。
在考场外徘徊了20分钟,期间监考员不停催我们进去,顺便复习了一下linux的操作(这么早进去罚坐?

2:15进考场

环顾四周,前面有个大聪明,右边没来考试,左边是学弟,其他都是外校的。

监考员发答题卡、试卷

发了半天,答案是监考员偏要答题卡和知情同意书一起发,却不知道这样时间复杂度还是 O(n),但常数大了两倍不止。

扫一眼试卷,程序阅读第一题位运算,第二题好像是个筛,第三题单调性二分乱搞?第四题一道图论,第五题不知所云。
填完信息再从第一题看起,这不刚聊到的 mkdir 吗?6

T2组合数学120-24 T3算法复杂度比较(竟然没让你计算复杂度! T4考虑贪心的放前,然后发现直接铺更好,暴力枚举。
T5B什么玩意 T7暴力 T8计算
T9一眼望去什么鬼玩意把位运算和逻辑运算放一起?我记得是先位运算再逻辑运算的。但你把优先级都列出来了有什么意思?还有你好歹 a&b 整成 0 啊,不然我都不用算后面那串了。
T10 考快排流程 T11完了我不会,-o是啥?我只记得g++ main.cpp。o大抵是output?所以-o后面接输出文件名称,我选A
T12 4678一眼奇数,找不同xxs都会 T13 现场找环是吧 T14 算半天,直接到 9 的有 8 种,到 18 的有 2 种
T15 《quick_power》

抬头一看,过去了 15min,时间都耗在 T13 上了。
开阅读程序

又是一道无实际意义的程序,暴算
T16 随便推推就行,T17又考越界,T18计算是吧,T19又计算?T20 T21你只会计算是吧?

什么鬼畜的筛法,拿 i^k 筛倍数?f[i] 代表最小的质因数,g[i] 代表最小质因数的指数次方。呃下面还有。看不懂,手推。
玩不起是吧,算个质因数和有你这样的?
话说 solve2 怎么这么短。
输出两行?那估计两种算法答案相同了。
我看看。
草居然考起反演来了, ∑ i = 1 n ∑ d ∣ i d = ∑ d = 1 n ∑ i = 1 ⌊ n d ⌋ i = d = ∑ d = 1 n i × ⌊ n d ⌋ \sum\limits_{i=1}^n\sum\limits_{d|i} d=\sum\limits_{d=1}^{n}\sum\limits_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor} i=d=\sum\limits_{d=1}^{n}i\times\left\lfloor\frac{n}{d}\right\rfloor i=1ndid=d=1ni=1dni=d=d=1ni×dn
T22用脚想都知道会变,T23都说了相等,T24两题一起送挺好。T25 完不会分析,大抵是 nlogn吧 T26这还分析?人家就一个循环,你不会以为除法 O(logn) 吧?T27 计算

f内二分,f0算啥,不是,你是不知道有全局变量吗?用个全局变量会死吗?

f0 似乎在算对于每个 i,往左延伸最远的 j 使得 a[i] - a[j] >= m 的 i - j 的和是否大于 k
f就是在求最小的 m 满足上面的。够了,可以做。
T28 ✔,T29 越界 T30 模拟 T31二分复杂度 O(logA),枚举复杂度 O(n) T32 范围减少,那答案变大 T33 模拟

再抬头看一眼时间,还剩1h,先填了答题卡,再开完善程序

第K小简单路径?有点麻烦,怎么做。啊原来是DAG,水题,随便计算个路径数量就行了。呃,把做法都说了有啥意思。
T34 先跳过 T35 。。。先判断再减真有你的 T36 显然 现在再来看 T34,哦排名 k <=f[u],T37 k>1 T38 --k

算法无数,你偏挑难想到的,而且还更慢。
大致是通过分治,转化成求左端在左边,右端点右边的区间的贡献。那么显然最大值就是左边到mid的最大值和mid到右边的最大值,那么我们可以对每个左边的最大值,找到右边的比他大最大值的位置 i,计算左边的最大值 * 右边 i 之前的位置个数,右边的 j 到 r 的最大值和。所有 i 的答案加起来就是最终答案。

聪明的,你告诉我,为什么我们的区间左闭右开呢?

填完卷子还剩15分钟,摆烂,看看周围,这才发现yzh在我右后方,我这列最后坐着wyf,qyb在左后方较远处。右前方不远处是学弟。

随便检查一下,T11举棋不定,还是选了A。摆烂

监考员收卷子收了半天,原因是要收答题卡,答题纸,试卷,草稿纸,知情同意书,监考员还不会优化算法,不知道可以莫队反复横跳。

5min过后才放走,在教室外直接开始嘲讽ccf。yzh说g++那题答案是B
和qyb,yzh一起下的楼,qyb表示不够时间。出校门时遇到xhj,聊起关于左闭右开区间。
感觉没有不确定的题,必过无疑了。这次居然没考视频大小计算,还有今年是第几届,甚至连计算机硬件CPU都没提。但算法比往届难,甚至考到了反演推式子。

下午吃完饭又遇到yzh了,他告诉我g++那题答案好像是A,他前面选择题就错了这道。nice(

晚上估了一下分,不知道什么垃圾软件,大题让我填入答案,鬼知道怎么填,你倒是给选项啊。填完选择题就跑路了,28分。

又找到一份答案,对了一下,有些题不一样,全部算错的话有80左右,稳过了。

初赛 DAY 2

重新看了看答案,发现好像确实错了,T31 还有个排序,时间复杂度是 O(nlogA+nlogn) = O(nlog(An)),我绷不住了。
在这里插入图片描述
T32 问的是原输出和现输出的大小关系,原输出和先输出,而不是先输出和原输出!

T29 范围tm是1e8不是1e9啊,溢出你jb!

大约 84.5。

再见,还是去做作业吧。

DAY 8

一个星期在备赛复赛和内卷WHK中度过。

忽然听说可以查成绩了。

但查不到,摆烂。

DAY 9

大约的确是查到了,84.5(甚至半分不差

中午老师说了,确实是 84.5。

xhj 92。

DAY 11

月考近在眼前。

DAY -8

中午 TC 说下周晚修回机房打模拟赛?

从6:00打到10:00?

不用写作业了,6

晚测也没了!

DAY -5

“这是这个星期我在学校写作业的最后一天。”

DAY -4

。。。中午被要求补月考作文修改。

体育课 + 体锻从 3:50 一直上到 5:20。

最后还是在练颠球的时候暂停的。

“诶,你们是不是有同学六点要比赛的啊?那这些同学先走吧。”

逃脱了体育课的折磨。

《营养晚餐》后直奔机房。

6:00准时开赛

T1 树形 dp 大水题,花了 30min 写,原因是不知道用哪种方法写,最后选了 dfs 两遍的。

样例压缩包下载下来蚌埠住了:里面只有一组,而且还是题目上给的小样例。

毫无疑问过了,但这样例tm n=3。

有同学跑去TC,TC表示:A大样例忘记放了,现在更新你们刷新一下再下载。

好很好,大样例直接爆炸。最后一行我负数,答案 0。

盯着样例输入调了半天始终找不到原因。

用文本匹配工具匹配一下发现我和答案有且仅有最后一行不同,我就纳闷了。

无可奈何,调试一下,查看最后一个点dp数组。

0???为什么是0?????

“不对劲,肯定是我没遍历到这个点。”

我就找原因。在输入里面ctrl+f了一下5000这个点,searching string “5000” not found????

根本没边连到5000,样例错了?

TC就在这时冲了进来,样例有锅啊。这不是不小心的。当时学长比赛的时候也遇到了这个问题。模拟一下赛时情况啊。自己造样例,当时学长也是这样的。

在这里插入图片描述
好好好,跟我玩阴的是吧。

但TC又留下了一条惊人的信息:A题我们机房还没人A啊,你们赶快检查一下。

不对啊?我寻思我其他答案都和样例一样啊,不会是标程有锅???

算了摆烂,反正调不出来。

T2 怎么二次函数?还要求整数根?数学学多了?

一通转化发现是根号模板,暴力艹过。

此时dyy凑过来望了一眼我的代码,并微笑道:”我知道你A为什么挂了,哈哈哈“

“要不要我告诉你?”

“你看看这是什么?”

但见dyy指尖点在我代码上,指出我dfs函数前的类型,一个黑体标粗的 int,“咋了?”

“你再看看这个。”

dyy又指向dfs函数的末尾,一行代码后面紧跟着的是有花括号。

“艹!!!!!!!”

"我是sb。”

原来是 int 函数没有 return。


一语惊醒梦中人。

md赶紧写T3。

T3 想1h总算出来了,最大值分治乱搞。和S初赛最后一题很像。

《这就是CSPS初赛带给我的自信》

写完调完只剩半个小时了。

看 T4

发觉T4好像直接求两个串间答案就没了。然后2^m暴力

有心写暴力骗70分,奈何我不会SAM。

10:00结束。

300pts。好几个300pts,初二的 fjy 400???

T4 原来就是SAM模板啊,奈何我不会。

走出机房时仿佛像暑假正集训。

DAY -3

快乐的一天从 7:00 起床开始。

上午没做作业老师又拿你没办法的感觉非常良好。希望不要要求我们下星期补

中午刷了一下我爸不知道从哪找来的NOIP模拟赛题。

还挺难的?

下午数学周测,全是选择填空,贺贺贺(

体锻又是半途跑路。

6:00准时开赛

T1是啥,题目读不懂

但是边的数量不是在数据范围内?暴力???

好吧先打个暴力。

过了大样例,啥呀这?

T2望一眼,字符串匹配嘛,数据随机生成?不会SAM,还是先看看下一题吧

T3取折线最优,但怎么维护?二分分类讨论好复杂啊,lower_bound返回的是啥,小于x的最大的?还要考虑相等的情况。

差分一下逝世。哦好像可以,第一问答案就是正数相加。

第二问答案跟极大非正区间和极大非负区间的个数和有关系。

线段树维护,开干。

写了 30min,样例过了。

xhj还在写二分劣质做法。

回去看T2。

我会骗分!贺个SAM模板,好像跑一边再优化一下就行了。

xhj表示这个能骗到很高分。

10:00结束打开一看。

270!去,T1怎么挂了,去,T2竟然过了!

T1调试忘删了绷不住,还能拿到70分也绷不住。

DAY -2

中午老师表示下午没有模拟赛,明天也没有?

还有这等好事?

整整5h时间备赛。

刷模拟题。

DAY -1

第一次做化学实验。制取CO2。

清洗试管,为什么我的试管里面的水珠成股流下后再聚成水滴?这算洗没洗干净?

蒸馏水真好喝(

我去,带火星的小竹签。

燃烧大理石!

集气瓶一股烧焦味,“二氧化碳是无色无味气体”,是谁拿集气瓶当加热容器了?

铁架台×,氧化铁架台✔

将稀盐酸倒入石蕊溶液中,观察到石蕊溶液变红,实验完成(

一番折腾后老师总算开始讲课了。

我们组一遍过了所有步骤(yl他们做了三四遍蜡烛还是死活不灭

好闲来无事继续折腾。

燃烧小木条,制取木炭。

用酒精灯点燃酒精灯(这个没敢做

凑近导管口吸一大口CO2,果然无色无味(只不过头有点晕

将石灰石丢入石灰水(简称“石灰溶液”

制取碳酸饮料。

中午刷题。

晚上继续刷题。

DAY 0

上午到机房的时候已经 7:22了。

随便带了一道题去班里想。

课间跑操时想题。

还想出来了。(看来跑步有助思考

语文课上lxy竟然主动提出我们晚上不用培优去机房?

还有这等好事?

中午看了一下题解,做法没什么问题。

TC表示晚上你们不用集训了,可以直接跑路。

于是,下午3:40历史培优一完,全机房提包跑路。

lxy在我们临走前不忘拿着晚测卷冲进教室“那几个信竞的先拿了今晚晚测!”

可谓阴魂不散。

成功创下整个星期下午 5:00 之后都不存在于教室的奇迹。

到家 7:00

学一学SAM,背一背模板。明天上战场

在这里插入图片描述
赛前祈祷

CSP-S2023RP++
CSP-S2023RP++
CSP-S2023RP++
CSP-S2023RP++
CSP-S2023RP++
CSP-S2023RP++
CSP-S2023RP++
CSP-S2023RP++

DAY1

早上8:00起床

看了看各种板子,复习了一下这周打的模拟赛

跑去做之前的题,发现去年 T4 不会。

13:00 出发

带上电脑,在车里看板子。突然间才发现已经忘了啥叫扩展KMP了。

13:30 就到了,呆在车上做了几道题。

13:45 下车,开门就遇见 yl。

前方是 dyy,到马路对面看见了 xhj。

拍了张合照,dyy问我复习网络流了没,艹,真忘了。最近一个星期做了几十道题连网络流三个字都没见到过。摆烂

FHQ没学过,没写过,只记得Splay大概怎么打。

一起进校。我,dyy 和 yl 都在 1 号考场,xhj 在 4号。

上楼,在走廊上遇到了yzh,提着一袋巧克力。

白嫖。

靠在栏杆旁摆烂,yl 拿着一本算法书给我看,“你还记得斜率优化吗,四边形不等式?”

啊这,都忘了,赶快望一眼。哦记起来了,但凸包好麻烦,好像还要平衡树维护。

四边形不等式可以摆烂了

往下望见qyb来了。

在去1号考场的路上遇见了 lsc和 wyf,一群人围着看学弟打音游。

打的是 distorted fate。手持大佬。

进考场。

6啊,电脑敢隔这么近。

6啊,防窥屏质量挺高啊。

罚坐。

啥,zip文件打不开?

硬生生把开始时间拖延到 14:33。蚌埠住了。

总算开始了。

T1

题目读半天。以后能不能不要出这种思维简单代码简单但题目不简单的语文阅读理解题?

还好我语文有点基础(

写了30分钟。算是过样例了。

但我左边那位好像 15min 就写完了。

这边建议放普及组T1,毕竟这纯暴力O(nm^2)都能过。

看 T2

一眼:括号匹配?这不 stack 直接没了?

二眼:啥,字串?那我一遍 stack 顺便维护一些东西

三眼:咋维护,aaa 好像有点阴见。

考虑维护 1 到 i 内满足条件字串数。

i 到 i + 1 会发生啥?找到 s_i+1 上一次出现的位置?

好多种可能啊,这。

好像和回文串有关,是不是多个回文串拼在一起?

算了,感觉不是正确的思路。心态不好不太想思考。

先看T3

emmmm

大模拟好玩吗?

好吧,数据结构模拟器是吧,怎么还要求对齐?啥玩意有点小鬼畜。

阅读了5分钟题目,顺便理解了一下T3要干啥,心态逐渐恢复。

重新望回 T2

首先一个回文串一定可以被消掉。所以多个回文串拼在一起也可以被消掉。

回文自动机?啥呀这?

考虑 dp。

f i 代表以 i 结尾的可以被消掉子串个数

我要怎么计算 fi。

难道找以 i 结尾的回文串前的 fj 的和?

不对不对。aaaa会出锅。

重新理一下思路。

换成括号这题多简单?但 a 不定向啊,他可以和前面匹配也可以和后面匹配。

abbaaba 这个更阴间,好像很难算 fi。

还有什么思路?

呃,上次模拟赛 T3 不是分治吗,好像还没想过分治。

对于 [l, r],考虑求 L 在 [l, mid],R 在 [mid + 1, r] 中可以被消除的子串 [L, R] 的个数。

对于一个 L,怎么算 R 的个数,好像不能单调队列。

。。。

考虑什么时候 L, R 能被消除。

[L, mid] 在消除所有能消除的相邻的字符后,会留下一个字符串。

[mid + 1, R] 同理。

此时如果两边剩下的字符串对称,就代表可以消除!

那我只需要统计右边每个剩余字符串与左边有多少个剩余字符串对应即可。

怎么办?哈希?

好像可以。先开写!

哦,哈希你大爷!直接建个 trie 树,每次要么往儿子走,要么往父亲走,O(1)。

写!

一顿调试后过了样例。大约的确是可以AC的。

此时 16:00

直面大模拟!

二话不说直接开写。不顾时间复杂度。

拿结构体存结构体
开俩 int 存结构体空间大小和对齐要求
开个 vector 存结构体的子结构编号。(其实感觉这里用指针更容易写好像

然后就是暴力模拟。(亏我有写游戏的经验,那几个游戏里全都是结构体与结构体。

16:50 左右完工,调试挺麻烦的,调半天最后发现是初始化的问题。

剩下 30min 望了一眼 T4,想完再写肯定来不及了。打个暴力?

不太好下手。

随便写个代码图那卑微的期望为 1/50000 的分数。花了我 30s

开始检查。

首先。


警钟都烂了还能不检查吗。

还好,该用 void 的都用了,该 return 的都 return 了。

T1 容易出锅。大样例就是依托答辩 n 才 2。自己手构一组。

好,果然炸了,心里踏实了。

一调,过了。赶快去测 T2T3。

跑了大样例,应该没什么大问题。

T2开了个 2000010 * 26 的 long long,一算,好家伙,400MB,这有点危险。

赶快换成 int。

检查一下各个数据范围。

T1 我开 1000010 干啥,有病吧。

T3 结构体可能爆空间,开小点。

再测几遍样例。

最后检查 freopen。

保存。

退出。

比赛结束。

听右边的说他有150pts。写了 T1T2。

右前方有 250pts,写了T1T2T3。(都这么逊的吗(

出赛场。dyy 表示 T2 你这么用了这么个鬼畜写法?我直接 O(26n) dp乱搞过了。

啊?我是sb?

dyy说他 T3 没调出来,(这就是写游戏的好处

一起出校门。

遇到小四。一起吐槽 T1 出的什么伞兵。

走着走着在学校里迷路了。

被一个OIer追问你会T2吗?怎么写?与他讲了一番分治算法后他大受震撼膜拜后离去了。

最后从正门出的。实在找不到五号门的位置。

在校门外遇到了学弟。

啊,总算见到一个T2用分治的了。可惜他没用trie,用的map哈希,可能会T。

他T3大样例没过。有点危。

上车,回家。

到家,开始摆烂。

我超?原!

在这里插入图片描述

原题都出了,什么鬼畜。

但题解区没我这么做的。

啥?代码出了?

在这里插入图片描述
面对疾风!
在这里插入图片描述
噫!好!我中了!

希望 CCF 耗子尾汁。

dyy好像 200多。

xhj老师测了300,但好像T2又一说炸成45pts?不知道

反正过了。

DAY 2

思考了一下,发现 T2 还有更简单的做法

从左往右扫,拿个 stack 维护。

如果两个状态剩余的字符串相同,赢。

直接建一个trie没了。

我是伞兵?

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值