『CSP2019-S 第二轮退役记』
Day0
到杭州的时候是下午,休息了一下就吃完饭了。
晚上的时候闲着没事复习了一下几个不太熟的数论板子,\(\mathrm{exgcd}\),\(\mathrm{ExCRT}\),\(\mathrm{BSGS}\),还有高斯消元,线性基什么的,但愿不考。
感觉有点紧张。
Day1
好早就到文渊中学了,感觉人特别多,进考场前膜拜了一下\(\mathrm{LHJKY}\)大佬,还从手机上看了一下\(\mathrm{windows}\)系统下的开栈方法,然后就进考场了。
地下室感觉有点闷热,还没有厕所,不得不说,那个移动厕所是真的垃圾。
时间到监考老师就公布了试题的解压密码,\(\mathrm{Ren2Zhen0Shi1Kao9?}\) \(???\),我竟然还打错了一次。
开始先看题,果然还是有树上问题,而且和去年\(\mathrm{Day2}\)一样有两道,第一次似乎没那么送分,还是要找找规律。
先推了第一题,一开始看到对于\(95\%\)的数据\(k\leq2^{63}-1\),对于\(100\%\)的数据\(k\leq2^{64}\),一脸蒙蔽,出题人在想peach,感觉没什么区别啊。
然后就开始推了,最后发现可以根据题意递归,先求十进制下的值,然后再转换为二进制,时间复杂度应该是\(\log^2{k}\),好像没什么问题,但似乎有点挫。
保险起见,就和模拟程序对拍了一下,结果发现拍的飞快,这时候差不多\(9:10\)。\(\mathrm{10000}\)组数据很快拍完了就开了\(\mathrm{100000}\)组继续拍。
然后开始看第二题,感觉有点复杂,觉得应该要先思考固定括号串的统计方法,推了一下,发现可以分治,但是结合暴力\(n^2\log n\)可能过不了\(2000\)的点,感觉不太行。
再想一下发现可以直接模拟进出栈然后统计,那样的话\(n^2\)暴力的分应该是有了。
仔细一想,进出栈统计是一个增量的过程,可以直接把链的数据也过了,感觉还不错。但是放到树上似乎要支持撤销,感觉需要一定的技巧,一下可能写不出来,决定先写第三题的部分分。
这时候发现第一题的对拍怎么越来越慢,\(30\)分钟\(10000\)组都没拍完,然后想关闭对拍的时候发现\(\mathrm{exe}\)根本关不掉了,有点慌,考前停课的时候似乎有大佬也遇到过类似的情况,也拍了很多组数据了,感觉应该问题不大,就没有和老师说。
然后开始搞第三题的链和菊花,感觉链应该比较简单。一开始先想了一个贪心的做法,结果发现必须删掉所有边,有点难办,花了不少时间,还是在原来那个算法的基础上改进的。
然后我想再试试能不能关掉第一题的\(\mathrm{exe}\),结果发现什么的打不开了,电脑显示内存空间已不足。
赶快叫了老师结果是对拍把电脑内存用完了,最后没办法重启了一下,还好程序都存在\(D\)盘,没什么问题,就是费了一点时间。
然后就肝第三题的链到最后,调出了一个能过小样例的做法,不知道时间怎么样,也没时间写第二题的正解了。检查文件配置,然后就出考场了。
下午回到宾馆发现似乎第三题确实很难,但是大家都\(210\),一开始感觉自己也有\(200\)左右,也还可以。
然后在知乎上看到看到第三题出题人发的题解,直接自闭,链的部分分写的好像是假的。然后又看到第一题要用\(\mathrm{unsigned}\),又丢了\(5\)分,我在想peach吃。再然后发现第二题可以用主席树撤销,我们竟然没有写。
心态有点不好,满打满算也只有\(175\)分了,感觉\(Day2\)翻盘的概率不大了。
Day2
还是一样的流程,很快就开始考试了,解压密码我又输错了一次。
看到题就感觉不太可能是有些人昨天说了\(\mathrm{Day1Day2}\)放反之类了,感觉\(\mathrm{Day2}\)更有难度了。
第一印象:\(T1\)神仙计数,\(T2\) \(dp\)\(+\)鬼畜优化\(+\)高精,\(T3\) 估计还是计数。
先推了一下\(T1\),发现怎么\(dp\)的不太行,可能要直接计数,主要是因为有\(a_{i,j}\)的系数很烦。
然后看了一下\(T2,T3\),\(T2\)很快想到了\(n^3\)的\(dp\),但是分好像不太够,发现可以直接用二维偏序求最值,但是前缀和值域有点大,可能要用线段树,但是\(n^2\log n\)似乎过不了\(5000\)的数据,就没有写。
然后看第三题,暴力\(+\)链有\(55\)分,还算比较良心,决定先写二三两题暴力。
然后考虑优化第二题的\(dp\),一开始的想法是决策单调性或者单调队列,结果发现单调性不太有,而且决策集合的左右端点似乎不是单调增减的,也没办法单调队列,然后就放弃了。
这时候感觉第二题的线性做法可能不是\(dp\),于是决定贪心,尽可能分多的段,然后贪心地调整段边界的数字,结果两个大样例都过不去,于是就决定磕第一题了。
还是在想第一题的\(dp\)做法,想把方案和系数分开来处理,但是还是不太行,然后想了容斥,补集转换,感觉都不行,最后放弃了,敲了\(m^n\) \(dfs\)暴力。
感觉要退役了,竟然只写了三题暴力\(...\)
下午回学校,听大佬才发现第一题\(n=40\)的点可以直接\(dp\),然后我第三题的链又写挂了,没有注意到要\(dfs\),感觉彻底凉凉了。
最好情况下也就是\(\mathrm{Day1}\ 95+70+10=175\),\(\mathrm{Day2}\ 32+36+40=108\),合起来也没有\(300\),真的凉凉了,感觉不用学了。
赛后感悟
大概看完网上的民间题解之后发现其实问题还是出在\(\mathrm{Day2}\),\(\mathrm{Day1}\)反而没什么问题,\(175\)也就是我能拿的分数了,第二题尝试写了带撤销数组的正解写法,调了很久也没有调出来,也不是考场能写的题,唯一的遗憾就是\(T1\)少了\(5\)分。
然后最崩的还是\(\mathrm{Day2}\),第一次想了很久,\(dp\)早都想出来了,容斥和补集转换都想到过,竟然被自己\(pass\)掉了因为没注意到不合法方案至多只有一个菜不合法,然后就少了\(84\)分。再就是第二题没有想到\(dp\)降维,没有必要记录第二维状态,然后只要大胆猜测决策单调性就可以得到\(64-88\)不等的高分,这才是失分最多的题。
Day\(\infty\)
老师让我们写之后的安排,感觉已经退役了,哪有什么安排。
一定要好好搞组合计数和计数\(dp\),\(dp\)优化,以及\(\mathrm{ZROI}\)那种风格的思维题一定要多做,\(\mathrm{cf}\)的思维题也应该做做,再就是落实熟练高级数据结构吧。
『CSP2019-S 第二轮退役记』的更多相关文章
- CSP-S 2019 第二轮 退役记
Day 0 复习数论,复习网络流,复习动态DP,复习ac自动机,复习后缀自动机- Day 1 进考场,得到解压密码,跟时事热点没有什么关系. 感觉键盘有点难受,右半部分包括退格.方向键.回车都比较黏. ...
- Noip2018/Csp2019 ------退役记
退役记 上记 不知道为啥,自从今下午某大佬的人生第一次政治运动(虽然最后被镇压,现在小命难保)后,仿佛有一种看破感. 以下有点在自作多情,不喜者可以不看. 学信竞快一年了.可以说有收获也有失去吧. 收 ...
- CSP2019 退役记
本来想写"退役在即"的,考完 Day2 后直接改成"退役记"了 Day 0 在 ssf 的机房里继续变弱,自己写了一遍 splay 板子,居然写对了,开心 非常 ...
- NOI2018退役记
NOI2018退役记 终于我也退役了-- Day0 高中毕业前最后一次坐飞机了--在机场干什么呢?当然是打元气打元气打元气.下飞机干什么呢?当然是打元气打元气打元气. 有接机服务,大巴上有个导游,又向 ...
- 【杂文】CSP2019蒟蒻AFO(假)记
[杂文]CSP2019蒟蒻AFO(假)记 [初赛前 N 天] 时间:2019-10-15 今晚 \(2012\) 的初赛题做到心态爆炸,选择考计算机基础知识一脸懵逼,填空和后面一道大模拟直接跳过,最后 ...
- 【百度之星2014~初赛(第二轮)解题报告】Chess
声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载.可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...
- ACM退役记&&回忆录
ACM退役记 2017.9.19星期二,"九一八事变"八十六年后的第二天,永远记住这个日子,刚好是我报名ACM到现在,刚好满一年,而今天正是我注册杭州电子科技大学OJ的时间(就是这 ...
- 『土地征用 Land Acquisition 斜率优化DP』
斜率优化DP的综合运用,对斜率优化的新理解. 详细介绍见『玩具装箱TOY 斜率优化DP』 土地征用 Land Acquisition(USACO08MAR) Description Farmer Jo ...
- NOI2019退役记 upd:2019.12.1
(我把原来写的东西全部删掉了) AFO. 我退役了,\(\mbox{yyb}\)退役了. 至少,在接下来的日子里,我得投身到文化课,度过快乐的高三生活了. 这两年的\(OI\)生涯给了我很多,让我学会 ...
随机推荐
- EF-入门操作
EntityFramework Core 理解 DbContext :数据库 DbSet: 数据库表 Model : 数据行 IQueryable<Model> 查询结果集合 Lamada ...
- 点击事件的坐标计算(client || offset) +(X || Width || Left) 各种排列组合别绕晕
结论: 1,X,Y的都是属于点击位置的,width.height.left.top都是属于DOM的. 2,涉及的所有位置只与document或DOM内部有关,与DOM如何定位,周围有没有其他占位HTM ...
- C# virtual 和 abstract 区别
Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例 ...
- SQL Server中的LEFT、RIGHT函数
SQL Server中的LEFT.RIGHT函数. LEFT:返回字符串中从左边开始指定个数字符. LEFT(character_expression,integer_expression); RIG ...
- MIME格式解析
- 邮件例子 一个MIME格式的邮件例子如下: Return-Path: <mlemos@acm.org> To: Manuel Lemos <mlemos@linux.local& ...
- 在linux上安装postgresql数据库
#postgres useradd postgres chown -R postgres:postgres /media su postgres mkdir -p /media/Data1/postg ...
- python生产者和消费者模式实现(三)进程池方式
注意:如果要使用Pool(进程池方式)创建进程,就需要使用multiprocessing.Manager()中的 Queue(),而不是multiprocessing.Queue() import t ...
- ssh 使用指定网卡 连接特定网络
有时候,当电脑有两个网卡时:一个网卡 连接免费网络,一个网卡连接收费网络.这样当你想使用免费网络与远程服务器建立连接,使用诸如scp命令或者 ssh 隧道之类传输大文件.这时候你需要指定特定的特定的网 ...
- emacs 缩进
emacs提供一些编码风格,可以使用M-x c-set-style来选择你喜欢的编码风格. Possible completions are: awk bsd cc-mode ellemtel gnu ...
- python函数内容
在刚接触python的时候就有个疑问,什么是函数? python语言的函数和数学语言的函数有区别吗? 什么是函数 数学函数:给定一个数集A,假设其中的元素为x.现对A中的元素x施加对应法则f,记作f( ...