随笔分类 -  DP

摘要:D. Cyclic Rotation 听说很多人赛时都被这道题卡了。。感觉并不难想啊。。 逆向思考,原题意相当于如果存在 \(b[i] = b[i-1]\) ,则 \(b[i]\) 可以放在前方任意一个位置,然后这题就做完了。。 具体做法的话先统计 \(b\) 数组中哪些数可以放前排去,然后开双指针 阅读全文
posted @ 2022-04-26 22:01 FoXreign 阅读(43) 评论(0) 推荐(0)
摘要:E. Magic Stones 难点主要在想到用差分做。。 设 \(d\) 为 \(c\) 的差分数组,由 \(c′_i = c_{i+1} + c_{i−1} − c_i\) 移项可得: \(c′_i + c_{i−1} = c_{i+1} − c_i\) 因此对 \(c_i\) 进行一次操作相当 阅读全文
posted @ 2022-04-22 12:56 FoXreign 阅读(44) 评论(0) 推荐(0)
摘要:C - ThREE 先考虑如果是一条链怎么做,直接模三分类填就行 现在转换到树上,那不妨先对整棵树红蓝交替染色,假设最终红蓝点个数分别为 \(Rnum\) 与 \(Bnum\) , \(1 \sim n\) 模 3 余 1、2、0 的个数分别为 \(n_1\) 、 \(n_2\) 、 \(n_3\) 阅读全文
posted @ 2022-04-22 12:42 FoXreign 阅读(57) 评论(0) 推荐(0)
摘要:D. Optimal Partition #include <bits/stdc++.h> #define IOS \ std::ios::sync_with_stdio(false); \ std::cin.tie(0); \ std::cout.tie(0); using ll = long l 阅读全文
posted @ 2022-04-22 12:38 FoXreign 阅读(46) 评论(0) 推荐(0)