写在前面

算是省选后的第一轮大考。

去年因为某些原因并没有参加 CTSC 以及 APIO,还是有些遗憾,所以希望今年能有所收获。

也希望今年的 CTS 能延续去年的出题风格,这样我还能苟一两个题。

然而事实证明我还是太 naive 了。

5.13 (CTS Day 1)

日常延时 5 分钟开考。

发现竟然开了-std=c++11!简直好评。

看完三个题发现都不会,瞬间就自闭了。

先玩了一会 T1 发现无果,感觉我推出了一堆奇奇怪怪的玩意儿,硬要写也很难写,而且得分似乎也不太乐观,于是无奈先扔了去看 T2。

看完 T2 感觉有很多想法。先想出了一个 \(O(Dn^3)\) 的 dp,写了一下过了样例,于是继续想优化。用生成函数推了一下发现是算这么一坨东西:

\[n! \sum_\limits{k = 0}^{n - 2m} \left(\sum_\limits{i = 0}^{+\infty} \frac{x^{2i + 1}}{(2i + 1)!}\right)^k\left(\sum_\limits{i = 0}^{+\infty} \frac{x^{2i}}{(2i)!}\right)^{D - k} [x^n]\]

于是我并没有再往下推......

于是我就写了一个 \(O(n^2 \log n)\) 的多项式做法。

看了下数据范围发现 \(n, D \leq 100\) 的部分之后居然直接就是 \(n, D \leq 4000\) 的部分,抱着试一试的心态跑了一下 \(n, D \leq 4000\) 的数据发现要 12 秒,于是又自闭了。不过我还是存着侥幸心理交了这个做法,因为我的复杂度与 \(n - 2m\) 有关,所以如果 \(m\) 相对较大的话,还是能过一点数据的。

这时候已经过了很长时间。开 T3 之前心想应该慢慢来搞提答,于是就先跑回去把 T1 的暴力打了。

看完 T3 没什么思路。想了一下感觉这个题 \(\rm type = 1\) 的部分似乎可以先通过随机化来确定安放顺序,再找个贪心的安放方法,最后再执行多次取最优解。于是先敲了一个乱搞来解决 \(\rm type = 1\) 的点。发现第一个测试点中 \(n\) 很小,于是执行次数大概设了个 \(10^4\)。令人惊喜地是,竟然直接跑出了第一个点的 \(10\) 分答案。这时感觉这种做法似乎挺靠谱,于是直接拿这份程序去跑第三个测试点,跑出了 \(9\) 分的答案。把执行次数改到了 \(10^5\) 后,也轻松跑出了 \(10\) 分的答案。之后通过一系列的调参以及修改随机方法后,在除了第五个测试点之外的测试点上都拿到了一定的分数。

对于 \(\rm type = 2\) 的部分,并没有想到太好的专门的做法。于是把 \(\rm type = 1\) 的部分的代码粘过来改了一下,令人又一次惊喜的是,竟然也直接跑出了第二个点的 \(10\) 分答案。于是我准备也通过调参来跑后面的测试点。然而事情并没有我想的那么顺利,在 \(\rm type = 2\) 的部分上,我并没有拿到太多的得分。

搞了一个多小时后,每个点的得分为:

测试点 1 2 3 4 5 6 7 8 9 10
得分 10 10 10 6 0 9 1 6 7 2

最后实在来不及搞出更高的得分了。于是检查了一下之前的两道题。在跑 T1 暴力的 \(n = m = 2, l = 3\) 的数据时,发现竟然不能很快跑出结果。瞬间慌得一逼,于是赶快把暴搜改成了打表。至于表对不对,不得而知。

考完感觉今天的得分不高。有点失望。

下午出分发现 T1 果然挂了,T2 也并没有搞到预期之外的分数,于是最后的得分为 0+36+61=97。发现许多人 T2 得分很高,后面才得知光从 \(n\) 个变量的角度考虑的 \(O(n^2)\) dp 很傻逼。此时我的心情和省选第一天考完极其相似,十分难受。不过今天毕竟已经考完,只能希望明天考好一点。

5.14 (CTS Day 2)

日常延时 5 分钟开考。

看完三个题发现还是都不会,不过 T1 是个似乎可做的计算几何,于是准备把重心放在 T1 上。

首先想了一个 \(O(3^n)\) 的状压 dp。之后感觉可以把所有的线段按某种顺序排序后做区间 dp,但很快就发现这显然是假的,于是瞬间没了思路。这时候想到了一种贪心,即把每条线段先看成单独的凸包,然后通过不断合并凸包取更优值,直到不能再合并为止。然而发现第三个样例就能叉掉这种做法。不过,把这种做法反过来,即先把所有线段看成在同一个凸包内,再贪心地去分裂凸包,倒是能通过所有小样例。于是敲了一份这种做法,过了前三个样例。我怀着试一试的心态,跑了一下第四个样例,发现需要花 4 秒多一点的时间,并且输出从第二位开始就和答案不一样。

我准备先通过小数据拍一下这种贪心的问题。于是先把状压 dp 写了,然而发现过小的数据并不能拍出问题,而能拍出问题的大数据又无法可视化,我瞬间不知如何是好。

这时我想先开后面的题,但我又并不想就此扔掉 T1,于是决定再手玩一下,又过了一会儿,终于玩出了能卡的情况。想了一下发现解决这种情况似乎只需要再套上最开始的想法,即对分裂后的每个凸包再拆成单条的线段,然后做一次贪心合并,之后两种情况再迭代进行即可。我认为这很有可能就是导致我无法通过第四个样例的原因。很快码完之后,之前拍出问题的数据得到了正确的答案。我满怀憧憬地再跑了一下第四个样例,然而——我竟然还是得到了和之前一模一样的错误答案。

这时我真的自闭了。玩了三个多小时的 T1 最后依然得到了错误的结果,此时的我几近绝望。

不过由于之前拍出问题的数据通过这种做法得到了正确答案,我认为这种做法还是应该能骗点分。于是我决定分段写,小数据状压,剩余的数据就跑贪心。

写完 T1 后剩余的时间不多了。看完 T2 感觉似乎能想个复杂度三方的做法。然而因为要求是环,要同时考虑前后的匹配情况,于是越想越复杂,最后甚至还叉掉了自己的做法。于是又只好打了个暴搜。打完暴搜甚至又卡了卡常才能保证过第一个点。

看完 T3 发现 \(O(3^n)\) 枚举还需要套一个状压 dp 才能做,于是我连暴力都不会打,瞬间又自闭了。

就这样,我又一次抱着失望出了考场。在不写挂的情况下,今天的保底分是 30+10,我只能期待 T1 有一些额外的分数。

下午出分,还好 T2 的 10 分并没有挂,T1 竟然神奇地得了 65 分。于是最后的得分为 65+10+0=75。然而发现许多人过了 T3,还有许多人 T2 也搞到了不错的分数。于是心里还是很难受,果然还是技不如人,甘拜下风。

所以两天一共四个 998244353 是什么操作啊?

5.15

颁奖日。

似乎运气还可以,拿这破分竟然苟了个银牌,心情算是稍微放松了一点吧。

不过看着大屏幕上一页页的获奖名单,感慨万千,同时也始终有一种无法描述的奇怪感受回荡在心头。

5.18 (APIO Day 1)

偷个懒吧......

没想出 bridges,没开 device,最后想到 lamps 的正确做法然而没时间写了。

我还花了好久才过了 device 的一个 5 分的 \(B = 1\) 的 subtask......

大众切了 device,总分 203,就我没有。自闭了。

考场上 bridges 一直在想询问分块+重构树的做法,然而后面发现把重构树改成离线就是傻逼题了。更自闭了。

5.19

颁奖日。

没写出 device 就显然只能拿个铜牌滚了。

后记

虽然最初抱着玩一玩的心态报了 CTS 和 APIO,不过很好的是又表露出了自己一些新的问题。希望自己能吸取这两次考试,尤其是 APIO 的教训,在马上要到来的夏令营以及最终的 NOI 上能够有更好的发挥。

CTS & APIO 2019 游记的更多相关文章

  1. thupc & cts & apio & thusc 游记 (北京17日游记)

    thupc & cts & apio & thusc 游记 (北京17日游记) Day 0 和隔壁校两人py了一下,六个人组了两队,(左哼哼)与(右哼哼),我和Camoufla ...

  2. 【比赛游记】(THUPC,CTS,APIO)2019四连爆蛋记

    5 月 11 日 坐飞机来到帝都,报道 THUPC. 试机题有皮配,不会. 晚上吃全聚德,喝星巴克.奢侈. 5 月 12 日 早上打 THUPC. 咕到 9 点半开始,到 2 点半结束.

  3. $APIO~2019$ 游记

    我是鸽子. Upd:我全国倒数第一稳了. Uupd:时间过去好久了,这段时间发生很多事,比如NOIP没了... APIO时候的事也记得不是很清楚了,随便写点颓废资料吧: 如果想吃离酒店最近的一家火锅店 ...

  4. CTS/APIO后文化课游记

    根据ghj1222的尿性,干什么事都要写一个游记划水记啥的...然后就写嘛... 现在是5.30微机课,先开个坑,学校6.5放假,我将于6.5后开始更新本文 APIO回来后发生的事真的特别多...有的 ...

  5. Codechef April Challenge 2019 游记

    Codechef April Challenge 2019 游记 Subtree Removal 题目大意: 一棵\(n(n\le10^5)\)个结点的有根树,每个结点有一个权值\(w_i(|w_i\ ...

  6. WC 2019 游记 - 败者之低语

    败者之低语 WC 2019 游记 Day -1 看了一圈PKU和THU的题,感觉图像识别真有意思... 感觉非常讲道理,pku还是比thu简单一点的... 听说高二414在thu没有进面试? 震惊!( ...

  7. FJWC 2019 游记

    FJWC 2019 游记 Day 0 春节旅游, 刚从杭州绍兴一带赶回来, 然而并没有直接飞去福州, 去了厦门再去福州, 浪费了好多时间. Day 1 酒店到学校有 \(20\) 分钟的步行路程, 感 ...

  8. CSP-S 2019 游记

    目录 CSP-S 2019 游记 DAY -1 Day 0 Day 1 Day 2 后记 CSP-S 2019 游记 机房段子: zr(老师):yyx我看你最近不错哦(此人外号拳皇 yyx:运气好运气 ...

  9. #3146. 「APIO 2019」路灯

    #3146. 「APIO 2019」路灯 题目描述 一辆自动驾驶的出租车正在 Innopolis 的街道上行驶.该街道上有 \(n + 1\) 个停车站点,它们将街道划分成了 \(n\) 条路段.每一 ...

随机推荐

  1. java读取excel文件数据导入mysql数据库

    这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...

  2. 2018-2019-2 《网络对抗技术》 Exp6 信息搜集与漏洞扫描 20165222

    1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 https://www.exploit-db.com/收集各种应用软件的漏洞,如tomcat服务器 ...

  3. T-MAX组--项目冲刺(第一天)

    THE FIRST DAY 项目相关 作业相关 具体描述 所属班级 2019秋福大软件工程实践Z班 作业要求 团队作业第五次-项目冲刺 作业正文 T-MAX组--项目冲刺(第一天) 团队名称 T-MA ...

  4. linux too many files

    Too many open files这个问题主要指的是进程企图打开一个文件,或者叫句柄,但是现在进程打开的句柄已经达到了上限,已经无法打开新句柄了. 网上一提到这个问题就要增加句柄上限,而往往这种情 ...

  5. wordpress插件开发流程梳理-二

    开发插件的最佳实践 避免命名冲突 当您的插件对变量,函数或类使用相同的名称作为另一个插件时,会发生命名冲突. 幸运的是,您可以使用以下方法避免命名冲突. 程序性 默认情况下,所有变量,函数和类都在全局 ...

  6. ios 新建app iphone 、 ipad or universal ?

    很久没有关注这个新建app的  时候 选什么的问题了, 因为我们一般在公司 都是 已经建立好的app 直接 在那上面开发. 所以很久不建立新app 遇到新的app需要你自己去创建的时候 可能就会 有突 ...

  7. 关于tomcat-users.xml添加用户被重复加载的问题mark

    今天用Eclipse启动tomcat带不起来项目,想进tomcat管理页面看我的工程是否已经发布,但是管理页面没有配置tomcat用户,于是进行tomcat-user.xml的用户添加. 本来想当然地 ...

  8. Flex 布局的最简单表单

    http://www.ruanyifeng.com/blog/2018/10/flexbox-form.html https://www.cnblogs.com/grt322/p/8531882.ht ...

  9. 【分类算法】决策树(Decision Tree)

    (注:本篇博文是对<统计学习方法>中决策树一章的归纳总结,下列的一些文字和图例均引自此书~) 决策树(decision tree)属于分类/回归方法.其具有可读性.可解释性.分类速度快等优 ...

  10. ubuntu server 18.04 有线网卡默认关闭,需要手工配置才能使用的方法

    1.安装完ubuntu server 18.04 后,笔记本电脑的有线网卡已经识别了,但是没有ip, 并且插上网线后端口灯不亮. 解决方法: 第一步.配置端口链路状态为 up # ip link se ...