BZOJ4726 [POI2017][Sabota?] 树形DP
来源:互联网 发布:阿里java校招面试 编辑:程序博客网 时间:2024/06/11 02:42
状态:
f [u] 表示 u 不叛变的最小 x 值
方程:
f [u] = max { min ( f [v] , size [v] / ( size [u] - 1 ) ) }
解释方程:
1.为什么取max?
—–因为 f [v] 表示的是 v 结点的最小答案,f [u] 不能比 f [v] 小。
2.min{ f [v] , size [v] / ( size [u] - 1 } 表示什么?
——表示 v 的两种状态下的值 : 全是叛徒/v没当叛徒
#include <vector>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 5e5 + 100 ;double f [N] , mx;int sz [N] ;vector <int> G [N] ;int n , k ;void dfs ( int u , int fa ){ sz [u] = 1 ; for ( int i = 0 ; i < G [u].size () ; ++ i ) { int v = G [u] [i] ; if ( v == fa ) continue ; dfs ( v , u ) ; sz [u] += sz [v] ; } if ( sz [u] == 1 ) f [u] = 1.0 ; else f [u] = 0.0 ; for ( int i = 0 ; i < G [u].size () ; ++ i ) { int v = G [u] [i] ; if ( v == fa ) continue ; f [u] = max ( f [u] , min ( f [v] , (double) sz [v] / ( sz [u] - 1 ) ) ) ;// printf ( "%d %lf\n" , u , f [u] ) ; } if ( sz [u] > k ) mx = max ( mx , f [u] ) ;}int main (){ scanf ( "%d%d" , &n , &k ) ; for ( int i = 2 ; i <= n ; ++ i ){ int x ; scanf ( "%d" , &x ) ; G [x].push_back ( i ) ; } dfs ( 1 , 0 ) ; printf ( "%lf" , mx ) ; return 0 ;}
阅读全文
0 0
- BZOJ4726 [POI2017][Sabota?] 树形DP
- 【BZOJ4726】【树形期望DP】[POI2017]Sabota? 题解
- bzoj4726 [ POI2017 ] -- 树形DP
- BZOJ4726: [POI2017]Sabota?
- bzoj4726 [POI2017]Sabota?
- BZOJ4726 [POI2017]Sabota?
- BZOJ4726: [POI2017]Sabota?
- [bzoj4726][POI2017]Sabota?
- BZOJ4726——[POI2017]Sabota?
- bzoj4726 [POI2017]Sabota 二分+暴力
- BZOJ 4726: [POI2017]Sabota?【树形dp
- BZOJ 4726 POI2017 Sabota? 树形DP
- bzoj 4726: [POI2017]Sabota? 树形dp
- [BZOJ]4726 [POI2017] Sabota? 树形Dp
- 【BZOJ】4726 [POI2017] Sabota?
- BZOJ 4726 [POI2017] Sabota?
- 4726: [POI2017]Sabota?
- [BZOJ 4726] Sabota? 树形DP+贪心思想
- 关于成为项目经理:要不要、能不能的问题
- AsyncTask Android的线程和线程池
- linux学习笔记(2)
- 我的学习记录8
- 总结6
- BZOJ4726 [POI2017][Sabota?] 树形DP
- Lua table取长度
- [bzoj4726][POI2017]Sabota?
- 【SPFA】hdu 1548 A strange lift
- FreeRtos-总结(1)
- 第7周项目6 停车场模拟
- c++程序入门(二)——指针代码举例
- UiAutomatorHelper的简单使用
- codevs 1137||NOIP 2011 计算系数 二项式定理 解题报告