uvaoj 1267 - Network
2015-11-15 01:05
369 查看
题解:
1.贪心,把树的任意一点作为树根,这棵有根树的‘最深叶子节点’的最优服务安装位置是确定的!
总结:
1.这道题没有自己想出来,憋了好久好久啊!总结一下,现在总是习惯性的躺在床上才想题,丢掉了在纸上随意画一画的习惯了,导致总是在一个地方纠结而没有看到那里没有想到!(画在纸上可能更能帮助完善思维)
2.这道题目的一个关键是把无根树想成有根树!无形中加强了条件,以后再去从极端的地方入手,也许就能思考出问题了
3.下次如果再想不出来问题,早点看答案,先就看一句解释,然后再继续思考
1.贪心,把树的任意一点作为树根,这棵有根树的‘最深叶子节点’的最优服务安装位置是确定的!
总结:
1.这道题没有自己想出来,憋了好久好久啊!总结一下,现在总是习惯性的躺在床上才想题,丢掉了在纸上随意画一画的习惯了,导致总是在一个地方纠结而没有看到那里没有想到!(画在纸上可能更能帮助完善思维)
2.这道题目的一个关键是把无根树想成有根树!无形中加强了条件,以后再去从极端的地方入手,也许就能思考出问题了
3.下次如果再想不出来问题,早点看答案,先就看一句解释,然后再继续思考
#include<iostream> #include<cstring> #include<cstdio> #include<vector> using namespace std; #define MAXN 1005 vector<int>vec[MAXN],deep[MAXN]; int _,n,k,s,ans,father[MAXN]; bool covered[MAXN]; void dfs(int u,int fa,int d) { if(vec[u].size() == 1) { covered[u] = true; return; } if(d == 0)return; for(int i = 0;i < vec[u].size();i++)if(vec[u][i] != fa) dfs(vec[u][i],u,d - 1); } void pre_dfs(int u,int fa,int d) { if(vec[u].size() == 1 && u != s) { deep[d].push_back(u); return; } for(int i = 0;i < vec[u].size();i++) { int v = vec[u][i]; if(v == fa)continue; father[v] = u; pre_dfs(v,u,d + 1); } } void solve() { pre_dfs(s,-1,1); dfs(s,-1,k); for(int d = n;d >= 1;d--) for(int i = 0;i < deep[d].size();i++) { int u = deep[d][i]; if(covered[u])continue; int fa = u; for(int i = 0;i < k;i++) fa = father[fa]; dfs(fa,-1,k); ans++; } } int main() { cin >> _; while(_--) { cin >> n >> s >> k; for(int i = 1;i <= n;i++) vec[i].clear(),deep[i].clear(); memset(covered,0,sizeof(covered)); ans = 0; for(int i = 1;i < n;i++) { int u,v; cin >> u >> v; vec[u].push_back(v); vec[v].push_back(u); } solve(); cout << ans << endl; } }
相关文章推荐
- Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案
- win2003分布式文件系统(dfs)配置方法[图文详解]
- win2003分布式文件系统及其部署 图文教程
- Hadoop2.6+jdk8的安装部署(1)——使用jar包安装部署【详细】
- Hadoop FS Shell
- DFS使用方法总结
- FastDFS注意事项
- 无忧技术带您预览DFS(分布式文件系统)管理控制台
- 1.一些 贪心算法 的简单思维题:
- C 语言实现迷宫 DFS算法
- 贪心算法——字典序最小问题
- 贪心算法——区间调度问题
- 一幅图弄清DFT与DTFT,DFS的关系
- HDFS---Namenode
- HDFS ---- Services startup
- POJ1523 SPF dfs
- poj1731 Orders dfs
- Surrounded Regions
- Binary Tree Zigzag Level Order Traversal,Restore IP Addresses,Word Search,Simplify Path
- Jump Game I,II 贪心