GDOI2017 题解

除了2019年以外最难的一次GDOI。

房屋购置

N,M很小可以直接暴力kmp。
维护一个栈,每次插入字符后检查是否能够弹出即可。

取石子游戏

考虑dfs序,如果删除一个子树,在dfs序上是一段前缀和后缀。
把序列倍长,然后就变成了要求一段区间的mex。
显然可以用线段树解决

微信

小学生几何题

RPG

直接bfs即可。

凡喵识图

小学生语文题

王国守卫

逃亡

魔兽争霸x

abns弱化版。。。。
有一结论:最多只会用两种技能。
可以考虑像jsoi合金一样证明。
\(O(n^2)\)枚举技能
列方程\(\min(\frac{hp-xa_i}{a_j},\frac{mp-xb_i}{b_j})c_j+xc_i=y\)
y是权值和。
分类讨论\(\min(\frac{hp-xa_i}{a_j},\frac{mp-xb_i}{b_j})\)的取值。
\(\frac{hp-x*b_i}{b_j}<\frac{mp-x*b_i}{b_j}\)时会选左边,否则选择右边。
解得分界线\(z\)\(\frac{mpa_j-hpb_j}{b_ia_j-b_ja_i}\)
\(x<z\)\(x\geq z\)时可以得到\(x\)的值。
解得的结果是一次函数。
可以根据斜率知道哪个更优
效率\(O(n^2)\)

幸运串

中学生数据结构题

posted @ 2021-04-16 10:06  celerity1  阅读(115)  评论(0编辑  收藏  举报