尺取法
Myriad_Dreamin
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #451 (Div. 2) D - Alarm Clock
维护区间[nowclocki,i]的左端点值和右端点值和区间内的元素数目,如果nowclock指向的元素已经处理过或者不满足ai−anowclocki<ma_i-a_{nowclocki}<m则左端点右移,如果处理完以后区间内仍然有k个元素,则“关掉第i个闹钟”。#include <cstdio> #include <algorithm> using namespace std; int clock原创 2017-12-22 23:11:17 · 166 阅读 · 0 评论 -
Codeforce Educational Codeforces Round 55 (Rated for Div. 2) E - Increasing Frequency(尺取法)
考虑CCC和非CCC的贡献. 对于每一个数字x≠Cx\neq Cx̸=C,其[l,r][l,r][l,r]贡献是:[l,r][l,r][l,r]中所有的CCC为−1-1−1,xxx为111.用尺取法对每一个数字的贡献序列暴力求解。 容易知道如果合并所有的111和−1-1−1,生成的贡献序列的总长度⩽2n\leqslant 2n⩽2n,从而算法复杂度为O(n)O(n)O(n). #include ...原创 2018-11-29 02:22:14 · 189 阅读 · 0 评论