BZOJ3727: PA2014 Final Zadanie
来源:互联网 发布:霜叶知秋的意思 编辑:程序博客网 时间:2024/06/03 05:37
BZOJ3727: PA2014 Final Zadanie
乱搞
题解:
感谢fqk dalao
画柿子!
令点
根据以上式子,我们有了
Code:
#include <iostream>#include <cstring>#include <cstdio>#define D(x) cout<<#x<<" = "<<x<<" "#define E cout<<endlusing namespace std;const int N = 300005;int n,dis[N],b[N];struct Edge{ int to, next;} e[N*2];int head[N], ec;void add(int a, int b){ ec++; e[ec].to=b; e[ec].next=head[a]; head[a]=ec;}struct Data{ double k,b; Data (double _k=0, double _b=0) { k=_k; b=_b; } Data operator + (Data x) { return Data(k+x.k, b+x.b); } Data operator - (Data x) { return Data(k-x.k, b-x.b); } Data operator * (double x) { return Data(k*x, b*x); }} a[N], size[N];double ans[N],size1;void dfs(int u, int f){ size[u]=Data(0.5,(b[f]-b[u])*0.5); a[u]=size[u]; for(int i=head[u];i;i=e[i].next){ int v=e[i].to; if(v==f) continue; dis[v]=dis[u]+1; dfs(v,u); a[u]=a[u]-size[v]; }}int main(){ freopen("a.in","r",stdin); scanf("%d",&n); int u,v; for(int i=1;i<n;i++){ scanf("%d%d",&u,&v); add(u,v); add(v,u); } for(int i=1;i<=n;i++) scanf("%d",&b[i]); dfs(1,0); Data tp; for(int i=2;i<=n;i++) tp=tp+(a[i]*(double)dis[i]); ans[1]=size1=((double)(b[1]-tp.b))/tp.k; for(int i=2;i<=n;i++){ ans[i]=a[i].k*size1+a[i].b; ans[1]-=ans[i]; } for(int i=1;i<=n;i++) printf("%lld%c",(long long)ans[i],i==n?'\n':' ');}
阅读全文
0 0
- [bzoj3727]PA2014 Final Zadanie
- BZOJ3727: PA2014 Final Zadanie
- 【PA2014】【BZOJ3727】Zadanie
- 3727: PA2014 Final Zadanie 乱搞
- BZOJ 3727 PA2014 Final Zadanie 树形DP
- 3727: PA2014 Final Zadanie|树形DP
- [BZOJ]3727 Final Zadanie 公式推导
- 【PA2014】【BZOJ3728】Final Zarowki
- 【bzoj3721】 PA2014 Final Bazarek
- 【bzoj3721】PA2014 Final Bazarek
- BZOJ3721: PA2014 Final Bazarek
- BZOJ3722: PA2014 Final Budowa
- BZOJ3725: PA2014 Final Matryca
- 3721: [PA2014] Final Bazarek 乱搞
- 3721: PA2014 Final Bazarek|贪心
- 3725: PA2014 Final Matryca|乱搞?
- bzoj 3721 PA2014 Final Bazarek
- BZOJ 3721 PA2014 Final Bazarek
- java线程的几种状态
- 同步与异步,阻塞和非阻塞的区别
- 自适应滤波法
- iOS 工程自动化
- 广告点击率的贝叶斯平滑
- BZOJ3727: PA2014 Final Zadanie
- NoSQL简介
- 每天一个linux命令(10):cat 命令
- 关于GCC编译选项访问私有
- 视图解析器中配置前缀和后缀---SpringMVC学习笔记(五)
- java mail 发送邮件常用转义字符
- 最短路径算法
- Oracle 层次查询(递归查询)(level start with connect by prior)
- Android EditText 属性详解