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 第二轮退役记』的更多相关文章

  1. CSP-S 2019 第二轮 退役记

    Day 0 复习数论,复习网络流,复习动态DP,复习ac自动机,复习后缀自动机- Day 1 进考场,得到解压密码,跟时事热点没有什么关系. 感觉键盘有点难受,右半部分包括退格.方向键.回车都比较黏. ...

  2. Noip2018/Csp2019 ------退役记

    退役记 上记 不知道为啥,自从今下午某大佬的人生第一次政治运动(虽然最后被镇压,现在小命难保)后,仿佛有一种看破感. 以下有点在自作多情,不喜者可以不看. 学信竞快一年了.可以说有收获也有失去吧. 收 ...

  3. CSP2019 退役记

    本来想写"退役在即"的,考完 Day2 后直接改成"退役记"了 Day 0 在 ssf 的机房里继续变弱,自己写了一遍 splay 板子,居然写对了,开心 非常 ...

  4. NOI2018退役记

    NOI2018退役记 终于我也退役了-- Day0 高中毕业前最后一次坐飞机了--在机场干什么呢?当然是打元气打元气打元气.下飞机干什么呢?当然是打元气打元气打元气. 有接机服务,大巴上有个导游,又向 ...

  5. 【杂文】CSP2019蒟蒻AFO(假)记

    [杂文]CSP2019蒟蒻AFO(假)记 [初赛前 N 天] 时间:2019-10-15 今晚 \(2012\) 的初赛题做到心态爆炸,选择考计算机基础知识一脸懵逼,填空和后面一道大模拟直接跳过,最后 ...

  6. 【百度之星2014~初赛(第二轮)解题报告】Chess

    声明 笔者近期意外的发现 笔者的个人站点http://tiankonguse.com/ 的非常多文章被其他站点转载.可是转载时未声明文章来源或參考自 http://tiankonguse.com/ 站 ...

  7. ACM退役记&&回忆录

    ACM退役记 2017.9.19星期二,"九一八事变"八十六年后的第二天,永远记住这个日子,刚好是我报名ACM到现在,刚好满一年,而今天正是我注册杭州电子科技大学OJ的时间(就是这 ...

  8. 『土地征用 Land Acquisition 斜率优化DP』

    斜率优化DP的综合运用,对斜率优化的新理解. 详细介绍见『玩具装箱TOY 斜率优化DP』 土地征用 Land Acquisition(USACO08MAR) Description Farmer Jo ...

  9. NOI2019退役记 upd:2019.12.1

    (我把原来写的东西全部删掉了) AFO. 我退役了,\(\mbox{yyb}\)退役了. 至少,在接下来的日子里,我得投身到文化课,度过快乐的高三生活了. 这两年的\(OI\)生涯给了我很多,让我学会 ...

随机推荐

  1. Redis系列---redis简介01

    一. 本章我们将用简短的几句话来帮助你快速的了解什么是redis,初学者不必深究 1 Redis简介 Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写 ...

  2. MySQL学习——操作存储过程

    MySQL学习——操作存储过程 摘要:本文主要学习了使用DDL语句操作存储过程的方法. 了解存储过程 是什么 存储过程是一组为了完成特定功能的SQL语句集合. 使用存储过程的目的是将常用或复杂的工作预 ...

  3. MySQL学习——查询表里的数据

    MySQL学习——查询表里的数据 摘要:本文主要学习了使用DQL语句查询表里数据的方法. 数据查询 语法 select [distinct] 列1 [as '别名1'], ..., 列n [as '别 ...

  4. Set a One-to-Many Relationship设置一对多关系 (XPO)

    In this lesson, you will learn how to set a one-to-many relationship between business objects. The C ...

  5. 易优CMS:arcview的基础用法

    [基础用法] 名称:arcview 功能:获取单条文档数据 语法: {eyou:arcview aid='文档ID'} <a href="{$field.arcurl}"&g ...

  6. Oracle 12C Win 10 安装 应用 总结

    安装参考 https://www.cnblogs.com/onezg/p/8768597.html 我当时安装的是Oracle 12c Release 1(Version 12.1.0.1.0,64位 ...

  7. [b0020] python 归纳 (六)_模块变量作用域

    test_module2.py: # -*- coding: utf-8 -*-"""测试 模块变量的作用域 总结:1 其他模块的变量,在当前模块的任何地方,包括函数都可 ...

  8. Linux(一)-- Linux环境搭建

    Linux环境搭建 一.虚拟机安装 1.下载地址 https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmwar ...

  9. Jmeter获取数据库查询结果某一字段的值

    1.首先进行连接数据库 2.添加JDBC Request 3.添加BeanShell PostProcessor 4.注意点:如果获取的是INT数字类型的,结尾需要添加toString()

  10. 【矩阵快速幂】之奥运 hdu 2254

    1.城市的编号不是从0到n-1,而是随便的一个数字,需要离散化否则不能存相关信息 2.城市数不超过30,也就是说我的方法开矩阵不超过60,但是我残念的一开始以为最多可能有20000个不同城市    血 ...