摘要: 写了5KB,1发AC。。。 题意:给出一颗树,支持5种操作。 1.修改某条边的权值。2.将u到v的经过的边的权值取负。3.求u到v的经过的边的权值总和。4.求u到v的经过的边的权值最大值。5.求u到v经过的边的权值最小值。 基于边权的树链剖分,放在线段树上变成了区间维护问题了,线段树维护4个量min 阅读全文
posted @ 2017-05-21 23:18 free-loop 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 解法很多的题,可以块套树状数组,可以线段树套平衡树。我用的是树状数组套主席树。 题意:给出一段数列,m次操作,每次操作是交换两个位置的数,求每次操作后的逆序对数。(n,m<=2e4). 对于没有交换操作的逆序对数,可以直接用树状数组直接统计。 考虑每次交换操作(l,r),那么逆序对数会有什么变化呢。 阅读全文
posted @ 2017-05-21 16:31 free-loop 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题意:求1-n!里与m!互质的数有多少?(m<=n<=1e6). 因为n!%m!=0,所以题目实际上求的是phi(m!)*n!/m!. 预处理出这些素数的逆元和阶乘的模即可。 # include <cstdio> # include <cstring> # include <cstdlib> # i 阅读全文
posted @ 2017-05-21 12:16 free-loop 阅读(205) 评论(0) 推荐(0) 编辑