数据结构瞎乱写
_Shmily
这个作者很懒,什么都没留下…
展开
-
2020 Multi-University Training Contest 3---- HDU--6793、Tokitsukaze and Colorful Tree(离线+树状数组)
题目链接题面:题意:给定一棵树,根节点为1,每个点有颜色和权值两个属性。我有两种操作,更改某个点的颜色或者更改某个点的权值。询问每次更改之后∑color[x]==color[y] and x,y互不为祖先val[x] xor val[y]\sum\limits_{color[x]==color[y]\space and \space x,y互不为祖先}val[x]\space xor \space val[y]color[x]==color[y] 原创 2020-08-27 13:38:44 · 170 阅读 · 0 评论 -
CodeForces - 1243D 0-1 MST (最小生成树)
题目vj链接题面:题意:给定一张n个点的完全图,边权只有0/1两种。给定完全图中边权为1的边,求一棵最小生成树。题解:由于边权为1的边的数量较少,我们可以考虑怎么利用边权为1的边。因为我们要求最小生成树,那么肯定是要优先选取边权为0的边。我们把所有能用边权为0的边的连通块搜出来,假设最终有 cntcntcnt 个连通块,这些连通块内部均可以用边权为0的边联通,那么最终最小生成树的权值为 cnt−1cnt-1cnt−1。代码:#include<iostream>#inclu原创 2020-08-26 20:23:39 · 380 阅读 · 0 评论 -
计蒜客----Tree(树链剖分、按位维护)
题目链接题面:题意:给定一棵树,点有点权。有以下三种操作:(1)将1−−x1--x1−−x上面的所有的点的点权都 按位或上一个数 ttt。(2)将1−−x1--x1−−x上面的所有的点的点权都 按位与上一个数 ttt。(3)询问1−−x1--x1−−x上面所有数的异或和。题解:对于1−−x1--x1−−x的处理可以使用树剖处理。对于每一位建立一棵线段树,总共是31棵线段树。线段树上维护区间中这一位为 1 的数的个数。这样对数的处理就转化为了对每一位的单独处理。对于某一位来说,对于原创 2020-08-25 11:18:43 · 129 阅读 · 0 评论 -
计蒜客----Distance on the tree (树上主席树)
题目链接题面:题意:给定一棵带边权的树,问(x−y)(x-y)(x−y)的路径上权值小于等于kkk的边有多少条。题解:建立树上主席树,ans=ans(1−x)+ans(1−y)−2∗ans(1−lca(x,y))ans=ans(1-x)+ans(1-y)-2*ans(1-lca(x,y))ans=ans(1−x)+ans(1−y)−2∗ans(1−lca(x,y))其中ans(1−x)ans(1-x)ans(1−x)表示,路径1−−x1--x1−−x上面权值小于等于kkk的边数,这是主席树的基原创 2020-08-25 09:55:48 · 179 阅读 · 0 评论 -
P3168 [CQOI2015]任务查询系统 (主席树)
题目链接题面:题解:将 ( s , e , p) 拆分为(s,p)和(e+1,-p)按照第一键值升序排序,对于每一个(t,p)的二元组,在第 t 棵主席树上的abs(p)位置加上p。查询时,在第 xi 棵主席树上查询前 ki 个数的和。代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#inclu原创 2020-08-25 08:02:17 · 155 阅读 · 0 评论 -
The Preliminary Contest for ICPC Asia Xuzhou 2019:I. query(二维偏序):
很早就开的一道题目,然而一直被卡爆了。知道这样的点对有 nlogn对,但是没有转换成二维偏序问题。而是用主席树保存了所有的历史状态,空间复杂度nlognlogn直接爆掉。转换成二维偏序问题就很好做了。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>...原创 2020-08-24 20:57:38 · 251 阅读 · 1 评论 -
P3157 [CQOI2011]动态逆序对 (树状数组,线段树)
题目链接题面:代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#define ll long long#define llu unsigned ll#define pr make_pair#define pb push_back#define y1 y原创 2020-08-25 08:01:50 · 98 阅读 · 0 评论 -
P2468 [SDOI2010]粟粟的书架(主席树)
题目链接题面:代码:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#define ll long long#define llu unsigned ll#define pr make_pair#define pb push_back#define y1 y原创 2020-08-24 22:31:40 · 183 阅读 · 0 评论 -
SDUT 4778 - Cut the tree (树上启发式合并)
题目链接题面:Cut the treeDescription给一个具有 N 个节点的有根树,以 1 号节点为根,节点编号从 1 开始,点有点权。树的第 H 层权值为深度为 H 的所有点的点权之和。树的总权值为所有层权值的最大值。问分别割掉以 1,2,…,N 为根的子树后,剩余树的总权值为多少。Input第一行输入一个正整数 N 表示节点的个数。(2 <= N <= 100000)接下来 N-1 行每行两个正整数 x , y,表示节点 x 和节点 y 之间有边。最后一行输入N原创 2020-08-24 22:10:24 · 131 阅读 · 0 评论 -
Codeforces Round #286 (Div. 2) B. Mr. Kitayuta Colorful Graph(并查集)
题目链接题面:题意:给定一张n个点m条边的无向图,每条边都有颜色,询问两个点之间一共有多少种不同的连接。每种连接经过的边只能有一种颜色,两个连接所经过的边的颜色不同视为两个连接不同。具体参考样例。每种颜色对点建立一个并查集,询问时枚举颜色,若在当前颜色的并查集下x与y联通,那么就存在当前颜色下的连接。#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>原创 2020-08-24 22:02:14 · 90 阅读 · 0 评论 -
中国石油大学ACM俱乐部开放训练赛 问题 G: 奎奎画画 并查集 + 逆向思考
“为你写诗,为你静止,为你做不可能的事”,爱情是一种怪事,它让奎奎开始学习画画。奎奎认为一张画的艺术价值等于画上的白色联通块个数(当一个格子和它上下左右四个方向上的某个相邻格子颜色相同,则认为它们属于同一个联通块),奎奎还认为他作画的艺术价值和妹子对他的好感度紧密相关,因此奎奎非常在意每一时刻他的画的艺术价值。 为了简化题目,奎奎在一张n行m列的白色矩形格子画布上作画,他一共画了q笔,每一笔都是从...原创 2020-08-24 21:44:31 · 148 阅读 · 0 评论 -
中国石油大学ACM俱乐部开放训练赛 问题 E: Ktree 树的直径
题目描述炼金术师灵岩在与巫师Slanely争夺馅饼的过程中处于劣势,于是灵岩召唤出了K树一起争夺馅饼。K树是一棵权值和为s但权值分配方式未定的树。Slanely偷偷施展法术,使K树的直径尽可能小。现在灵岩想知道召唤出的K树直径为多少。输入第一行给出两个整数n和s ,n,s<= 100000, n为节点数, s为树的总长度。接下来,每行两个整数u,v,表示节点u和v之间有一条边相连。...原创 2020-08-24 21:48:11 · 156 阅读 · 0 评论 -
P2056 [ZJOI2007]捉迷藏(边分治、点分治)
题目链接这题原来一直T,题解也大多是点分治括号序列等。我是用边分治写的。加上快读和O2,这题就过了。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#def...原创 2020-08-24 21:32:32 · 144 阅读 · 0 评论 -
7-5 2020 CCPC Wannafly Winter Camp Day1 E. 树与路径(树上差分等差数列)
在一棵有根树 T 上,任何两点间的最短路径都能够分为两个阶段:从起点出发,沿着向根的方向走若干条边。向着终点,沿着离开根的方向走若干条边。定义一条路径的权值为向上走的边数乘上向下走的边数。特殊地,当起点等于终点的时候,两阶段的边数都是 0;当起点是终点的祖先的时候,第一阶段的边数是 0;当终点是起点的祖先的时候,第二阶段的边数是 0------这三种情况下,路径的权值都是 0。现在给出一棵...原创 2020-08-25 09:21:21 · 119 阅读 · 0 评论