树
文章平均质量分 65
Jacky35
这个作者很懒,什么都没留下…
展开
-
线段树+树状数组模板
线段树模板树状数组模板原创 2016-04-22 20:38:07 · 444 阅读 · 0 评论 -
【NOIP2016提高A组集训第14场11.12】随机游走
DescriptionYJC最近在学习图的有关知识。今天,他遇到了这么一个概念:随机游走。随机游走指每次从相邻的点中随机选一个走过去,重复这样的过程若干次。YJC很聪明,他很快就学会了怎么跑随机游走。为了检验自己是不是欧洲人,他决定选一棵树,每条边边权为1,选一对点s和t,从s开始随机游走,走到t就停下,看看要走多长时间。但是在走了10000000步之后,仍然没有走到t。YJC坚信自己是欧洲人,他认原创 2016-11-17 12:51:10 · 632 阅读 · 0 评论 -
NOIP2016提高组 第一天第二题 天天爱跑步running 题解
题目描述小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。这个游戏的地图可以看作一一棵包含 个结点和 条边的树, 每条边连接两个结点,且任意两个结点存在一条路径互相可达。树上结点编号为从到的连续正整数。现在有个玩家,第个玩家的起点为 ,终点为 。每天打卡任务开始时,所有玩家在第秒同时从自己的起点出发, 以每秒跑一原创 2016-11-25 12:53:24 · 7224 阅读 · 2 评论 -
【NOI2014】魔法森林
Description为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐士。魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为1,2,3, … , n,边标号为 1,2,3, … , m。初始时小 E 同学在 1 号节点,隐士则住在 n 号节点。小 E 需要通过这一片魔法森林,才能够拜访到隐士。魔法森林中居住了一些妖怪。每当有人经过一条边的时候,这条边上的妖怪就会原创 2017-01-09 20:36:05 · 384 阅读 · 0 评论 -
【NOI2014模拟7.11】理想城市(city)
Description Input第1 行为一个正整数N,为理想城区块的数目。 第2 行到第N+1 行,每行有两个非负整数。第i+2 行为第i 个区块的坐标vi = (xi, yi)。Output输出仅一行一个正整数,为S 的值。由于S 的值可能较大,你只需输出S mod 10^9。Sample Input11 2 5 2 6 3 3 3 6 4 3 4 4 4 5 4 6 5原创 2017-03-22 20:41:30 · 455 阅读 · 0 评论 -
【NOIP2017提高组模拟6.30】tty's home
DescriptionInputOutput一行,答案mod998244353后的值Sample Inputinput 1: 5 1 1 1 1 1 1 2 2 3 3 4 4 5 input 2: 5 0 1 0 1 0 1 2 2 3 3 4 4 5Sample Outputoutput 1: 15 output 2: 12Solution这道水题居然花了我一个小原创 2017-06-30 14:44:19 · 501 阅读 · 0 评论 -
【NOIP2016提高A组模拟8.19】树上路径
Description给出一棵树,求出最小的k,使得,且在树中存在路径p,使得k>=S且k<=E。(k为路径p上的边的权值和)Input第一行给出N,S,E。N代表树的点数,S,E如题目描述。 下面N-1行给出这棵树的相邻两个节点的边及其权值W。Output输出共一行一个整数,表示答案。若无解输出-1。Sample Input5 10 40 2 4 80 2 3 57 1 2 16 2 5原创 2016-08-19 16:10:56 · 750 阅读 · 0 评论 -
【GDOI2018模拟8.7】图的异或
DescriptionInputOutput输出文件名为xor.out。 输出一个整数,表示答案。Sample Input输入1: 4 7 3 1 128 3 4 1184 2 2 1152 3 1 1248 4 1 0 4 3 1184 1 1 224 4 1输入2: 8 15 8 4 146371386014040064 6 1 144119604376436736原创 2017-08-09 20:11:00 · 423 阅读 · 0 评论 -
【NOIP2017模拟9.3A组】摘果子
DescriptionInputOutputSample Input7 9 39 6 13 2 22 6 7 4 -19 5 28 6 -17 1 2 1 3 2 4 1 5 4 6 2 7 3Sample Output52Solution就是树上背包问题,有一个很经典的做法 按照dfs序反着来dp,那么f[i][j]表示的就是dfs序为i的点,受了j的毒的值 如果i这原创 2017-09-03 16:11:02 · 579 阅读 · 0 评论 -
【NOIP2017提高A组模拟10.5】Ping
DescriptionInputOutputSample Input5 4 2 1 5 3 3 1 4 3 2 2 4 3 2Sample Output1 2Solution如果是序列,可以知道,选的点一定是尽量靠右,贪心的脑补一下就可以证明了 树上的话就是尽量选LCA,原因是一样的 按照LCA的dfs序反着做,对于每一个限制,如果它上面没有点被选择,就选择这个LCA 实现用链原创 2017-10-05 22:49:22 · 346 阅读 · 0 评论 -
树链剖分模板+讲解
树链剖分的详解这里写得很好。我的标程与它的做法一样。 树链剖分的作用相当于在树上做线段树。 模板题 【ZJOI2008】树的统计 在一颗树上,区间查询,单点修改。 I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和原创 2016-05-06 17:13:27 · 1023 阅读 · 0 评论 -
【NOIP2017提高A组模拟10.10】Graph
Description给定一张n个点m条边的无向图,每条边连接两个顶点,保证无重边自环,不保证连通 你想在这张图上进行若干次旅游,每次旅游可以任选一个点x作为起点,再走到一个与x 直接有边相连的点y,再走到一个与y 直接有边相连的点z 并结束本次旅游 作为一个旅游爱好者,你不希望经过任意一条边超过一次,注意一条边不能即正向走一次又反向走一次,注意点可以经过多次,在满足此条件下,你希望进行尽可能多原创 2017-10-13 22:48:02 · 438 阅读 · 0 评论 -
寝室管理
Descriptionr 64 有一个好朋友,叫r 128 。r 128 是寄宿生,并且最近被老师叫过去当宿管了。宿 管可不是一件很好做的工作,碰巧r 128 有一个工作上的问题想请r 64 帮忙解决。 r 128 的寝室条件不是很好,所以没有很多钱来装修。n间寝室仅由n − 1条双向道 路连接,而且任意两间寝室之间都可以互达。最近,r 128 被要求对一条路径上的所有 寝室进行管理, 这条原创 2018-01-04 16:14:13 · 504 阅读 · 0 评论 -
【NOI2018模拟4.4】Map
DescriptionRin是个特别好动的少女。 一天Rin来到了一个遥远的都市。这个都市有N个建筑,编号从1到N,其中市中心编号为1,这个都市有M条双向通行的街道,每条街道连接着两个不同的建筑,其中某些街道首尾相连连接成了一个环。Rin通过长时间的走访,已经清楚了这个都市的两个特点: 从市中心出发可以到达所有的建筑物。 任意一条街道最多存在与一个简单环中。令Rin心花怒放的是,每个建筑物都会原创 2018-04-05 09:58:50 · 398 阅读 · 0 评论 -
【GDOI2017模拟11.2】相位幻击
DescriptionInputOutput对于每个询问输出答案Sample Input3 1 2 1 3 1 2 3 2 C 1 1 Q 2 3Sample Output1Solution树链剖分裸题 你只需要知道一棵树的子树的dfs序是连续的就行了Code#include<cstdio>#include<algorithm>#include<cmath>#define fo(原创 2016-11-09 20:59:42 · 353 阅读 · 0 评论 -
【NOIP2016提高A组五校联考2】tree
Description给一棵n 个结点的有根树,结点由1 到n 标号,根结点的标号为1。每个结点上有一个物品,第i 个结点上的物品价值为vi。 你需要从所有结点中选出若干个结点,使得对于任意一个被选中的结点,其到根的路径上所有的点都被选中,并且选中结点的个数不能超过给定的上限lim。在此前提下,你需要最大化选中结点上物品的价值之和。 求这个最大的价值之和。Input第一行为两个整数n; lim原创 2016-10-05 21:33:00 · 340 阅读 · 0 评论 -
【GDOI2014模拟】雨天的尾巴 题解+代码
Description深绘里一直很讨厌雨天。 灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。 虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连 根拔起,以及田地里的粮食被弄得一片狼藉。 无奈的深绘里和村民们只好等待救济粮来维生。 不过救济粮的发放方式很特别。 首先村落里的一共有n 座房屋,并形成一个树状结构。然后救济粮分m 次发放,每原创 2016-05-25 19:30:53 · 594 阅读 · 0 评论 -
【GDOI2014模拟】Pty爬山 题解+代码
Description在Pty学校附近,有一座名之为岳之麓的高山。Pty很喜欢和(哔——)一起爬山。 山的平面模型如下: 山由一个顶点集:A1,A2…An给定,保证Ai的x单调递增。我们将Ai和Ai+1之间连上线段,表示山的某一段。如下图所示: Pty想要爬到这座山的最高的顶点,当两个顶点的高度相同时,我们认为x比较大的顶点要高一些。Pty不是盲人,所以他将会在爬山时采取一些策略,使得他原创 2016-05-26 19:25:41 · 720 阅读 · 0 评论 -
点分治模板 (树中点对距离)
点分治就是在一棵树中,将每个点分治…… 基本概念: 点分治:将一棵无根树变成有根树,再分别处理每棵有根子树。 重心:在一棵树中,这个点的最大子树是所有点中最小的。也可以说是删除该点时,树内剩下的子树最大节点数最小。 如何求重心??求出size,什么是定义,就怎么求。一般来说总(不是每次)时间复杂度为O(n) 找重心的代码树中点对距离原创 2016-05-11 20:46:04 · 1440 阅读 · 0 评论 -
【NOIP2013模拟】Freda的传呼机 题解+代码
这题又有点像码农题!!Description为了 随时 与 rainbow快速交流, Freda制造了 两部传呼机 。Freda和 rainbow所在的地方有N座房屋、M条双向 光缆 。每条光缆连接两座房屋, 传呼机发出的信号只能沿着光缆传递,并且 传呼机的信号 从光缆的其中一端传递到另需要花费 t单位时间 。现在 Freda要 进行 Q次试验, 每次选取两座房屋,并想知道 传呼机的信号在这两座房屋原创 2016-05-27 20:57:09 · 3190 阅读 · 3 评论 -
可持久化线段树
线段树想必大家都知道,是一种十分有用的数据结构。请看一道例题 题目:一堆数,有两种操作,1.将x这个位置改成y 2.查询x~y之间的最大值很简单的一道题,现在将题目改变一下,变成 题目:一堆数,有两种操作,1.将x这个位置改成y 2.查询第T时刻x~y之间的最大值那么有了T时刻后怎么做? 用可持久化线段树!(主席树) 很容易想到对于每个时刻开个线段树,不过不仅耗空间,而且耗时间。原创 2016-05-18 20:54:03 · 3131 阅读 · 2 评论 -
【GDOI2014模拟】Tree 题解+代码
DescriptionWayne 在玩儿一个很有趣的游戏。在游戏中,Wayne 建造了N 个城市,现在他想在这些城市间修一些公路,当然并不是任意两个城市间都能修,为了道路系统的美观,一共只有M 对城市间能修公路,即有若干三元组(Ui, Vi,Ci) 表示Ui 和Vi 间有一条长度为Ci 的双向道路。当然,游戏保证了,若所有道路都修建,那么任意两城市可以互相到达。 Wayne 拥有恰好N - 1 支原创 2016-06-12 19:14:40 · 478 阅读 · 0 评论 -
【NOIP2016模拟7.11】树 题解+代码
题目描述输入输出样例输入5 5 1 2 1 3 2 4 2 5 Q 2 C 2 Q 2 Q 5 Q 3样例输出1 2 2 1数据范围n,m<=100000题解可以离线并查集倒着做,但是如果强制在线呢? 用树链剖分,可以点击看一下模板 对于这题的每个询问x,查询从x到1中的dfs序最大的点。对于修改x,直接把dfn[x]进行修改就行了。 但是回答时回答的是点而不是dfs序原创 2016-07-11 14:43:35 · 551 阅读 · 0 评论 -
阴阳 详细题解+代码
DescriptionFarmer John 正在在计划自己的农场漫步。他的农场的结构就像一棵树:农场有N个谷仓(1<= N <=100,000),分别由N-1条路链接。这样,他便可以通过这些谷仓间的道路遍及各个谷仓。Farmer John想要选择一条路线:这条路线的起点和终点分别为农场中两个不同的谷仓,这条路线不能重复经过一条边两次。Farmer John担心这条路径可能会偏长,所以他想在路线上寻原创 2016-06-15 21:59:17 · 578 阅读 · 0 评论 -
【NOIP2016提高A组模拟7.17】寻找
DescriptionBob和Alice出去度蜜月,但Alice不慎走失,Bob在伤心过后,决定前去寻找Alice。 他们度蜜月的地方是一棵树,共有N个节点,Bob会使用下列DFS算法对该树进行遍历。starting_time是一个容量为n的数组current_time = 0dfs(v): current_time = current_time + 1原创 2016-07-17 12:28:56 · 556 阅读 · 0 评论 -
【GDOI 2016 Day1】第四题 疯狂动物城 题解+代码
我恨码农题!!!题目大意一棵树,三个操作 1、从X到Y的路径上每个点的权值加Z 2、查询X到Y的一些神奇东西 3、将树回复到第X次操作后的状态输入第一行n,m。n个点,m个操作 接下来n-1行每行两个数表示X连到Y 接下来一行n个数:每个点的初始权值 接下来M行对应上面的三种操作(其中X和Y要亦或上次的答案)题解deep[i]表示深度,a[i]为i的权值 其中有40% 的数据是一条链,原创 2016-05-23 19:43:33 · 913 阅读 · 0 评论 -
【NOIP2016提高A组8.11】种树
DescriptionInput第一行n,m表示点数和边数 接下来m行,两个整数x,y表示x和y之间有无向边Output有几个,分别使什么Sample Input6 6 1 2 1 3 2 4 2 5 4 6 5 6Sample Output3 4 5 6Data Constraintm,n<=100000Solution题目都说到缩环了,那就先考虑tarjan tarjan找出割原创 2016-08-11 19:43:31 · 487 阅读 · 0 评论 -
【NOIP2016提高A组五校联考4】label
DescriptionInputOutput对于每一组数据,输出答案Sample Input3 2 2 0 1 2 3 3 2 1 3 1 2 3 3 1 1 2 2 3Sample Output4 2 12Data ConstraintSolution对于20%和40% 的数据,可以设DPf[i,j]f[i,j]表示节点i选的数是j 那么转移就是f[i,j]=Πv∈son[i原创 2016-10-09 20:18:40 · 418 阅读 · 0 评论 -
【NOIP2016提高A组五校联考1】排队
DescriptionInput第一行n和t,点数和询问数 接下来n-1行为边 最后t行为询问,如题目描述Output对于每个询问输出答案Sample Input5 4 1 2 1 3 3 4 3 5 1 4 2 4 1 2 2 5Sample Output3 1 1 2Data Constraintn<=100000Solution首先可以求出每个点的dfs序,从小到大就原创 2016-10-04 22:21:15 · 363 阅读 · 0 评论 -
loj2542 「PKUWC2018」随机游走 min-max容斥证明
题目描述给定一棵 n 个结点的树,你从点 x 出发,每次等概率随机选择一条与所在点相邻的边走过去。有 Q 次询问,每次询问给定一个集合 S,求如果从 x 出发一直随机游走,直到点集 S 中所有点都至少经过一次的话,期望游走几步。特别地,点 x(即起点)视为一开始就被经过了一次。答案对 998244353 取模。输入格式第一行三个正整数 n,Q,x。接下来 n-1 行,每行两个正整数 ...原创 2018-10-24 11:07:51 · 471 阅读 · 0 评论