poj3140
来源:互联网 发布:数据终端设备dte 编辑:程序博客网 时间:2024/05/14 20:10
好久没有自己的思路过题了!!!
发现自己越来越水了,看到m的取值范围比n大,让我想了好长一段时间,题中说的是树的,怎么可能m比n大???后来才觉得这就是糊弄人的啊!发现这点就好做了,注意要使用long long ,devc++的long是32位,为了这个又贡献了几次wa,好歹自己也是过了题了啊!
#include<iostream> #include<string>#include<cstdio>#include<cmath>#include<cstring>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<climits>using namespace std; #define rep(i,n) for(i=0; i<(n); i++)#define repf(i,n,m) for(i=(n); i<=(m); i++)//正循环的#define repd(i,n,m) for(i=(n); i>=(m); i--) //负循环的 #define fab(a) (a)>0?(a):0-(a) #define ll long long#define arc(a) (a)*(a)#define inf 1000000000 //最大值的#define exp 0.0000001 //浮点型的#define N 100005 //记录开的数组ll sum;struct node{ int pre,y;}a[N*2];ll b[N];ll Min;int pre[N],len;void addpage(int u,int v){ a[len].y=v; a[len].pre=pre[u]; pre[u]=len++;}void dfs(int fa,int s){ int i,j,y; for(i=pre[s];i!=-1; i=a[i].pre) { y=a[i].y; if(y==fa) continue; dfs(s,y); b[s]+=b[y]; } Min=min(Min,fab(sum-b[s]-b[s])); }int main(){ int n,m,i,j,k; int ror=0; while(scanf("%d%d",&n,&m)) { ror++; if(n==0 && m==0) break; memset(pre,-1,sizeof(pre)); sum=0; len=1; Min=100000000000000; repf(i,1,n) { scanf("%lld",&b[i]); sum+=b[i]; } repf(i,1,m) { scanf("%d%d",&j,&k); addpage(j,k); addpage(k,j); } dfs(-1,1);//1默认为根节点的 printf("Case %d: %lld\n",ror,Min); } return 0;}
- poj3140
- poj3140
- poj3140
- poj3140,树
- poj3140 树的dfs
- POJ3140 - 树的DFS
- poj3140(dfs) Contestants Division
- POJ3140--Contestants Division
- poj3140 树状dp
- POJ3140 简单树形DP
- POJ3140【树形DP】
- POJ3140 Contestants Division(树形DP)
- poj3140(树形DP,删边)
- poj3140 Contestants Division(树形DP)
- poj3140——contestants division
- poj3140(经典-树的dp)
- poj3140--Contestants Division(树形dp-水题)
- poj3140 Contestants Division(树形dp)
- linux系统编程之基础必备(四):C 标准库IO缓冲区和内核缓冲区的区别
- java中的反射三(反射机制深入---工厂设计模式)
- Denuo DirectUI 控件布局特性
- Android调试工具之Traceview
- 非常好的一篇博客
- poj3140
- Using google's free SVN repository with Eclipse (使用Eclipse的SVN插件管理GOOGLE CODE的项目)
- FlameDesktop - 开发进程 - 03
- fork和vfork函数、wait和waitpid函数
- Delphi中的各种路径
- oracle 11g PL/SQL Programming学习二
- linux下vim命令详解
- SQL PASS,有你,有我
- DNA sequence