
树
河渔船
成长的小垃圾
展开
-
NOIP 2014 联合权值
评测传送70分:枚举中间点,然后再两层循环枚举这个点的所有邻接点,两两相乘,加入和中。(可能退化为n^2) 100分:在70分的基础上加一个优化,当我们枚举了中间点,然后再枚举它的邻接点 j 时,用sum[i]表示 i 的所有邻接点的权值的和,那么以 i 作为中间点,j这个点对答案的贡献为 (sum[i]-w[j])*w[j]。 最大值则用两个数组来记 i 的邻接点的权值的最大值和次大值。时间复原创 2017-10-17 17:05:09 · 293 阅读 · 0 评论 -
洛谷 NOIP 模拟 DAY2
T1 入阵曲题目链接 n^4的做法很容易想到。 100分的做法一开始没想到; 我们枚举两行,然后求这两行之间的和时,记录下和的种类和数量,求到第j列的时候,前面有几列取模k得到的数与当前求得的一样时,那么这两列之间的和一定是k的倍数。#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #includ原创 2017-11-07 20:51:12 · 285 阅读 · 0 评论 -
洛谷八连测 #R8
题目链接T1答案是求C1x+1∗Ck−1n−1/Ckn+xC_{x+1}^1*C_{n-1}^{k-1}/C_{n+x}^k 取得最大值时的x值。 数学题。 化简,求单调性。T2对每一门成绩都建一棵树。 每条边都加一条反向边。 能够通过正向边到达的点都是比自己成绩低的,反向边则是比自己高的。 最好成绩是只有三门成绩搜比自己高时才比自己高。 最坏成绩是只有三门都比自己低时才比自己低。原创 2017-11-07 21:02:51 · 404 阅读 · 0 评论 -
luogu 模拟题 赤夜
做法一:对于每一个点的修改,顺序改变一下是不会影响结果的。我们离线做,可以一个点一个点的修改。 (还是过不了啊,仍然T)qwq。 做法二: 我们尽量把实际的操作搞成标记,不操作,以降低复杂度。 我们用三个数组实现。 pushup[x]表示x周围的点对x的影响,tag[x]记录的是x这个点操作的次数,sontag[x]表示的是x所有的儿子节点的操作次数。 那么修改时:pushup[x]+=原创 2017-11-08 14:25:55 · 434 阅读 · 0 评论 -
NOIP 2015 运输计划
评测传送二分答案+LCA+树上差分最好用Tarjan求LCA,有的oj会卡倍增。做法: 我们用LCA求出需要查询的每个计划的路径长度。 然后二分答案,check( )的时候,我们把大于mid的路径(因为这一些都是要去边的)求一下交点(边), 如果并非全都都交于一条边或者去掉交边后也不能让这些路径都小于等于mid,那么mid就是不可以的。 求交边时,用到树上差分。#include<iostre原创 2017-10-23 17:14:01 · 271 阅读 · 0 评论 -
刷题#R8
T1 这是一个更相减损。 出现的所有的不同的数就是更相减损过程中出现的; 直接这样做的话,会T或者爆; 再进一步分析一下,就会发现,我们可以把更相减损优化为辗转相除,因为多几次更相减损就是辗转相除,那么不同数的个数在辗转相除中就是每次的a/b,因为a只有减损a/b次才会达到b,a%b的状态,这之间的数是递减的,不会出现重复。T2 50分,我们可以倒着加边,添加进新的边时,用并查集维护,合并原创 2017-11-03 08:05:21 · 251 阅读 · 0 评论 -
刷题#R6
题目链接 T1 画图可以找出规律; 所有有环的都仅有两种情况, 而树上的方案数为n种; 先跑出带环的图记下乘几个2,然后在与所有的树相乘 如果出现一个联通图中有两个及以上的环时,无论如何也不能匹配成功,那么方案数就是0 期望得分 100 T2原创 2017-11-04 21:38:52 · 289 阅读 · 0 评论 -
洛谷八连测 #R7
LIST T1 T2 T3 题目链接T1T1 每次spfa(或者bfs),时间复杂度O(spfa*Q); 每次先把每一个查询的特殊点入队,距离为0; spfa或者bfs即可。#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<cti原创 2017-11-06 16:29:55 · 586 阅读 · 0 评论