【比赛日志】APIO2020(2020.08.15)

考试策略:花半个小时看题目,想所有题( [Contest Strategy Lecture.pdf](../reference/Contest Strategy Lecture.pdf) )

考前突然发现 APIO2020参赛登录注意事项及竞赛规则(新版务请仔细阅读).pdf 里面有这么一条:

Snipaste_2020-08-15_08-56-13_APIO赛制

这不是Codeforces赛制吗qwq……瞬间觉得自己无敌了(Fake)

完了……比赛开始后感觉脑子不适合想题……(没有提前调整生物钟……[自闭])

  • 1:02:完了……zbl(只会T2)
  • 3:23:第二题的暴力挂了………………………………死了死了死了QAQ……MD果然该多写一些暴力的……
  • 3:35:写完第三题的暴力,拿了26分。

粉刷墙壁(paint)

感觉没怎么用到\(\sum f^2(k)\le 400000\)的性质????至多用到了\(\max f(k)\le \sqrt{400000}\approx 632\)???

做法1

维护每一个承包商可能的\(y-x\)的值,滚动窗口,维护当前窗口有没有一个\(y-x\)的值出现次数\(= M\)

但是还是不知道每一个颜色区间是否能被粉刷????

时间复杂度\(O(N\max f(k))\)……?(不知道能不能卡进时限)

做法2

枚举一对颜色相同的公司???不知所云……

交换城市(swap)

如果是一棵树的话:

设一个节点\(u\)的到父亲与到两个不同儿子的路程的\(\min\)\(f_u\),则一个询问\(u\sim v\)的答案为\(\min_{u\sim w\sim v}f_w\)

否则还需考虑当前联通块是否有环——如有环,则答案为当前连通块最大值(因为无重边、自环)。做kruskal时维护当前连通块是否有环,如没有环,维护还未被回答的询问即可。按秩合并的复杂度是两个\(\log\)的,问题应该不大…………艹居然强制在线……我没了。那就搞一个类似Kruskal重构树的东西吧……

后再在最小生成树上面做一下即可……?(感觉这个结论好玄学啊……)

有趣的旅途(tour)

想不出来比较好的构造方法……

\(n\le 500\)

询问得到每一对点的距离,每次取最大的即可。

其他做法

并没有用到度数至多为\(3\)限制……有什么用吗QAQ?

原文地址:https://www.cnblogs.com/frank3215/p/14897219.html