NOIP 2014 联合权值
来源:互联网 发布:mysql substr from for 编辑:程序博客网 时间:2024/05/21 10:27
描述
无向连通图G有n个点,n-1条边。点从1到n依次编号,编号为i的点的权值为Wi ,每条边的长度均为1。图上两点(u, v)的距离定义为u点到v点的最短距离。对于图G上的点对(u, v),若它们的距离为2,则它们之间会产生Wu×Wv的联合权值。
请问图G上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少?
输入格式
输入文件名为link.in。
第一行包含1个整数n。
接下来n-1行,每行包含2个用空格隔开的正整数u、v,表示编号为u和编号为v的点之间有边相连。
最后1行,包含n个正整数,每两个正整数之间用一个空格隔开,其中第i个整数表示图G上编号为i的点的权值为Wi。
输入样例:
5
1 2
2 3
3 4
4 5
1 5 2 3 10
输出格式
输出文件名为link.out。
输出共1行,包含2个整数,之间用一个空格隔开,依次为图G上联合权值的最大值和所有联合权值之和。由于所有联合权值之和可能很大,输出它时要对10007取余。
输出样例:
20 74
备注
对于30%的数据,1 < n≤100;
对于60%的数据,1< n≤2000;
对于100%的数据,1 < n≤200,000,0 < Wi ≤10,000。
【分析】
枚举中间点
加法分配律
无脑取模法
整个人都哭了
【代码】
//联合权值(link) #include<iostream>#include<cstdio>#include<vector>#include<cstring>#include<algorithm>#define M(a) memset(a,0,sizeof a)#define fo(i,j,k) for(i=j;i<=k;i++)using namespace std;vector <int> f[200001];int du[200001],w[200001];int n,ans,mx;void find(int u){ int sum=0,big=0,cibig=0; int i,j,k,x=f[u].size()-1,v; fo(i,0,x) { sum+=(w[f[u][i]])%10007; if(big<w[f[u][i]]) { k=i; big=w[f[u][i]]; } } fo(i,0,x) if(i!=k) cibig=max(cibig,w[f[u][i]]); mx=max(mx,big*cibig); fo(i,0,x) { v=f[u][i]; ans=(ans+w[v]*(((sum-w[v])%10007)+10007))%10007; }}int main(){ int i,j,k,u,v; scanf("%d",&n); fo(i,2,n) { scanf("%d%d",&u,&v); f[u].push_back(v); f[v].push_back(u); du[u]++; du[v]++; } fo(i,1,n) scanf("%d",&w[i]); fo(i,1,n) if(du[i]>1) find(i); printf("%d %d\n",mx,ans%10007); return 0;}
0 0
- NOIP 2014 联合权值
- NOIP 2014 联合权值
- NOIP 2014 联合权值
- NOIP-2014 联合权值
- NOIP 提高组2014 联合权值
- NOIP 2014提高组 联合权值
- NOIP 2014 T2 联合权值 DFS
- NOIP 2014 [D1 T2]联合权值
- NOIP 2014 D1T2 联合权值
- Noip 2014 提高组 联合权值
- NOIP 2014 联合权值 [DFS]
- 【noip】联合权值 搜索
- 【noip 2015】联合权值
- NOIP 2014 提高组 Day1 T2 联合权值
- NOIP 2014 day1第二题 联合权值
- #NOIP 2014# day.1 T2 联合权值
- P1351 联合权值 noip提高组2014
- Noip提高组 2014 Day1 T2 联合权值 模拟
- linux文件内容的复制与粘贴
- 数码问题_纪中1433_暴力
- view的frame高度根据键盘出现、消失改变
- 兼容各个浏览器的图片上传预览
- SpringBoot配置积累
- NOIP 2014 联合权值
- mybatis中#{}和${}传参的区别
- 决策树--总结
- C语言 程序 字符串转换成整型,整型转换成字符串
- UE4里UI的使用方法
- jquery操作select(取值,设置选中)
- 【数据结构与算法分析】顺序表
- scrapy抓取csdn中标题带有“语义”关键字的文章的标题和链接
- [从头读历史] 第303节 星球战争 起始:冷兵器战争的宏观架构