Link
看到题,转化了一番,搞出了一个类似"选出不与别的边相交的边"之类的东西。。然后感觉非常复杂不会做 其实正解的思路也差不多,只是没有刻意去套那么鬼畜的模型。。
Solution
对于每种颜色,断点只能在相邻的两个珠子之间。 如果两条边能满足对于每种颜色,都在这种颜色相邻同一对珠子之间,就可以取。 所以! 对每种颜色,把相邻的两个珠子中间的片段都编上号。 这样,如果两条边的每种颜色的编号都相同,就可以取。这一步用哈希实现。 这样,对于一段哈希值相同的点,用乘法原理算方案数,用双指针算最优解。
Tips
坑点 如果在算哈希的时候碰上了每种颜色在链上的第一个珠子,需要把都标上同一个号。 双指针的时候,右指针必须在解开始变差之前停下,否则可能影响左指针移动之后的计算。 so 要格外小心拆环的边界情况 双指针要如上地写 and 如果做题的时候套的模型太鬼畜导致不会处理,不一定是想法错了。。可以回归本质,用正常一些的模型试试
Code
1 |
|