ICode9

精准搜索请尝试: 精确搜索
  • 题解 P3233 [HNOI2014]世界树2021-06-19 11:02:35

    题目传送门 解题思路 正解当然是虚树了。 首先对于原树以及虚树各开一个结构体存边,这个不用多说。 然后我们先 DFS 一遍,求出各个节点的时间戳,子树大小,深度以及父亲节点,并初始化倍增 LCA 。 对于每一次的操作,我们都建一棵虚树(注意数组的清空),为了方便,我们此后操作的 DFS 都从 1 节

  • [HNOI2014]米特运输2020-11-20 11:03:39

    题目描述 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量。在以米特为主要能源的D星上,这种米特能源的运输和储存一直是一个大问题。 D星上有N个城市,我们将其顺序编号为1到N,1号城市为首都。这N个城市由N-1条单向高速通道连接起来,构成一棵以1号城市(首部)为根的树,高速通道的方向由

  • P3235 [HNOI2014]江南乐2020-09-03 21:33:37

    题目描述 小A是一个名副其实的狂热的回合制游戏玩家。在获得了许多回合制游戏的世界级奖项之后,小A有一天突然想起了他小时候在江南玩过的一个回合制游戏。 游戏的规则是这样的,首先给定一个数F,然后游戏系统会产生T组游戏。每一组游戏包含N堆石子,小A和他的对手轮流操作。每次操作时,

  • luogu P3238 [HNOI2014]道路堵塞2020-05-06 21:57:37

    代码: #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<deque> #include<queue> using namespace std; deque <int> q; priority_queue <pair<int,int> > Q; const int N=100000

  • 洛谷P3237 [HNOI2014]米特运输2020-04-25 22:53:09

    题目描述 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量。在以米特为主要能源的D星上,这种米特能源的运输和储 存一直是一个大问题。D星上有N个城市,我们将其顺序编号为1到N,1号城市为首都。这N个城市由N-1条单向高速 通道连接起来,构成一棵以1号城市(首部)为根的树,高速通道的方向由

  • [HNOI2014] 道路堵塞 - 最短路,线段树2019-10-16 12:58:03

    对不起对不起,辣鸡蒟蒻又来用核弹打蚊子了 完全ignore了题目给出的最短路,手工搞出一个最短路,发现对答案没什么影响 所以干脆转化为经典问题:每次询问删掉一条边后的最短路 如果删掉的是非最短路边,那么显然毫无影响 如果删掉的是最短路边,那么我们倒过来,考虑这个时候每条非最短路边的

  • [题解] [HNOI2014] 世界树2019-06-08 21:40:04

    题面 [HNOI2014]世界树 题解 从数据范围很容易看出是个虚树DP(可惜看出来了也还是不会做) 虚树大家应该都会, 不会的话自己去搜吧, 我懒得讲了, 我们在这里只需要考虑如何DP即可 首先我们需要求出每个点被哪个点所控制, 设\(u\)点被\(bl[u]\)所控制, 两遍DFS即可, 考虑儿子对父亲的

  • 「HNOI2014」世界树 虚树2019-04-21 20:48:40

    「HNOI2014」世界树 前置技能:虚树。 (本题可以通过以下相似的思想用线段树维护子树信息和倍增找中点完成,代码短很多,但本篇题解不涉及) 题解部分 这种总询问点数不大,但是询问次数多,可以想到用虚树来优化。 我们把所有询问点看成关键点建一颗虚树。对于虚树上的点我们是可以求出离

  • [HNOI2014]抄卡组2019-03-28 15:54:10

    [Luogu3234] [LOJ2208] 题解及代码 锻炼哈希码力的一道题 , 具体细节见代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<vector> #include<string> #define debug(...) fprintf(stderr,__VA_ARGS__) #define Debug(x

  • [HNOI2014]世界树2019-03-28 09:52:31

    [Luogu3233] [LOJ2206] 题解及代码 题意 : 标记一些树上的点,每个点会被最近(编号最小)的标记点控制,问每个标记点会控制多少点 先用两遍\(dfs\)求出每个点被哪个点控制 , 第一遍找儿子的贡献 , 第二遍找父亲的贡献 然后套路建虚树 然后对于虚树上每一条边 , 如果两个点被同一个点

  • bzoj3572:[Hnoi2014]世界树2019-03-05 15:02:41

    传送门 很容易看出是虚树吧,难点在于统计答案 可以考虑将虚树上的点预处理出来是由哪些关键点控制的 可以两次dfs初步处理一下(考虑下对上的影响和上对下的影响,但是兄弟节点之间的关系更新不到,需要在统计答案时更新一下) 然后考虑统计答案 考虑每个点\(u\)不在虚树中的儿子\(v\),记它

  • P3233 [HNOI2014]世界树2019-02-28 17:49:42

    题目描述 世界树是一棵无比巨大的树,它伸出的枝干构成了整个世界。在这里,生存着各种各样的种族和生灵,他们共同信奉着绝对公正公平的女神艾莉森,在他们的信条里,公平是使世界树能够生生不息、持续运转的根本基石。 世界树的形态可以用一个数学模型来描述:世界树中有 nn 个种族,种族的编

  • luogu P3234 [HNOI2014]抄卡组2019-02-21 15:50:15

    传送门 nmdwsm 自己看吧,不想写了qwq 垃圾代码如下 和题解完全不一样 #define LL long long #define uLL unsigned long long #define il inline #define re register using namespace std; const int M=1e7+10,N=1e5+10; il int rd() { int x=0,w=1;char ch=0; while(ch<

  • bzoj 3572 [Hnoi2014]世界树——虚树2019-02-12 21:49:47

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3572 关于虚树:https://www.cnblogs.com/zzqsblog/p/5560645.html 构造方法:   先把关键点按 dfs 序排序,然后依次插入树中;   插入当前点 cr 的时候,求 lca = get_lca( cr , sta[top] ) ;如果 dep[ sta[top] ] >= dep[lca] ,就

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有