「NOIP2014」「Codevs3728」 联合权值(乱搞
3728 联合权值







题解
这(在洛谷上)都是些什么标签?LCA?dp?(MAX问号脸
随意钦定一个点当根节点,转化成有根树处理。
对于dfs到的每个点,$sum$加上$x$和$fa[fa[x]]$的点权乘积$*2$($(x,y)$和$(y,x)$要算两次
然后在当前这个点的所有儿子之间乘一下,加到$sum$里。
当然也顺手跟$mac$取个$max$。
然后在处理每个点的儿子之间的恩怨时,很多人用的是$O(n^2)$的两个for。
菊花图会直接让你们TLE的啊qwq,但是这数据蛮水的,没卡他们qaq
所以我写的时候怕T,做了一丢丢优化,搞到了$O(n)$。
反正也没什么用就是了。
/*
qwerta
P1351 联合权值
Accepted
100
代码 C++,1.41KB
提交时间 2018-10-09 11:26:08
耗时/内存
170ms, 7356KB
*/
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
const int MAXN=+;
struct emm{
int e,f;
}a[*MAXN];
int h[MAXN];
int tot=;
void con(int u,int v)
{
a[++tot].f=h[u];
h[u]=tot;
a[tot].e=v;
a[++tot].f=h[v];
h[v]=tot;
a[tot].e=u;
return;
}
int w[MAXN];
int d[MAXN],fa[MAXN];
const int mod=;
long long sum=,ans=;
int st[MAXN];
void dfs(int x)
{
if(fa[fa[x]])
{
sum+=*w[x]*w[fa[fa[x]]];
sum%=mod;
ans=max(ans,(long long)w[x]*w[fa[fa[x]]]);
}
int tos=;
long long sumn=;
int mac1=,mac2=;
for(int i=h[x];i;i=a[i].f)
if(!d[a[i].e])
{
fa[a[i].e]=x;
d[a[i].e]=d[x]+;
st[++tos]=a[i].e;
sumn+=w[a[i].e];
if(w[a[i].e]>=mac1){mac2=mac1,mac1=w[a[i].e];}
else if(w[a[i].e]>mac2){mac2=w[a[i].e];}
}
ans=max(ans,(long long)mac1*mac2);
for(int i=;i<=tos;++i)
{
sum+=(sumn-w[st[i]])*w[st[i]];
sum%=mod;
}
//cout<<x<<" "<<ans<<" "<<sum<<endl;
for(int i=h[x];i;i=a[i].f)
if(fa[a[i].e]==x)
dfs(a[i].e);
return;
}
int main()
{
//freopen("a.in","r",stdin);
int n;
scanf("%d",&n);
for(int i=;i<n;++i)
{
int u,v;
scanf("%d%d",&u,&v);
con(u,v);
}
for(int i=;i<=n;++i)
scanf("%d",&w[i]);
int s=min(n,);
d[s]=;
dfs(s);
cout<<ans<<" "<<sum%mod;
return ;
}
「NOIP2014」「Codevs3728」 联合权值(乱搞的更多相关文章
- NOIP2014提高组第二题联合权值
还是先看题吧: 试题描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi ,每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 ...
- 【前缀和】【前缀MAX】洛谷 P1351 NOIP2014提高组 day1 T2 联合权值
不难发现,树中与某个点距离为2的点只可能是它的父亲的父亲.儿子的儿子 或者 兄弟,分类讨论一下即可. 只有对于兄弟我们不能暴力搞,维护一下每个节点的所有儿子的前缀和.前缀MAX就行了. #includ ...
- 「NOIP2014」联合权值
传送门 Luogu 解题思路 因为这是一棵树,所以说两个点如果能产生联合权值,那么它们就只能通过唯一的一个中转点来匹配,所以我们就枚举这个中转点. 但是我们又会发现,如果把每个点周围的点抠出来进行两两 ...
- 【学术篇】luogu1351 [NOIP2014提高组] 联合权值
一道提高组的题..... 传送门:题目在这里.... 现在都懒得更自己的blog了,怕是太颓废了_ (:з」∠) _ 好久没做题了,手都生了.(好吧其实是做题方面手太生了) 这题我都不想讲了,把代码一 ...
- [Luogu 1351] NOIP2014 联合权值
[Luogu 1351] NOIP2014 联合权值 存图,对于每一个点 \(u\),遍历它的所有邻接点.以 \(u\) 为中转点的点对中,\((x,y)\) 的联合权值 \(w_x \cdot w_ ...
- [NOIP2014提高组]联合权值
题目:洛谷P1351.Vijos P1906.codevs3728.UOJ#16. 题目大意:有一个无向连通图,有n个点n-1条边,每个点有一个权值$W_i$,每条边长度为1.规定两个距离为2的点i和 ...
- [NOIP2014] 提高组 洛谷P1351 联合权值
题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...
- Noip2014 提高组 T2 联合权值 连通图+技巧
联合权值 描述 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 WiWi, 每条边的长度均为 1.图上两点(u, v)的距离定义为 u 点到 v 点的 ...
- NOIP2014 联合权值
2.联合权值 (link.cpp/c/pas) [问题描述] 无向连通图G有n个点,n-1条边.点从1到n依次编号,编号为i的点的权值为Wi ,每条边的长度均为1.图上两点(u, v)的距离定义为u ...
随机推荐
- [Algorithm] Breadth First JavaScript Search Algorithm for Graphs
Breadth first search is a graph search algorithm that starts at one node and visits neighboring node ...
- 分布式服务框架选型:面对Dubbo,阿里巴巴为什么选择了HSF?
转载:http://www.sohu.com/a/141490021_268033 阿里巴巴集团内部使用的分布式服务框架 HSF(High Speed Framework,也有人戏称“好舒服”)已经被 ...
- Webduino Smart 从入门到起飞
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 试用了一下,感觉这板子+WebduinoBlockly在线开发环境,下限低.上限也低,以后肯定要刷其他固件的.举个简单的例子,WB ...
- makefile 与android.mk中加信息打印
makefile里面加打印: [table]@echo ' zImage - Compressed kernel image' android.mk里面加信息打印: $(warning TEXT... ...
- 请问如何突破”所选文件超出了文件的最大值设定:25.00 Mb“限制
警告消息 这个限制 并没有 设置项, 必须 修改 源码才可以. 打开 web/static/src/js/views/form_widgets.js ...
- odoo生产物流
odoo生产从raw materials location 自动消耗物料,产成品进入到finish productslocation. 而odoo自动产生的MO[manufacture Order], ...
- css3: background-image使用多个背景图像
CSS3 允许元素使用多个背景图像. background-image: url(img/ic_ms.png),url(img/icon_dutyfree_invite.png); <!DOCT ...
- HDU 5667 :Sequence
Sequence Accepts: 59 Submissions: 650 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- HttpUtility.UrlEncode,Request.RawUrl,HttpUtility.UrlDecode,HttpUtility.UrlPathEncode,Uri.EscapeDataString
碰到同样问题, 记录一下. 引自:https://www.cnblogs.com/ken-admin/p/5826480.html HttpUtility.UrlDecode(url),从Encode ...
- xadmin入门使用
,官方文档:http://xadmin.readthedocs.io/en/docs-chinese/views_api.html 中文文档:https://www.kancloud.cn/net_y ...