tarjan
文章平均质量分 75
MyZhY
For You To Your For
展开
-
BZOJ 1051 [HAOI2006]受欢迎的牛 tarjan
Description 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头牛被所有的牛认为是受欢迎的。Input 第一行两个数N,M。 接下来M行,每行两个数A,B,意思是A认为B是受欢迎的(给出的信息原创 2017-08-24 18:26:39 · 321 阅读 · 0 评论 -
tajan离线求LCA 模板
lca:最近公共祖先求LCA一般有用倍增的和tarjan的,倍增的是O(nlogn)的但是可以在线;tarjan是O(n+Q)的但是必须离线。应当对于不同的题目适当选择。tarjan算法的主要思想……是从要求的一对点的访问过程求来的。比如以一个点u为根的多个小子树内,不同小子树内的点对的lca都是u。那么可以dfs下去,回上去的时候用并查集合并整棵子树。原创 2017-08-25 19:57:56 · 308 阅读 · 0 评论 -
HOJ 1917 POI 2001 Peaceful Commission 2-SAT问题
The Public Peace Commission should be legislated in Parliament of The Democratic Republic of Byteland according to The Very Important Law. Unfortunately one of the obstacles is the fact that some depu原创 2017-08-29 21:21:47 · 329 阅读 · 0 评论 -
Noip提高组2015 Day1 T2 信息传递 tarjan
题目描述有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。游戏开始时,每人都只知道自己的生日。之后每一轮中,所有人会同时将自己当前所知的生日信息告诉各自的信息传递对象(注意:可能有人可以从若干人那里获取信息,但是每人只会把信息告诉一个人,即自己的信息传递对象)。当有人从别人口中得知自己的生日时,游原创 2017-09-21 19:59:16 · 273 阅读 · 0 评论 -
BZOJ 1529 [POI2005]ska Piggy banks 并查集
DescriptionByteazar 有 N 个小猪存钱罐. 每个存钱罐只能用钥匙打开或者砸开. Byteazar 已经把每个存钱罐的钥匙放到了某些存钱罐里. Byteazar 现在想买一台汽车于是要把所有的钱都取出来. 他想尽量少的打破存钱罐取出所有的钱,问最少要打破多少个存钱罐.Input第一行一个整数 N (1 <= N <= 1.000.000) – 表示存钱罐的总数.原创 2017-10-10 16:15:52 · 274 阅读 · 0 评论 -
BZOJ 1589 [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果 tarjan+拓扑
Description每年万圣节,威斯康星的奶牛们都要打扮一番,出门在农场的N(1≤N≤100000)个牛棚里转悠,来采集糖果.她们每走到一个未曾经过的牛棚,就会采集这个棚里的1颗糖果. 农场不大,所以约翰要想尽法子让奶牛们得到快乐.他给每一个牛棚设置了一个“后继牛棚”.牛棚i的后继牛棚是Xi.他告诉奶牛们,她们到了一个牛棚之后,只要再往后继牛棚走去,就可以搜集到很多糖果.事实上这是一种有原创 2017-10-06 15:03:32 · 350 阅读 · 0 评论 -
bzoj 1179 [Apio2009]Atm tarjan+最长路
DescriptionInput第一行包含两个整数N、M。N表示路口的个数,M表示道路条数。接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口编号。接下来N行,每行一个整数,按顺序表示每个路口处的ATM机中的钱数。接下来一行包含两个整数S、P,S表示市中心的编号,也就是出发的路口。P表示酒吧数目。接下来的一行中有P个整数,表示P个有酒吧的路口的编原创 2017-10-31 15:36:18 · 507 阅读 · 0 评论 -
图论: 割点、桥(割边)、强连通分量 学习笔记
//无向图的割点和桥: //cutnode[u]=true表示u是一个割点 //cutedge(u,v)=true表示(u,v)是一条割边 //Color[u]: 黑 访问完毕 灰 正在访问 白 未访问; Tarjan(u,father){ DFN[u]=LOW[u]=++time; //LOW[u]: u以及u的子孙所能到达的最小时间戳 Color[u]=灰; put u i原创 2017-07-06 11:20:05 · 722 阅读 · 0 评论 -
模板整理: 图论---tarjan缩点/桥/割点
tarjan这算法没学好……气哦 目前掌握得还可以的只有缩点, 每次桥和割点只能手推。。还总是推错。 说实话也没什么难的啊。。 缩点,桥,割点之前的学习笔记 先是缩点,也就是强连通分量双联通分量这些东西。 只讨论强连通分量。 比较好理解,用DFN[u]表示到达u的时间(时间戳), LOW[u]表示u及u的子树中能到达的最早时间戳. 那么想象一下,一个强连通分量,里面有某个u,原创 2017-11-09 13:21:26 · 719 阅读 · 0 评论