摘要: 【题意】给定n个点的树,每个点初始权值为1,m次操作:1.x到y的点加值,2.断一条边并连一条边,保证仍是树,3.x到y的点乘值,4.x到y的点权值和取模。n,m<=10^5。 【算法】Link-Cut Tree 【题解】区间加和区间乘标记的处理:【BZOJ】1798: [Ahoi2009]Seq 阅读全文
posted @ 2018-03-02 16:24 ONION_CYC 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 【题意】给定序列,支持区间加和区间乘,查询区间和取模。n<=10^5。 【算法】线段树 【题解】线段树多重标记要考虑标记与标记之间的相互影响。 对于sum*b+a,+c直接加上即可。 *c后就是(sum*b+a)*c=sum*b*b+a*c,也就是加法的部分也要乘。 所以,每次在乘法的时候要把加法标 阅读全文
posted @ 2018-03-02 15:08 ONION_CYC 阅读(292) 评论(0) 推荐(1) 编辑
摘要: 【题意】给定n个点和m个操作,每次操作:1.连接2个点。2.断开2个点。3.查询2个点是否连通。m<=2*10^5。 【算法】Link-Cut Tree 【题解】LCT模板题,Link,Cut,和查询两个点的root是否相同。 #include<cstdio> #include<cstring> # 阅读全文
posted @ 2018-03-02 10:36 ONION_CYC 阅读(257) 评论(0) 推荐(0) 编辑