Codevs 3728 联合权值 题解
来源:互联网 发布:淘宝客qq群链接生成 编辑:程序博客网 时间:2024/06/05 09:58
3728 联合权值
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold
题目描述 Description
输入描述 Input Description
输出描述 Output Description
样例输入 Sample Input
样例输出 Sample Output
数据范围及提示 Data Size & Hint
#include<iostream>#include<cstdio>#include<vector>using namespace std;vector<int>t[200010];int a[200010],u,v,sum=0,pow=0,m1=0,m2=0,n,k,ans,sm;int main(){cin>>n;for(int i=1;i<=n-1;i++){cin>>u>>v;t[u].push_back(v);t[v].push_back(u);}for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){ m1=m2=0;sum=pow=0;for(int j=0;j<t[i].size();j++){k=a[t[i][j]];sum+=k;sum%=10007;pow+=(k*k);pow%=10007;if(k>m1){m2=m1;m1=k;}else if(k>m2)m2=k;}//cout<<i<<' '<<m1*m2<<' '<<sum*sum-pow<<endl;;sum=sum%10007;pow=pow%10007;if(sm<(m1*m2))sm=m1*m2;ans+=(sum*sum-pow);ans%=10007;}//for(int i=0;i<n;i++)for(int j=0;j<t[i].size();j++){//k=a[t[i][j]];//cout<<i<<j<<k<<endl;//}cout<<sm<<' '<<ans;return 0;}
时间复杂度 O(n)
权值为2→同一个点相邻的两个点
用(m1+m2+m3+……)^2-m1^2-m2^2-……累加求和
注意最大值和次大值 注意最大值和次大值 注意最大值和次大值
0 0
- 联合权值(codevs 3728)题解
- Codevs 3728 联合权值 题解
- Codevs 3728 联合权值
- Codevs 联合权值
- noip2014D1T2联合权值题解
- [noip2014]联合权值 题解
- 【DFS】NOIP2014Day1T2[联合权值]题解
- 3728 联合权值
- codevs 2597 团伙 题解
- Codevs 1076 题解
- Codevs 1201 题解
- CodeVS 第四次月赛 题解
- Codevs 多米诺+覆盖题解
- 【codevs 1191】题解
- 【codevs 1369】题解
- 【codevs 2981】题解
- 【codevs 1690】题解
- CodeVS 1215 迷宫 题解
- JAVA学习初步 星期判断、最小数判断、水仙花数
- Hadoop Zookeeper HBase 启动后进程
- fast-rcnn训练自己数据集以及demo代码解读和总结(面向fast-rcnn初学者)
- 创建Graphics对象的方法及使用
- 推广策略之QQ群
- Codevs 3728 联合权值 题解
- Light OJ 1122 Digit Count
- 点滴编程
- 简单举例说明android自定义view的方法
- J2EE轻量级框架--3.25学习笔记
- C++学习笔记——第11章 运算符法重载
- RabbitMQ Notes
- Android 使用无线调试
- Java开发环境搭建