POI题目乱选

Posted blogofchc1234567890

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POI题目乱选相关的知识,希望对你有一定的参考价值。

MOR-Tales of seafaring

考虑两个节点间路径的奇偶性。把一个点拆成两个点跑bfs,然后一堆if。注意特判起点、终点相同且该点所在连通块大小为1的情况。

LUK-Triumphal arch

先二分 \(k\) ,然后dp, \(dp[u]\) 表示u的所有子树中还需要染色多少个节点,转移: \(dp[u]=\max(\sum dp[v]+son[u]-mid,0)\)

LOG

HOT-Hotels

先枚举根节点。
dfs时,把当前节点的(深度/2)级祖先的当前节点所在子树的贡献++,具体实现就和前向星一起存。然后扫到它的祖先的时候统计答案。不要用std::vector。

TET-Tetris 3D

线段树套线段树,不要用pushdown,使用标记永久化

TET-Tetris Attack

扫一遍,如果该数第一次出现,加到栈中;否则将该数删除,将该数在栈中所在的位置之上的所有元素的rank全部-1,然后计算贡献,用树状数组维护。

KUP-Plot purchase

讨厌单调栈。
对于矩阵中的每个元素 \(x\) ,如果 \(x>2k\) ,就是坏点;如果 \(k\le x\le 2k\) ,直接输出;否则是好点。
然后我们求一个好点组成的最大长方形,使得它不覆盖到任何坏点,显然用单调栈维护。
出来之后,我们逐行考虑,设当前行权值和 \(=y\) ,如果 \(y>2k\) ,在该行中从左到右一个一个删元素,直到符合条件;如果 \(k\le y\le 2k\) ,直接输出;否则删掉这一行。

MAG-Warehouse

旋转45°,把切比雪夫距离转化为曼哈顿距离,x和y的答案区间可以独立地二分求出,然后要保证输出的答案是整数,检查所有的 \((x±1,y±1)\)

以上是关于POI题目乱选的主要内容,如果未能解决你的问题,请参考以下文章

poi2007

bzoj2935 [Poi1999]原始生物——欧拉回路

[洛谷P3501] [POI2010]ANT-Antisymmetry

[POI2015]KIN (线段树)

[POI2015]PUS

BZOJ 1116 [POI2008]CLO(并查集)