FZU 2057 家谱(dfs)】的更多相关文章

Problem 2057 家谱 Accept: 129    Submit: 356Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description 由于计划生育的实行,我们以及将来几代人都会是独生子女,即每对夫妇只会有一个孩子.那么给你XXXX年某人的一张树形族谱,你能指出其中任意两人的关系吗?  Input 输入数据第一行一个整数T表示有T组数据. 每组数据第一行一个正整数N (2 < N < 10000 ,且N为奇…
题目链接: F - Change FZU - 2277 题目大意: 题意: 给定一棵根为1, n个结点的树. 有q个操作,有两种不同的操作 (1) 1 v k x : a[v] += x, a[v '] += x – k(v '为v的儿子), a[v ' '] += x – 2 * k(v ' '是v '的儿子) ... ; (2) 2 v : 输出a[v] % (1e9 + 7); 具体思路:dfs序+线段树 a[v'']=a[v'']+x-k*(depth[v'']-depth[v])=a[…
Problem Description There is a rooted tree with n nodes, number from 1-n. Root’s number is 1.Each node has a value ai. Initially all the node’s value is 0. We have q operations. There are two kinds of operations. 1 v x k : a[v]+=x , a[v’]+=x-k (v’ is…
FZU 2107 Hua Rong Dao Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u  Practice  Description Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. Assuming Hua Rong Dao is a narrow aisl…
FZU 2150 Fire Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u   Description Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns). At the beginning, each grid of this bo…
 K Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice FZU 2108 Description Given one non-negative integer A and one positive integer B, it’s very easy for us to calculate A Mod B. Here A Mod B means th…
题意:告诉你族谱,然后Q条查询s和t的关系,妈妈输出M,爸爸输出F: 题目地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78233#problem/D 如查询8 2输出 0 FM(0表示8是2的祖辈) 思路:dfs,bfs都行吧,但我不知道该怎么用bfs生成图,最直接的还是dfs:遍历二叉树,看是否在同一棵树中 #include <iostream> #include <cstdio> #include <c…
对于一颗树,dfs遍历为每个节点标号,在进入一个树是标号和在遍历完这个树的子树后标号,那么子树所有的标号都在这两个数之间,是一个连续的区间.(好神奇~~~) 这样每次操作一个结点的子树时,在每个点的开始结束两个点标记一下就可以,用树状数组求前缀和就可知道每个点的值. 这道题虽然很麻烦(dep[y]-dep[x])%k .但是注意到K很小(1<=k<=5),可以维护k个树状数组. 提交时编译器选GUN C++迷之RE...换Visual C++ #include <cstdio> #…
Problem Description Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns). At the beginning, each grid of this board is consisting of grass or just empty and then they start to fire all the grass. Firstl…
Problem 2277 Change Time Limit: 2000 mSec    Memory Limit : 262144 KB  Problem Description There is a rooted tree with n nodes, number from 1-n. Root’s number is 1.Each node has a value ai. Initially all the node’s value is 0. We have q operations. T…
Problem 2107 Hua Rong Dao Accept: 318 Submit: 703 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description Cao Cao was hunted down by thousands of enemy soldiers when he escaped from Hua Rong Dao. Assuming Hua Rong Dao is a narrow aisle (one…
一开始是MLE,后来想到了用vector,化二维为一维,做了这一步优化后,这就是很基础的一个广搜了 #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<cmath> #include<vector> using namespace std; #define maxn 510 char maps[maxn][maxn]; vecto…
原题: FZU 2169 http://acm.fzu.edu.cn/problem.php?pid=2169 这题貌似有两种解法,DFS和SPFA,但是DFS怎么都RE,SPFA也要用邻接表表示边,用向量表示的话会TLE,而且用SPFA有一个异或,就是题目说要沿最短路走到都城,但是SPFA是走最短路去消灭叛军,然后再走回都城,我不知道怎么回事,不知道能不能有大神解释.因为这样的话,有多少叛军就能消灭多少叛军了,那就不要用什么算法 了,直接一个统计.于是试了一下,居然A了,瞬间变成大水题,我无法…
A FZU-2054 水题,比较A,B双方的最大值即可. B FZU-2055 string,截取‘.’之前和之后然后和给出的文件夹名和拓展名比较就好了啊,不明白为什么那么多人错. 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #include<string> #include<algorithm> using namespace s…
Problem Description Sean owns a company and he is the BOSS.The other Staff has one Superior.every staff has a loyalty and ability.Some times Sean will fire one staff.Then one of the fired man’s Subordinates will replace him whose ability is higher th…
http://acm.fzu.edu.cn/problem.php?pid=2169 题目大意: S王国有N个城市,有N-1条道路.王都为编号1的城市.叛军驻扎在很多城市.除了王都外有K个城市有军队,这K支军队要向王都进军,而且消灭沿途经过的城市中的叛军.每支军队仅仅能沿着道路走,而且是其所在城市与王都之间的最短路线走.问可以消灭多少叛军? 思路: 有两种方法. 注意到题目仅仅有N-1条边.是一颗树. 我想到的是对编号为1的结点(也就是王都,作为跟结点)进行DFS,一直遍历到树叶为止.沿途若发现…
FZU一直交不上去 先写在这吧 #include<stdio.h> #include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<string> #include<map> #include<set> #include<vector> #include<queue> #define…
本题给定一个庞大家族的家谱,要请你给出最小一辈的名单. 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号.随后第二行给出 N 个编号,其中第 i 个编号对应第 i 位成员的父/母.家谱中辈分最高的老祖宗对应的父/母编号为 -1.一行中的数字间以空格分隔. 输出格式: 首先输出最小的辈分(老祖宗的辈分为 1,以下逐级递增).然后在第二行按递增顺序输出辈分最小的成员的编号.编号间以一个空格分隔,行首尾不得有多余空格.…
最大黑区域 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Practice FZU 1082 Description 二值图像是由黑白两种像素组成的矩形点阵,图像识别的一个操作是求出图像中最大黑区域的面积.请设计一个程序完成二值图像的这个操作.黑区域由黑像素组成,一个黑区域中的每个像素至少与该区域中的另一个像素相邻,规定一个像素仅与其上.下.左.右的像素相邻.两个不同的黑区域没…
POJ 1459 Power Network / HIT 1228 Power Network / UVAlive 2760 Power Network / ZOJ 1734 Power Network / FZU 1161 (网络流,最大流) Description A power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A…
dfs题大杂烩 棋盘问题  POJ - 1321 和经典的八皇后问题一样.  给你一个棋盘,只有#区域可以放棋子,同时同一行和同一列只能有一个棋子. 问你放k个棋子有多少种方案. 很明显,这是搜索题. 因为每一行和每一列只能有一个棋子,所以我们可以从第k行一直到第n行枚举所有放棋子的情况,即我们从当前状态(当前行)dfs到第n行.然后符合添加的,我们就ans++. dfs过程见代码. #include <cstdio> #include <cstring> int n,k,c,wa…
http://acm.fzu.edu.cn/problem.php?pid=1227   Problem Description 大革命时期,地下党组织的联络图是一个树状结构.每个党员只和一个比他高一级的负责人单线联系,但他可以与若干个比他低一级的直接下属党员联系.紧急情况通常用鸡毛信传递.假设容易复制鸡毛信,但传递1 次鸡毛信需要1 个单位时间.试设计一个算法,计算从总负责人开始,传递鸡毛信到每个党员手中最少需要多少时间. 对于给定的地下党组织的联络图,计算从总负责人开始,传递鸡毛信到每个党员…
1004 Counting Leaves (30)(30 分) A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Input Each input file contains one test case. Each case starts with a line containing 0 < N < 10…
死锁 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice FZU 1924 Description 在操作系统中存在着死锁问题. 进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去.此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程. 由于资源占用是互斥的,当某个进程提出申请资源后,使…
L2-020. 功夫传人 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 一门武功能否传承久远并被发扬光大,是要看缘分的.一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹.挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”. 这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位…
题目链接:http://poj.org/problem?id=2057 题意:有一只蜗牛爬上树睡着之后从树上掉下来,发现后面的"房子"却丢在了树上面, 现在这只蜗牛要求寻找它的房子,它又得从树根开始爬起,现在要求一条路径使得其找到房子 所要爬行的期望距离最小. 爬行距离如下计算, 题目规定每一个分支和枝末都看做是一个节点, 这些节点之间的距离都是1, 在分支上可能会有热心的毛毛虫, 这些毛毛虫会如实的告诉蜗牛他之前是否经过这条路径, 也正是因为毛毛虫, 因此询问毛毛虫的顺序使得这题的期…
令人窒息的奶牛题 题目描述 农民约翰准备购买一群新奶牛. 在这个新的奶牛群中, 每一个母亲奶牛都生两个小奶牛.这些奶牛间的关系可以用二叉树来表示.这些二叉树总共有N个节点(3 <= N < 200).这些二叉树有如下性质: 每一个节点的度是0或2.度是这个节点的孩子的数目. 树的高度等于K(1 < K < 100).高度是从根到最远的那个叶子所需要经过的结点数; 叶子是指没有孩子的节点. 有多少不同的家谱结构? 如果一个家谱的树结构不同于另一个的, 那么这两个家谱就是不同的.输出可…
AbOr's story Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on FZU. Original ID: 198064-bit integer IO format: %I64d      Java class name: Main   As we all known, AbOr has a lots of girls in a palace called “Hou” (About 30 milli…
找匹配中的关键边. 做法: 拆掉一条匹配边,然后对边两边的点做一次增广,如果可以增广,那么此边不是关键边,否则是关键边. 详情可以参见:http://www.docin.com/p-109868135.html 代码: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <algorithm…
题目链接 FZU - 2295 Human life 题目分析 题意:你在玩一个游戏,在其中你可以通过学习一些技能,但是学习某些技能之前,可能还要学习一些其他的技能,并且学习任何技能都有一定的花费: 而我们可以通过掌握某些工作以获取报酬,为了掌握这一工作,我们必须学会特定的技能. 不过有些工作彼此之间是冲突的,简单来说:如果你掌握了工作A,那么将无法掌握工作B 思路: 由于技能之间也存在依赖关系,但实际上如果要获取某一工作的报酬,那么必须选择这个工作的前置技能以及前置技能的前置技能, 那么显然,…