其他分享
首页 > 其他分享> > CF1609E William The Oblivious (2400) (线段树+DP)

CF1609E William The Oblivious (2400) (线段树+DP)

作者:互联网

https://codeforces.com/contest/1609/problem/E

给你长为1e5的只含a,b,c的字符串,有1e5个修改(pos, c),每次将pos位置的字母改成c,每次修改后输出:将该字符串改为subsequence中不含abc的最小修改次数。

    t[k].a=t[k<<1].a+t[k<<1|1].a;
    t[k].b=t[k<<1].b+t[k<<1|1].b;
    t[k].c=t[k<<1].c+t[k<<1|1].c;
    t[k].ab=min(t[k<<1].ab+t[k<<1|1].b,t[k<<1].a+t[k<<1|1].ab);
    t[k].bc=min(t[k<<1].bc+t[k<<1|1].c,t[k<<1].b+t[k<<1|1].bc);
    t[k].abc=min({t[k<<1].abc+t[k<<1|1].c,t[k<<1].ab+t[k<<1|1].bc,t[k<<1].a+t[k<<1|1].abc});

标签:ab,线段,pos,William,修改,CF1609E,1e5,2400,区间
来源: https://www.cnblogs.com/muscletear/p/16026667.html