hdu4582 DFS spanning tree 贪心
来源:互联网 发布:大理寺知世壁纸 编辑:程序博客网 时间:2024/06/06 04:16
学会了强大的bitset,其实就是把数组转换成了一个二进制数,.reset()用来清空,.set(n)把第n位置为1(从0位开始)。通常的| & ^ 都是相同的,水题的神奇。。。
这个题用bitset记录dfs后通过这个点可以到达的所有点。假如可以到达树上的父节点说明这个边一定要取。
#include <bitset>#include <algorithm>#include <cstring>#include <iostream>#include <vector>#include <cstdio>using namespace std;#define pb(a) push_back(a);#define maxn 2100vector<int>g[maxn],tree[maxn];bitset<2100> to[2100];int n,m,ans,vis[maxn];void dfs(int now,int last){ vis[now]=1; int v; to[now].reset(); for(int i=0;i<g[now].size();i++) { v=g[now][i]; if(vis[v]) { to[now].set(v); } } for(int i=0;i<tree[now].size();i++) { v=tree[now][i]; if(v!=last) { dfs(v,now); } } if(last==-1) { return ; } if(to[now].test(last)) { ans++; } else { to[last]|=to[now]; }}int main(){ int u,v; while(scanf("%d%d",&n,&m)) { ans=0; memset(vis,0,sizeof(vis)); if(n+m==0) { break; } for(int i=1;i<=n;i++) { tree[i].clear(); g[i].clear(); } for(int i=1;i<n;i++) { scanf("%d%d",&u,&v); tree[u].pb(v); tree[v].pb(u); } for(int i=n;i<=m;i++) { scanf("%d%d",&u,&v); g[u].pb(v); g[v].pb(u); } dfs(1,-1); printf("%d\n",ans); } return 0;}
0 0
- hdu4582 DFS spanning tree 贪心
- hdu4582 DFS spanning tree
- Hdu4582-DFS spanning tree VS Pku2152-Fire 一类平方级树形最小覆盖问题
- HDOJ 4582 DFS spanning tree
- HDOJ 4582: DFS spanning tree
- hdu 4582 DFS spanning tree
- hdu 4582 DFS spanning tree
- HDU 4582 DFS spanning tree 解题报告(贪心 & 树形DP)
- 【Wunder Fund Round 2016 (Div 1 + Div 2 combined)D】【贪心 dfs】Hamiltonian Spanning Tree 树的最小链划分
- Spanning tree
- Spanning Tree
- spanning-tree
- codeforces 618D Hamiltonian Spanning Tree(dfs)
- CodeForces 618 D.Hamiltonian Spanning Tree(dfs)
- Codeforces 618D Hamiltonian Spanning Tree【思维+Dfs】
- HDU 4263(Red/Blue Spanning Tree-取边贪心)
- Codeforces 618 D Hamiltonian Spanning Tree 贪心+dp
- Codeforces 723F st-Spanning Tree【贪心Kruskal】
- Android 7个生命周期及之间的区别
- Hduoj2053 【水题】
- 广度优先遍历
- 第一个FPGA程序
- 2014人人网校园招聘技术笔试
- hdu4582 DFS spanning tree 贪心
- 我眼中的ZX-2 FPGA开发板
- Redis源码分析(一)--Redis结构解析
- 递归和迭代的区别
- 分组背包
- 安卓开发中listview异步加载图片
- 信号量基础和两个经典例子
- 中庸----做人的智慧
- 在ie浏览器上开发使用juqery load方法