[RT][NOIP2015]联合权值
1、题面






2、总结
第一次回忆一下当年的题目。但是这道题已经做烂了,只是看还记得树遍历会写么。
然后我写了一下,有点费劲,交上去之后只有70,比较尴尬,看了下去年5月写的代码,发现完全不是一个感觉啊。。。什么鬼?为什么那个时候写得那么长啊。难道是我现在想错了什么?
结果我发现当年我交过一个70分的。。发现差别就在于有没有开long long。
SHIT。想了一上午。
3、代码
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; #define MAXN 200005
#define MOD 10007 #ifdef WIN32
#define LL "%I64d"
#else
#define LL "%lld"
#endif typedef long long ll; ll h[MAXN], w[MAXN], tot[MAXN], n, u, v, o, ans, maxv; struct edge {
ll v, next;
} e[MAXN * ]; void add(ll u, ll v) {
o++, e[o] = (edge) {v, h[u]}, h[u] = o;
} void work(ll x, ll fa) {
ll sonv = , tmax = , vmax;
for (ll o = h[x]; o; o = e[o].next) {
ll v = e[o].v;
sonv += w[v];
if (tmax < w[v]) tmax = w[v], vmax = v;
}
for (ll o = h[x]; o; o = e[o].next) {
ll v = e[o].v;
if (v == fa) continue;
if (v != vmax) maxv = max(maxv, tmax * w[v]);
tot[v] += w[fa] + sonv - w[v], work(v, x);
maxv = max(maxv, w[v] * w[fa]);
}
} int main() {
freopen("link.in", "r", stdin);
freopen("link.out", "w", stdout);
scanf(LL, &n);
for (ll i = ; i < n; i++) scanf(LL " " LL, &u, &v), add(u, v), add(v, u);
for (ll i = ; i <= n; i++) scanf(LL, &w[i]);
work(, );
for (ll i = ; i <= n; i++) (ans += w[i] * tot[i]) %= MOD;
printf(LL " " LL, maxv, ans);
return ;
}
风格也差别比较大。
[RT][NOIP2015]联合权值的更多相关文章
- [NOIP2015]联合权值
1.题面 2.总结 第一次回忆一下当年的题目.但是这道题已经做烂了,只是看还记得树遍历会写么. 然后我写了一下,有点费劲,交上去之后只有70,比较尴尬,看了下去年5月写的代码,发现完全不是一个感觉啊. ...
- Vijos1906 联合权值 NOIP2014Day1T2 树形动态规划
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - Vijos1906 题意概括 有一棵树,每一个节点都有一个权值w[i].下面说的x,y都是该树中的节点. 对于 ...
- 【树形DP】【P1351】 【NOIP2014D1T2】联合权值
传送门 Description 无向连通图 \(G\) 有 \(n\) 个点, \(n-1\) 条边.点从 \(1\) 到 \(n\) 依次编号,编号为 \(i\) 的点的权值为 \(W_i\) ,每 ...
- 【19.00%】【vijos p1906】联合权值
描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离. ...
- Codevs 3728 联合权值
问题描述 无向连通图G有n个点,n-1条边.点从1到n依次编号,编号为i的点的权值为Wi ,每 条边的长度均为1.图上两点(u,v)的距离定义为u点到v点的最短距离.对于图G上的点 对(u,v),若它 ...
- P1906联合权值
描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的最短距离. ...
- [NOIP2014] 提高组 洛谷P1351 联合权值
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...
- NOIp 2014 #2 联合权值 Label:图论 !!!未AC
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...
- 【洛谷P1351】联合权值
我们枚举中间点,当连的点数不小于2时进行处理 最大值好搞 求和:设中间点 i 所连所有点权之和为sum 则对于每个中间点i的联合权值之和为: w[j]*(sum-w[j])之和 #include< ...
随机推荐
- MySQL 锁问题
一.MySQL中不同的存储引擎支持不同的锁机制 (A) MyISAM 和 MEMORY 支持表级锁 (B) BDB 支持页面锁,也支持表级锁 (C) InnoDB 支持行级锁,也支持表级锁,默认是行级 ...
- HTTP连接管理
本文是<HTTP权威指南>读书笔记: 几乎所有的HTTP通信都是通过TCP/IP承载的,当HTTP要传送一些报文时,会以流的形式将报文数据的内容通过一条打开的TCP连接按序传输.因此HTT ...
- NOIP2016滚粗计
啦啦啦,第一次写游记~ Day0 早上浪浪浪,开了几盘CS 坐车到衢州,在车上开了几盘 艾萨克,然而好困啊…… 到衢二后围观XJ杭二合力A ztr,不是很懂为什么事情会变成这样 晚上开杀人游戏,wcz ...
- docker 目录迁移
(ubuntu 12.04) 默认路径 /var/lib/docker --> /data/docker root@node1:~# service docker stop root@node ...
- tomcat7 IP限制配置
server.xml </Host>前添加<Valve className="org.apache.catalina.valves.RemoteAddrValve&quo ...
- Mac Vim + ctags 实现多目录跳转
set tags=tags; set autochdir :wq保存. 在源码根目录中输入ctags -R命令.后重启vim,打开src文件,就能使用Ctrl+] 或 g Ctrl+] 来实现跳转了. ...
- Swift 学习中的一点体会,不断更新中。。。
随着Xcode 8的发布,swift 3.0终于来了.又有一大批api名字发生了变化.但是感觉3.0之后的变化应该会小些,因此再重新仔细学习一下. 1. 关于swift引入的Computed Prop ...
- NetBeans invalid jdkhome specified 问题解决方法
JDK的路径变化会导致 NetBeans 启动时出现错误: 解决办法: There's is an easy way to fix this. Navigate to your NetBeans in ...
- Spring MVC 中 HandlerInterceptorAdapter的使用
一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理.后处理. Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度. s ...
- 【svn】SSL error: A TLS warning alert has been received的解决方法
第一次用svn(>_<),结果在运行下面语句时,svn很不友好的报错了..... svn co http:10.11.12.13/test1/test2 . 报错信息: svn: OPTI ...