XX Open Cup named after E.V. Pankratiev. Grand Prix of Siberia

A. Painting roofs

  • 好难不会。独立考虑每个连通块。NP,一万个人过了依然不会,完蛋了,签不上到了。
  • 卜老师表示黑白格染色即可,可以反证。

B. Game map

  • 想想 invalid 的图具有的特征。
  • 经典的逐格转移。

C. Cone lights

D. Cubic polynomials

  • 求导后求零点,抠出单调区间,每个区间上二分求零点即可。

E. Steve’s perfectionism

  • 贪心,逐位考虑填什么,填尽可能小的数。

F. Tote

  • 双乐给的 dp 题。
  • rdc 题意没搞懂,乱写过样例。
  • 注意读题,注意空间优化,时间优化。

G. Olmec

  • 倍增
  • 查询对于每一行是独立的,为了压缩空间,可以离线解决查询
  • 考虑每一行对每个查询的贡献
    • 贪心的选法一定是选从当前开始找到第一个为 X 的位置
    • 倍增预处理,然后倍增解决即可

H. Cloud computing

  • 淘汰赛,最大值施展了 log 轮。
  • 次大一定被最大淘汰。

I. Game of strings

  • 倒着长度从大到小考虑,考虑怎么从长度为k+1的转移到长度为k
  • 先插入两个长度为k的后缀
  • 然后对于height=k的相邻位置,把他们的集合合并

J. Symmetric matrix

  • 出现次数为 1 的元素都在对角线上。若 \(x,y\) 处于对称的位置,且 \(x\neq y\),那么 \(x,y\) 连一条边。长度为 \(l\) 的环只需 \(l-1\) 次交换。
  • 然后来考虑对角线上有些可恶的元素,这么一考虑事情可就多了。
    • 每当有一次出现在对角线,一次出现在非对角线的元素 \(x\) 时,让 \(x\) 对称。【一次操作让 matched pair 增多,这样的操作一定不会导致最优解解体。(也许应该吧)】
    • 现在对角线上,还有若干对出现次数为 2 的卜。
    • 如果两个对称的位置上的元素,出现次数都是 1,那么抓一对卜过来。
    • 对于一条链的两个端点上放上一对卜就成环了!

K. Wooden pipeline

  • 换根DP,对叶子节点特殊对待即可
  • 特殊情况:换根过程中,原根节点可能成为叶子
posted @ 2020-04-10 22:59  FST_stay_night  阅读(515)  评论(0编辑  收藏  举报