博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[树形DP][概率期望]JZOJ 4225 宝藏
阅读量:6901 次
发布时间:2019-06-27

本文共 1904 字,大约阅读时间需要 6 分钟。

Description

 

Input

Output

 

Sample Input

2 3 1 0 1 2 2 1 0 1 2 0 2 1 4 0 1 2 0 3 0 1 3 0 1 0 1

Sample Output

1.0000 5.0000 
<空行>
11.0000
 

Data Constraint

分析

 

//                  赤い面 //                 赤い仮面 //                白 色围 巾 //              手 强化筋肉 手 //             手  强化筋肉   手 //           手    强化筋肉    手 //                 双重飓风//山               腿    腿 //山山            腿      腿 //山山           腿        腿 //山山山       脚          脚 //山山山山管钢管钢管钢管钢管钢管钢管钢管钢管 //             你妈的,为甚麽 #include 
#include
#include
using namespace std;const int N=5e4+10;struct Edge { int u,v,nx;}g[2*N];int cnt,list[N];int T,n,q;int f1[N],f2[N],deg[N],d[N],f[N][20];void Add(int u,int v) {g[++cnt]=(Edge){u,v,list[u]};list[u]=cnt;deg[u]++;}void DFS1(int u,int fa) { f1[u]=deg[u]; for (int i=list[u];i;i=g[i].nx) if (g[i].v!=fa) DFS1(g[i].v,u),f1[u]+=f1[g[i].v];}void DFS2(int u,int fa) { int sum=deg[u]; for (int i=list[u];i;i=g[i].nx) if (g[i].v!=fa) sum+=f1[g[i].v]; else sum+=f2[u]; for (int i=list[u];i;i=g[i].nx) if (g[i].v!=fa) f2[g[i].v]=sum-f1[g[i].v],DFS2(g[i].v,u);}void Build(int u,int fa) { d[u]=d[fa]+1;f[u][0]=fa; f1[u]+=f1[fa];f2[u]+=f2[fa]; for (int i=list[u];i;i=g[i].nx) if (g[i].v!=fa) Build(g[i].v,u);}int Get_LCA(int a,int b) { if (d[a]
=0;i--) if (d[f[a][i]]>=d[b]) a=f[a][i]; if (a==b) return a; for (int i=19;i>=0;i--) if (f[a][i]!=f[b][i]) a=f[a][i],b=f[b][i]; return f[a][0];}int main() { for (scanf("%d",&T);T;T--) { scanf("%d",&n);cnt=0; memset(list,0,sizeof list); memset(f1,0,sizeof f1); memset(f2,0,sizeof f2); memset(f,0,sizeof f); memset(d,0,sizeof d); memset(deg,0,sizeof deg); for (int i=1,u,v;i
View Code

 

转载于:https://www.cnblogs.com/mastervan/p/10325938.html

你可能感兴趣的文章
hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue
查看>>
Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
查看>>
Spring Boot学习总结(1)——Spring Boot入门
查看>>
C/C++ 宏带来的奇技淫巧 转载
查看>>
CocoaPods requires your terminal to be using UTF-8 encoding
查看>>
CSS3 圆角(border-radius)
查看>>
最大子数组
查看>>
用telnet命令,POP3接收邮件
查看>>
Nginx 关于 location 的匹配规则详解
查看>>
OutputStream、InputStream 、FileOutputStream、FileInputStream,字节流API
查看>>
10. Python面向对象
查看>>
python3与 python2 urllib模块区别
查看>>
关于props 和state
查看>>
跟我学算法-tensorflow 实现线性拟合
查看>>
redis使用管道pipeline提升批量操作性能(php演示)
查看>>
python: file_handling 解决工作中出现的文件处理需求
查看>>
HTML5 拖放(Drag 和 Drop)功能开发——浅谈dataTransfer对象
查看>>
灰度图像亮度对比度调整的简单代码
查看>>
shell测试题上机实验
查看>>
[转]二维数组和二级指针的传递问题
查看>>