JOI 2022 Final
JOI 2022 Final
#3662. 「JOI 2022 Final」星际蛋糕推销
implement useful algorithm
#3663. 「JOI 2022 Final」自学
useful algorithm\(\times2\).
#3664. 「JOI 2022 Final」选举
直接枚举最终一共有\(m\)人在演讲.考虑当确定哪些city需要招人, 另外哪些要拿到选票时, 一定是先把人招全, 再拿到剩下的选票更优. 并且招人的顺序一定是按\(b_i\)不减.
于是按照\(b_i\)排序, 发现去掉只拿选票的城市以后, 招到人的城市一定在剩余城市中构成一个前缀.
定义\(f[n][k]\)表示前\(n\)个城市, \(k\)个只拿选票的最短时间. \(O(n^2k)\) DP.
另外据说可以三分\(m\), 正确性不明. link
#3665. 「JOI 2022 Final」铁路旅行 2
经典的倍增+维护可达区间. 这次转移需要用RMQ
. \(O(n\log^2 n + q \log n)\), 空间2log 或
\(O((n+q)\log^2 n)\), 空间1log.
#3666. 「JOI 2022 Final」沙堡 2
idea: 1. 对于合法状态的判定, 尝试把它写成一个对每一个元素相对独立的函数(即每个元素的贡献具有局部性), 方便后续各种操作. 2. 扫描线
考虑到对于每个数, 我们显然会走它在相邻格子中的前驱和后继, 考虑连一条有向边, 这样一个矩形合法, 也就是成链, 当且仅当\(0\)入度点只有\(1\)个.
而每个点的入度只在border在它附近的时候会变化.
大力前缀和即可.
做到\(O(H^2W)\)需要枚举一维, 用一个桶计数另一维.