hdu1054 Strategic Game
来源:互联网 发布:海文网络计划软件教程 编辑:程序博客网 时间:2024/05/29 07:19
原题: http://acm.hdu.edu.cn/showproblem.php?pid=1054
//hdu 1054//题目大意:这里有一棵树,让你选择最少的节点去覆盖树上所有的边,求这个最少的节点数,注意输入格式,输入的是边。//思路:每次选择叶子节点的父节点,然后删去与父节点所有相连的边,直到没有叶子节点为止(思路来自hdu评论区) //这里我用下标i表示各节点的标号,用multiset存放与节点i相关联的其他节点,只要multiset的大小为1,说明这个节点i就是叶子节点//这题没有解出来,因为我一开始思路就错了,我以为每次应该删除所连边数最多的顶点,所以一直WA //因为是树,所以不用有回路的情况。 #include<iostream>#include<cstdio>#include<algorithm>#include<set>using namespace std;multiset<int>node[1501];int main(){ int n; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) { int a,m,child; scanf("%d:(%d)",&a,&m); for(int j=0;j<m;j++) { scanf("%d",&child); node[a].insert(child); node[child].insert(a); } } //所有节点的关系输入完毕 int ans=0; for(int i=0;i<n;i++) { if(node[i].size()==1)//找到叶子节点 { int parent=*node[i].begin();//叶子节点的父节点 ans++; multiset<int>::iterator it=node[parent].begin();//删除与父节点的全部边 while(it!=node[parent].end()) { node[*it].erase(parent); it++; } node[parent].clear(); i=0; //重新找叶子节点 } } printf("%d\n",ans); } return 0;}
阅读全文
0 0
- hdu1054--Strategic Game
- HDU1054 Strategic Game
- HDU1054&&POJ1463-Strategic game
- hdu1054 Strategic Game
- HDU1054 Strategic Game 二分匹配
- 二分匹配HDU1054 Strategic Game
- HDU1054 Strategic Game(二分匹配)
- ZOJ1134 POJ1463 HDU1054 Strategic Game, 树形DP
- HDU1054 && POJ1463:Strategic game(树形DP)
- hdu1054 Strategic Game (最小顶点覆盖 邻接矩阵)
- hdu1054 Strategic Game---二分图匹配
- hdu1054 Strategic Game(最小顶点覆盖)
- HDU1054 Strategic Game(最小顶点覆盖)
- Hdu1054 Strategic Game(最小覆盖点集)
- poj1463--hdu1054--Strategic Game(树形DP练习4)
- hdu1054 Strategic Game(最小覆盖点-树形dp)
- hdu1054 Strategic Game(贪心,树形dp,二分匹配)
- 【贪心】【树形DP】[POJ1463][HDU1054]Strategic game 战略游戏
- Python 列表(List)
- 使用angular2的http交互注意的问题
- UVA
- 极简Node教程-七天从小白变大神(四:mongoose)
- [leetcode]124. Binary Tree Maximum Path Sum@Java解题报告
- hdu1054 Strategic Game
- Connection接口中isClosed() 和 isValid() 的区别
- POJ
- 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5
- Xamarin.Forms 多屏显示深度解析
- Codeforces Round #303 (Div. 2) B
- 2017/8/7 离线赛
- myeclipse中svn突然失效问题
- 用memset清空数组时要注意的问题