hdu4171 Paper Route 树的性质+DFS】的更多相关文章

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4171 题意: 有n+1个点,这n+1个点由n条边相连,且保证连通.然后给出各个点到出口的距离,要求从0点出发,遍历完n个点后立刻从出口出去.求最少时间. 首先,要读懂题意,在遍历过程中不能以校园作为中转.. 当然这是废话了 然后我们很容易知道对于n+1个点,并且有n个边相连的连通图肯定是一颗树 对于树, 我们应该熟悉这样一条性质: 从跟节点出发遍历一颗树的所有节点再回到跟节点的花费为一定为他的所有…
Code: #include<bits/stdc++.h> #define maxn 200003 #define inf -1000000 using namespace std; void setIO(string s) { string in=s+".in",out=s+".out"; freopen(in.c_str(),"r",stdin); freopen(out.c_str(),"w",stdout)…
Problem Description As a poor, tuition-ridden student, you've decided to take up a part time job as a paperboy/papergirl.You've just been handed your paper route: a set of addresses (conveniently labelled 1 to N). Every morning, you start at the news…
3881: [Coci2015]Divljak Time Limit: 20 Sec  Memory Limit: 768 MBSubmit: 508  Solved: 158[Submit][Status][Discuss] Description Alice有n个字符串S_1,S_2...S_n,Bob有一个字符串集合T,一开始集合是空的. 接下来会发生q个操作,操作有两种形式: “1 P”,Bob往自己的集合里添加了一个字符串P. “2 x”,Alice询问Bob,集合T中有多少个字符串包…
Time limit 2000 ms Memory limit 262144 kB Source Codeforces Round #328 (Div. 2) Ari the monster is not an ordinary monster. She is the hidden identity of Super M, the Byteforces’ superhero. Byteforces is a country that consists of n cities, connected…
[题意]阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母. 经阿狸研究发现,这个打字机是这样工作的: l 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后). l 按一下印有'B'的按键,打字机凹槽中最后一个字母会消失. l 按一下印有'P'的按键,打字机会在纸上打印出凹槽中现有的所有字母并换行,但凹槽中的字母不会消失. 我们把纸上打印出来的字符串从1开始顺序编号,一直到n.打字机有一个非…
树的性质推断是树的数据结构比較主要的操作,一般考到都属于非常easy的题目,也就是第一道入门题.面试中最好不能有问题,力求一遍写对.不要给面试官不论什么挑刺机会.LeetCode中关于树的性质有下面题目:Maximum Depth of Binary TreeMinimum Depth of Binary TreeBalanced Binary TreeSame TreeSymmetric Tree 首先说说关于求树的深度的题目,最简单的是求最大深度Maximum Depth of Binary…
题目链接 首先不需要存储每个字符串,可以将所有输入的字符依次存进Trie树,对于每个'P',记录该串结束的位置在哪,以及当前节点对应的是第几个串(当前串即根节点到当前节点):对于'B',只需向上跳一个节点. 然后构建Trie图.fail[]有一个重要意义是: 若fail[y]=x,那么y节点表示的串一定包含x节点表示的串. 于是暴力就可以自底向上查询y串中每个节点的fail[]是否直接或间接指向x 注意到每个节点的fail[]是仅指向一个节点的,于是可以反向建图fail[x]->x,这样就形成了…
小希的迷宫 上次Gardon的迷宫城堡小希玩了很久(见Problem B),现在她也想设计一个迷宫让Gardon来走.但是她设计迷宫的思路不一样,首先她认为所有的通道都应该是双向连通的,就是说如果有一个通道连通了房间A和B,那么既可以通过它从房间A走到房间B,也可以通过它从房间B走到房间A,为了提高难度,小希希望任意两个房间有且仅有一条路径可以相通(除非走了回头路).小希现在把她的设计图给你,让你帮忙判断她的设计图是否符合她的设计思路.比如下面的例子,前两个是符合条件的,但是最后一个却有两种方法…
这题解法很多,简单说几个: 1. 线段树合并,时间复杂度是 $O(nlog^2n)$ 的. 2. 暴力跳 $fail,$ 时间复杂度 $O(n\sqrt n),$ 比较暴力. 3. 建立后缀树后在 $dfs$ 序上数点,时间复杂度为 $O(nlogn),$ 十分优秀. Code: #include <bits/stdc++.h> #define N 200007 #define setIO(s) freopen(s".in","r",stdin) , f…