博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3140-Contestants Division解题报告
阅读量:5075 次
发布时间:2019-06-12

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

链接:

这道题是说,给出一棵树,每个节点有一个权值,要求去掉一条边所能获得的两棵树的最小的权值差,其实不能说是dp因为除了最后一步涉及到了取最小之外,其他的地方都是在枚举而已,没有什么状态转移之类的东西存在,只能说是一道简单的树形的搜索

View Code
1 #include
2 #include
3 #include
4 #define N 100005 5 #define M 1000005 6 using namespace std; 7 int head[N]; 8 struct edge 9 {10 int v;11 int next;12 };13 edge e[M];14 int t;15 long long v[N];16 long long dp[N];17 bool used[N];18 void init()19 {20 memset(head,-1,sizeof(head));21 memset(used,0,sizeof(used));22 memset(dp,0,sizeof(dp));23 t=0;24 }25 void add(int x,int y)26 {27 e[t].v=x;28 e[t].next=head[y];29 head[y]=t++;30 e[t].v=y;31 e[t].next=head[x];32 head[x]=t++;33 }34 void dfs(int u)35 {36 used[u]=true;37 dp[u]=v[u];38 int i;39 for(i=head[u];i>=0;i=e[i].next)40 {41 if(!used[e[i].v])42 {43 dfs(e[i].v);44 dp[u]+=dp[e[i].v];45 }46 }47 }48 long long abs(long long x)49 {50 return x>=0?x:-x;51 }52 long long min(long long a,long long b)53 {54 return a

转载于:https://www.cnblogs.com/caozhenhai/archive/2012/04/26/2471902.html

你可能感兴趣的文章
请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理解决方案
查看>>
【LOJ#6036】[雅礼集训2017Day4]编码
查看>>
【BZOJ3601】一个人的数论
查看>>
轻量级MVC标准
查看>>
nmon监控数据分析
查看>>
call与apply简单介绍
查看>>
Python的多线程锁跟队列
查看>>
提取电话号码
查看>>
无需***,轻松提速 Github
查看>>
SVN 常识
查看>>
windows 安装 kalfka 并快速启动
查看>>
iOS-技巧性总结
查看>>
iOS开发UI篇—UITableview控件使用小结
查看>>
MT5:放大市场价格指标
查看>>
对类前置声明和包含头文件的一点理解
查看>>
new delete
查看>>
浅谈弹性盒子布局
查看>>
vlan基本命令配置 trunk链路配置
查看>>
整理c#学习中的知识点
查看>>
[Swift]LeetCode637. 二叉树的层平均值 | Average of Levels in Binary Tree
查看>>