BZOJ 1863 [Zjoi2006]trouble 皇帝的烦恼

发布于 2017-06-14  107 次阅读


题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1863

题意:n 个将军驻扎成一个圆,第 i 个将军要求得到\(a_i\) 枚不同颜色的勋章,如果两个相邻的将军拥有颜色相同的勋章会立即造反,问至少需要几种勋章。


二分答案的思路还是比较容易想到的... 不过怎么判断呢...
题解做法比较机智 dp 维护两个数组 f[i]/g[i] 表示第 i 个将军与第 1 个将军重复勋章的最小/最大值
由于是 dp 过来的 一定合法 只需要判断 f[n] 是否等于 0 即可
转移还是不困难的...

 


一个非常弱的准退役OIER