标签:区间 优化 思路 tar 分治 com str 交流 sort
Introduce
本人比较喜欢做波兰的题目,感觉这些题目十分清真,思维也比较好.
欢迎同样喜欢波兰题目的OIer来交流.
以下是我有记录地刷过的题目.
比较好的题吧:
BZOJ #3746.[POI2015]Czarnoksi??nicy okr?g?ego sto?u
source:XXII OI - Etap I - Zadanie Czarnoksi??nicy okr?g?ego sto?u
notes:
BZOJ #3830.[Poi2014]Freight
source:XXI OI - Etap III - dzień drugi - Zadanie Za?adunek
notes:
dp优化
我从思维角度切入了一个复杂度不是特别优秀的算法,然后从数学角度优化到正解,然而如果从思维角度切入到一个虽然不是正解但是复杂度相对较优的算法,我们就走了一个很大的捷径.所以说,虽然数学角度的优化是不可避免的,但是思维角度上的优化却可以给我们一条捷径.
LOJ #2450.「POI2010」绵羊 Sheep
source:XVII OI - Etap II - dzień drugi - Zadanie Owce
notes:
计算几何+区间dp
一开始想到了30分爆搜,后来想用状压优化他,发现不行,后来又想2-sat,发现也不行,后来看到标签是区间dp就去想区间dp了.
一开始想到了dp的转移,但是预处理只会O(n^3*m)的,而且还会MLE,后来又想到了O(n*k*logk)的预处理,过掉了,发现波兰正解还有更加优秀的O(n*k)的预处理.
不同的枚举对象造成不同的时间复杂度,比如这道题,枚举边界点就会有O(n*k*logk)的预处理,而枚举凸包内的点会得到优秀的O(n*k)的预处理.当然时间复杂度的优秀还得发现单调性,而不是像我做题的时候手动sort去构造单调性.
忽视无用状态,尤其还是难以处理的无用状态,会给你不一样的思路.
凸包(环状物)用区间dp似乎比较常见诶……
感觉自己叉积还是用得不6……
BZOJ #2216.[Poi2011]Lightning Conductor
source:XVIII OI - Etap I - Zadanie Piorunochron
notes:
决策单调性优化dp
在这道题里利用决策单调性的方式可以是单调队列、单调栈,这两个玩意儿实质上是一样的都是不断二分判断两个决策点的替换点,只不过一个即时计算贡献,一个延时计算贡献,感觉各方面都差不多.还有一种是分治,就是连转移点带决策点一起分治,比上一种要慢一些,但是都是O(nlogn)的.
似乎网上的人用得都是double,然而我用的是int,虽然是有一些麻烦,但是常数和精度都更加优秀诶.
BZOJ #3711.[PA2014]Druzyny
source:PA 2014 - Runda 3 - Zadanie Dru?yny [A]
notes:用分治+数据结构来优化dp
BZOJ #3714.[PA2014]Kuglarz
notes:最小生成树(我用线性基水过了)
BZOJ #3709.[PA2014]Bohater
notes:大力贪心
BZOJ #3498.PA2009 Cakes
notes:根号分类处理
to be continued……
一般般的题吧:
BZOJ #3733.[Pa2013]Iloczyn
notes:大力dfs
BZOJ #4297.[PA2015]Rozstaw szyn
notes:树上的贪心
BZOJ #2091.[Poi2010]The Minima Game
source:XVII OI - Etap III - dzień pierwszy - Zadanie Gra w minima
notes:
十分水的博弈论dp
只要发现/感觉/证明那个结论就好了.
to be continued……
比较水的题吧:
BZOJ #3831.[Poi2014]Little Bird
source:XXI OI - Etap II - dzień drugi - Zadanie Ptaszek
notes:十分水的单调队列优化dp
BZOJ #3713.[PA2014]Iloczyn
BZOJ #3715.[PA2014]Lustra
BZOJ #1116.[POI2008]CLO
BZOJ #1122.[POI2008]账本BBB
to be continued……
标签:区间 优化 思路 tar 分治 com str 交流 sort
原文地址:https://www.cnblogs.com/TSHugh/p/8823922.html