随笔分类 - 并查集
摘要:这题离散化+并查集,没看出关dp什么事。(那他为什么放到dp里面)用Si记录前i项的和。拆成两个点,i*2表示与第i个相同,i*2+1表示与第i个不同。用并查集判断。区间[a,b]就可以看成Sb-S(a-1),用并查集保存S的奇偶性的相同和相异情况。注意数组开时要开成4*n+4,我在这里RE了一次代码:#include#include#includeusing namespace std;struct dt{ int id,p,l;}a[10100];int fa[20100];bool d[5100],f;bool cmp1(dt x,dt y){ return x.p<y.p;}bo
阅读全文

浙公网安备 33010602011771号