
基环树
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
codeforces 331 D3.Escaping on Beaveractor - 线段树 - 基环树 - 倍增
传送门 题目大意:平面上有有些有向线段,平行于轴,当走到有向线段的时候自己的方向就要变成其方向,自己速度1。给定这些有向线段,多组数据,每组给出初始位置和初始方向和时间,问是否会走出边界,如果不,输出最后在哪里,否则输出离开边界时候的坐标。数据都是1e5,时间1e15。 题解:题目本身很简单,把所有东西离线下来,用线段树处理出从询问点或者某个有向线段的箭头处开始走会走到哪一个点方向发生转折,以原创 2018-02-03 21:53:13 · 508 阅读 · 0 评论 -
ARC 079 F Namori Grundy - 结论题 - 基环树
如果给你一棵树那么答案显然是p并且每个点权值固定。 先把所有环上的边断开考虑每个环上的点,求出一个权值。 环边的影响是,如果有x->y,并且a(x)=a(y)那么此时a(x)会变大为a’(x),继而若z->x并且a(z)=a’(x),那么a(z)会变大,依次类推。 显然有影响的边x->y当且仅当a(x)>=a(y),这样就能够把环拆成若干链,不同的链互补影响,并且每一...原创 2018-08-22 15:39:12 · 334 阅读 · 0 评论 -
Next or Nextnext - 结论题
在省队集训听过。考虑一个排列经过题目操作会变成啥。考虑一个环,要么全都不操作,还是自己(废话);要么全都操作,此时如果环长是奇数那么还是一个环,并且当环长大于1的时候和原来不一样;否则会分裂成两个环。否则会变成一颗内向基环树,并且基环树每条链没有分叉,环上的点只连出去不超过一条链,并且链都长度不超过这个点距离上一个挂出链去的点的距离。那么现在你有一堆环和基环树。对于基环树的某条链,设起...原创 2018-09-25 14:17:14 · 237 阅读 · 0 评论 -
statement - 基环树 - 虚树 - 倍增
这个题写的真爽翻了。题目大意就是给你一个树和基环树森林(内向),边有权,每次询问给你两个点集,问所有黑点到白点的路径中,边权最大值最小是多少。题解:首先考虑树,直接建出虚树来跑一遍dfs即可。然后每个环会选出一些点来,那些点先计算出一个贡献,你只要把环倍长然后那些点排个序,在上面做倍增即可。#include<iostream>#include<cstring>#i...原创 2018-09-27 09:24:46 · 265 阅读 · 0 评论 -
CF 859 E Desk Disorder - 结论 - 基环树
题目大意:有若干二元组(a,b),每个二元组可以选择first或者second。要求选出的数字两两不同的方案数。保证a互不相同。题解:首先搞出“因为选了第x个二元组的b就导致要选第y个二元组的b”这件事情。显然因为a两两不同所以这构成了一些内向树或者内向基环树(有些内向树的根具有相同的b,此时附加一个超级根合并这些内向树)。如果一个点选了b,那么从这个点出发能够到达的点都要选b。什么时候会...原创 2018-10-28 15:54:41 · 225 阅读 · 0 评论 -
ARC 083 F Bichrome Tree - 组合数学 - 基环树
题目大意:平面直角坐标系上有2n个点,x轴上(1~n,0)有n个bot,y轴同理。启动x轴上的bot会向上走,y轴上的会向右走,走到第一个小球并和小球发生湮灭。问(2n)!种启动顺序中有多少方案能使小球全部湮灭。题解:考虑二分图,每个小球对应X连Y的一条边。那么如果先不考虑顺序,考虑分配方案,相当于是每条边选择一个端点。例如x-y这条边选择x作为端点,并且x是X中的点,那么意思是我选择用(...原创 2018-10-24 16:56:46 · 287 阅读 · 0 评论 -
为时已晚,有机体 - 贪心 - 基环树
题目大意:给你内向基环树森林,一开始每个点都有个人,每秒所有人会沿着出边走一步,你可以在任意秒取走某个点的人(只能取一次),使得人数最多。现在你要修改尽量少的出边,使得最后你能取出最多的人,以及假设刚刚的答案是k,对每个t∈[0,k]t\in[0,k]t∈[0,k]求修改t条边后,你最多能拿到多少人。题解:第一问显然是联通快数或者减1。考虑第二问,假设现在在算ttt的答案。首先未必最后形成...原创 2019-04-01 19:22:48 · 4356 阅读 · 0 评论