day0

  第一件事当然是去酒店入住+领一堆东西。

  感觉酒店不错,而且离学校挺近的,走路10分钟不到,骑车5分钟就到了。

  然后去学校吃饭。我们在教工饭堂吃饭,饭菜还不错,但是没有筷子差评。

  吃完饭后找了一下附近的咖啡厅,然而并没有找到。

  剩下的时间都在玩手机。

day1

  有半个小时试机时间,就敲了三个板子(NTT,SA,LCT),结果一个都没用到。

  开场先看A,发现是个傻逼题,10分钟切掉。

  然后看B,想了一会感觉不会做,就跳过了。

  接着发现C是傻逼题,一个小时写完+拍完。

  D也想了一会想不出来,也跳过了。

  这时候已经过了两个小时了。

  后面两个小时都在死磕B题,想过两个DP,但都过不了拍。最后写了一个\(O(n^2)\)的DP。

  出考场后问了一下B题怎么做,发现差分一下就是联赛题了。

  我退役把.jpg

  中午一直在玩手机。

  下午讲评,D是一个数学+生成函数题,感觉这种题做四个小时都做不出来。

  最终得分:100+60+100+0=260

题解

  A:傻逼题不解释

  B:差分之后就变成:有\(n\)个数,你每次可以把一个数\(+1\),同时把另一个数\(-1\),问你最少需要多少步才能让所有数\(\bmod m\)都变成零。排序+贪心就行了。

  C:如果把所有的深度(插入&询问)加上时间的话,就是一个单点修改矩形求和的题了。CDQ分治+树状数组。貌似树套树也能过。

  D:考虑缩点以后整个图会长什么样。假设有\(k\)个强连通分量,就一定存在一条长度为\(k\)的链。我们可以枚举这条链上相邻两个点的连边,那么这条边前面的连通分量连到后面的边的方向都是固定的。所以我们可以算出每一条边出现的概率,然后连通分量个数\(=\)上面的边数\(+1\)。

  实际上是枚举这条边前面的点数。
\[
ans=\sum_{i=1}^{n-1}\binom{n}{i}{(\frac{1}{2})}^{i(n-i)}
\]
  然后考虑有告诉你路径的时候要怎么做。

  对于每条路径,我们可以枚举这条边是在这条路径的哪两个点之间,这样就有一个\(O(n^2)\)的DP了。

  如果一条路径跨过了这条边,那么就会对上面那条式子有\(2\)的贡献(因为有一条边的方向确定,抵消一个\(\frac{1}{2}\))。

  所以我们可以对于一条长度为\(k\)的路径列一个生成函数:\(1x^0+2x^1+2x^2+\ldots+2x^{k-1}+1x^k\)

  设把这些生成函数乘起来后的生成函数是\(\sum_{i=0}^na_ix^i\),那么答案就是\(\sum_{i=1}^{n-1}a_i{(\frac{1}{2})}^{i(n-i)}\)

day2

  开场先看A,果然是一道最短路题(话说d2t1除了最短路&BFS还出过什么?)。不过感觉到了出题人深深的恶意,因为把莫比乌斯反演强行塞进了一道签到题。

  做完之后去看B,发现是一道套路题,可以直接二项式展开,也可以变换一下变成组合数。

  然后。。。就发现C和D一道都不会。

  在思考了半个小时后,想到了D的正解之一。很不幸的是,我找了几个看上去这个算法会错的数据把这个算法叉了,就把这个算法扔掉了。最后写了一个暴力。

   最后一个小时一直在思考第三题,突然想到可以枚举\(h\),找满足条件的\(x\)在那个区间内。接着发现数据随机,就写了一个两个\(\log\)的线段树做法。本机测了一下极限数据,跑了\(6\)秒,应该是过不了的。

  中午还是一直在玩手机。

  下午讲评前听说C大常数两个\(\log\)做法过了,觉得很不可思议。

  最终得分:100+100+100+50=350

题解

  A:求两点之间的边权可以用莫比乌斯反演,然后二分+最短路。
\[
\begin{align}
&\sum_{i=1}^n\sum_{j=1}^mi+j[\gcd(i,j)=1]\\
=&\sum_{d=1}^{\min(n,m)}d\mu(d)(\frac{n}{d}S(\frac{m}{d})+\frac{m}{d}S(\frac{n}{d}))\\
S(n)=&\sum_{i=1}^ni
\end{align}
\]
  B:可以直接二项式展开+DP,也可以推一下式子变成
\[
\sum_{i=0}^k\begin{Bmatrix}k\\i\end{Bmatrix}i!\sum_{S\subseteq V}\binom{f(S)}{i}
\]
  然后还是DP。

  后面这个做法可以优化到\(O(nk)\)

  C:可以发现求答案的过程就是在笛卡尔树上面跳,因此可以暴力维护笛卡尔树。因为数据随机,所以树高和 子树大小的期望都是\(O(\log n)\)

  D:以\(x\)为起点跑一棵最短路树。那么最小环一定只经过一条非树边。

  直接处理出每个点在\(x\)的哪棵子树内,然后枚举那条非树边。

  最短路可以用不加堆优化的dijkstra,因为是稠密图。

day3

  今天在电子阅览室考。

  开场先看A,题目说的是二维偏序,但我脑子里想的一直是三位偏序。我只会\(\log^2\)的做法,很明显会MLE,就跳过了。

  然后看B,感觉不太好做,也跳过了。

  然后发现C是个水题,就花了30分钟切掉了(我在试机的时候写过一个SA模板,直接搬过来用了)。

  做完C之后突然发现A是二偏维序,也花了30分中去写+对拍。

  接着就一直在搞B,写了个两个\(\log\)的做法,推了好久的式子+一堆细节。

  写完前三题只剩下一个小时了,就开始思考第四题,发现无法理解题目。问了评委,评委让我仔细阅读题目。

  那我也没什么办法啊。。。就一直盯着题目猜题意,过了几分钟才看懂。但是已经没时间写正解了。就写了个 暴力。

  下午发现B的后面5个点挂了,而且第一问都是错的。

  我也很绝望啊。。。明明都拍上了。。。

  UPD:问题找到了,有一个求子树内点数的地方加了一个取模。。。

  最终得分:100+50+100+20=270

  为什么出题人那么喜欢出NOIP三合一啊。。。

题解

  A:\(O(n^2)\)做法是tarjan求强连通分量。正解是用线段树优化建图。

  B:第一问就是求重心,第二问只需要求出一个点的子树内所有点到这个点的距离和,可以DP或者用其他方式搞一搞。

  C:求有多少条不同的路径就是求整个图的最大流,求答案可以二分+哈希或者把每个猴子的串排序后求第\(k\)小的相邻两个之间的LCP。

  D:先用tarjan把所有小岛找出来,再用树型DP求直径,最后用DP求分拆数(五边形数定理)。

总结

  这次比赛暴露了许多问题。

  1.在想一道题时如果往一个方向想了很久也做不出来,不妨换个思路。

  2.要积累一些常见的容易忽略的道路,如:差分,分块,二分答案等等。

  3.在想到一个做法后不要轻易地否定这个做法,一定要确保这个做法一定是错的再扔掉。如果有时间不妨实现以下,可能修改一些小的细节之后就正确了。

  4.其实第一点和第三点有一点矛盾,所以你要想规划好每道题要花多少时间去想。我给自己的时间是半个小时,想不出来/改不好就换题或换思路。

  5.写题速度不够快,第三天出现了会正解但写不完的情况。

  6.很多要取模的题可以在对拍的时候换一下模数(比如说换成特别小的模数),以检验是否有不该取模的地方加了取模,该取模的地方没有取模。

GDOI2018游记&题解的更多相关文章

  1. 「CSP-S」2019年第一届Day1游记+题解

    「CSP-S」2019年第一届Day1游记+题解 Day 1 7:30 A.M. 8:10 A.M. 8:30 A.M. T1 格雷码 题目 考场经历+思考(正解) 8:50 A.M. T2 括号树 ...

  2. GDOI2018游记

    前言 不知怎的,本蒟蒻居然拿到了GDOI参赛名额 于是乎,我稀里糊涂地跟着诸位大佬屁颠屁颠地来到了阔别已久的中山一中 腐败difficult and interesting的GDOI比赛就这样开始了. ...

  3. 2020.3.23 模拟赛游记 & 题解

    这次的模拟赛,实在是水. 数据水,\(\texttt{std}\) 水,出题人水,做题人也水.??? 游记就说一句: 水. T1 metro 弱智题. 人均 \(100pts\). #pragma G ...

  4. P5290 [十二省联考2019]春节十二响

    题目地址:P5290 [十二省联考2019]春节十二响 骗分方法 如果你实在一点思路也没有,暴力都不会打,那么请考虑一下骗分. 方法一 输出所有 \(M\) 的和. 期望得分:0分. 实际还有5分 方 ...

  5. NBL小可爱纪念赛「 第一弹 」 游记(部分题解)

    比赛链接 洛谷:禁止含有侮辱性质的比赛 . ??? 反正我觉得,gyx挺危险的 不说废话. 首先,比赛经验,前几个小时不打,跟着刷榜. 一看 T1. 发现是道水题,直接切掉了. 然后看到了 T2. 感 ...

  6. NOIP2016游记(非题解)

    去年的比赛现在来发是不是晚了. -------------------------------- Day1-白天 出发啦, 动车购票处一群丧病的又在玩售票机 动车上看到胡神打苍蝇 苍蝇打苍蝇 在车上颓 ...

  7. 「浙大ACM」图森未来杯游记一篇以及简易口胡题解

    前言 蒟蒻有参加了ACM比赛,这一次有适合HY和慕容宝宝大佬一起比的,他们好巨啊,把我带飞了. 又是窝掌机,QAQ,他们仗着自己巨,就欺负窝... 我又打了\(4\)个小时的代码,而且那个键盘太恶心了 ...

  8. CTSC2016&&APIO2016滚粗记&&酱油记&&游记<del>(持续更新)</del>

    挖一波坑 #include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs. ...

  9. 2019余姚培训游记+ZJOJD2划水记

    2019余姚培训游记 突然就想写一个... 注意:以下全是胡言乱语的自high,还有很多错别字 Day 0 来的比较早,早上就到了 上午把一本小说看完了,是一个年轻作者的处女作. 我觉得我第一本书一定 ...

随机推荐

  1. SAP MM MI01事务代码里的批次确定

    SAP MM MI01事务代码里的批次确定 1 – 批次管理启用之后果 一个物料如果启用了批次管理,那么库存管理以及盘点等诸多事务里都需要在批次的层次上进行. 货物移动的时候,需要在界面上指定相关货物 ...

  2. layui topbar图标(即返回顶部)未显示的解决方法

    在自己搭建纯html模板的时候,遇到了topbar无法显示的问题,搜了社区都没啥有用的解决方法,于是引用了util.js的源文件,发现用dom变量未获取到正确的scrollTop值,经过反复测试,把这 ...

  3. 自定义xUtils框架

    xUtils是基于Afinal开发的目前功能比较完善的一个Android开源框架,最近又发布了xUtil3.0,在增加新功能的同时又提高了框架的性能.它的功能很强大,但是有时候我们只需要其中的一些功能 ...

  4. Android为TV端助力 关于4.0之后不能直接获取SD卡外部存储路径的问题

    Environment.getExternalStorageDirectory()是Android 2.x时代的产物,那时Android主流设备只有很小的内置存储器,然后都会外置一张sd卡,那时这个方 ...

  5. 精简你的 docker 镜像

    精简你的 docker 镜像 Intro 现在 docker 的使用越来越普遍,今天来谈一下如何精简你的 docker 镜像 为什么要精简 docker 首先来说说为什么要精简 docker 镜像,减 ...

  6. spring学习总结——装配Bean学习三(xml装配bean)

    通过XML装配bean Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了.不过,鉴于已经存在那么多基于XML的Spring配置,所以理解如何在Spring中使用 ...

  7. LinuxCPU性能监控工具---mpstat

    mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具.其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中.在多CPU系统里,其不但能查看所有 ...

  8. 日志学习系列(一)——Log4net的基础知识学习

    今天把Log4net日志记录做了封装,作为一个公共的类库.记录一下应该注意的地方.先了解一下log4net的理论知识. 参考百度百科 一.log4net是什么? log4net库是Apache log ...

  9. centos7下kubernetes(15。kubernetes-外网访问service)

    kubernetes提供了多种类型的service,默认是cluster IP ClusterIP cluster内部IP对外提供服务,只有cluster内的节点和pod可访问,这是默认的servic ...

  10. 转://11g之后,通过v$wait_chains视图诊断数据库hang和Contention

    1g之前,通常我们数据库hang住了之后,我们会对数据库做hang analyze来进行分析,在11g之后,我们可以通过一个新的视图v$wait_chains来诊断数据库hang和contention ...