bzoj3091】的更多相关文章

欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ3091 题意概括 鉴于本人语文不好,此题的描述原题很清晰,废话不多,请看原题. 可怕,原题是图片,不可以复制题目+删掉废话了…… 题解 http://blog.csdn.net/popoqqq/article/details/40823659 这位大佬写的很好. 我的代码在找错的时候一边找,一边该,然后发现和他改的好像…… 代码 #include <cstring> #include <c…
http://www.lydsy.com/JudgeOnline/problem.php?id=3091 (题目链接) 题意 给出一棵无根树,维护四个操作.link,cut,路径加法,路径期望查询. Solution 右转题解→_→:PoPoQQQ 对于无法直接维护的值,我们可以考虑做差,或者是用别的比较好维护的值来加减乘除得到. 细节 全程LL,先翻转再打标记. 代码 // bzoj3091 #include<algorithm> #include<iostream> #incl…
[BZOJ3091]城市旅行 Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 Sample Output 16/3 6/1 HINT 对于所有数据满足 1<=N<=50,000 1<=M<=50,000 1<=Ai<=10^6 1<=D<=100 1<=U,V<=N 题解:做过不少在线段树上推式子的,但是头一…
Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 Sample Output 16/3 6/1 HINT 对于所有数据满足 1<=N<=50,000 1<=M<=50,000 1<=Ai<=10^6 1<=D<=100 1<=U,V<=N   恶心的动态树上维护各种信息. 不难发现ans=ΣAi*i*(len-…
最近屯题都忘了把解题报告写上了这道题是一道比较烦的LCT,我们先考虑每个点上到底要维护什么我们设路径上有n个点,从起点到终点编号为1~n显然期望=S/[(n+1)n div 2]S=∑a[i]*i*(n-i+1) //这里理解一下=∑a[i]*[i*(n+1)-i*i]=(n+1)*∑a[i]*i-∑a[i]*i*i;考虑到找出x,y之间的路径就是把x,y路径上的点弄到一棵Auxiliary tree上对于每个点x,我们显然要维护以x为根的子树对应的序列的∑a[i]*i和∑a[i]*i*i,记为…
3091: 城市旅行 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1927  Solved: 631[Submit][Status][Discuss] Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 Sample Output 16/3 6/1 HINT 对于所有数据满足 1<=N<=50,000 1&l…
题目描述 输入 输出 样例输入 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 样例输出 16/3 6/1 提示 对于所有数据满足 1<=N<=50,000 1<=M<=50,000 1<=Ai<=10^6 1<=D<=100 1<=U,V<=N 前三个操作都很简单了,LCT就能维护,重点是第四个操作. 求一个区间所有子区间的区间和之和,直接求所有区间和不好求,我们换一种角度去做.…
题目描述 输入 输出 样例输入 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 样例输出 16/3 6/1 题解 LCT区间合并 前三个操作都是LCT的基本操作,可以LCT水过:重点在于第四个操作. 考虑一个长度为n的序列,它的子区间个数为$\sum\limits_{i=1}^ni=\frac{n(n-1)}2$,只需要维护每个子区间的长度之和即可. 考虑如果已经知道了左右子树的信息以及当前节点信息,如何更新当前子树的信息.需要解决…
Description Input Output Sample Input 4 5 1 3 2 5 1 2 1 3 2 4 4 2 4 1 2 4 2 3 4 3 1 4 1 4 1 4 Sample Output 16/3 6/1 解题思路: 大爷比我讲得好到不知道哪里去了PoPoQQQ的博客 就是考虑一个点会被经过多少次*多少贡献,感觉这个好套路,线性求解不是问题,不会动态维护QAQ. 考虑一个点代表的子树信息内部处理完毕,处理左子树对右子树或右子树对左子树的影响,像分治的想法QAQ. 最后…
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3091 题解 调了整个晚自习才调出来的问题. 乍一看是个 LCT 板子题. 再看一眼还是个 LCT 板子题,不过需要考虑两个区间的结果的合并. 首先考虑到期望可以转化为每一个区间的权值和.那么对于每一个区间,我们维护一个 \(s, ls, rs, sum\) 分别表示整个区间的和,所有前缀的和,所有后缀的和,整个区间的子区间权值和. 那么在区间合并的时候,\(rs\) 会被计算右区间大小次,\…