A. 联合权值

标签:思维题,图论

该题浑身上下都是坑  果然还是我太弱了。

首先看题看的一脸懵逼,然后根据数据(n个点 n-1条边)我们知道其实这就是棵树嘛qwq

任务目标:求出最大联合权值,求所有联合权值之和。

主流题解有两条路:思维+技巧,树形DP

思维+技巧:首先构建基本模型。以一个点为中心,与其直接相邻的点互相为可联合的点,因为显然它们与该点距离为1,根据树的性质它们彼此之间的路径必定经过该点,即相互距离为2。 那么枚举每个点的每条边进行结算。对于任务目标2,我们可以看样例得出某些.... ...目标为a*b+b*c+......b*a+c*b. 经过简单的思考,继续套用上文模型,定义s[o]为指定点邻点的权值之和,定义ABCDEFG等一干字母为邻点,那么对于该点答案为 val[A]*(s[o]-val[A]) + ...

顺便吐槽某些题解:这是乘法分配律,不是什么加法结合律

 1 #include<cstdio>
 2 #include<iostream>
 3 #define maxn 500000
 4 using namespace std;
 5
 6 struct edge{
 7     long long from,v;
 8 }e[maxn];
 9
10 long long tot,first[maxn];
11 void insert(long long u,long long v){
12     tot++;
13     e[tot].from = first[u];
14     e[tot].v = v;
15     first[u] = tot;
16 }
17
18 long long n,u,v,s[maxn],val[maxn],cnt1,cnt2,maxx[maxn],sum,ans;
19 int main(){
20     scanf("%lld",&n);
21     for(long long i = 1;i < n;i++){
22         scanf("%lld%lld",&u,&v);
23         insert(u,v);
24         insert(v,u);
25     }
26
27     for(long long i = 1;i <= n;i++){
28         scanf("%lld",&val[i]);
29     }
30
31     for(long long i = 1;i <= n;i++){
32         cnt1 = cnt2 = 0;
33         for(long long j = first[i];j;j = e[j].from){
34             v = e[j].v;
35             s[i] += val[v];
36 //            printf("$ %d",val[v]);
37             if(val[v] >= cnt1){
38                 cnt2 = cnt1,cnt1 = val[v];
39 //                printf("##%d %d",cnt1,cnt2);
40             }else if(val[v] > cnt2) cnt2 = val[v];
41         }
42 //        cout << endl;
43         maxx[i] = cnt1*cnt2;
44     }
45
46     for(long long i = 1;i <= n;i++){
47         ans = max(maxx[i],ans);
48         for(long long j = first[i];j;j = e[j].from){
49             sum = (sum+(s[i]-val[e[j].v])*val[e[j].v]); sum %= 10007;
50         }
51
52     }
53
54     printf("%lld %lld\n",ans,sum);
55
56 //    for(int i = 1;i <= n;i++) printf("%d ",maxx[i]);
57
58     return 0;
59 }

易证Leo_CT相当菜= =

转载于:https://www.cnblogs.com/Chorolop/p/7376553.html

NOIP之旅:NOIP2014篇相关推荐

  1. React Native填坑之旅--动画篇

    React Native填坑之旅--Button篇 React Native填坑之旅--动画 React Native填坑之旅--HTTP请求篇 动画是提高用户体验不可缺少的一个元素.恰如其分的动画可 ...

  2. 第一学期ACM之旅总结篇

    是我大一第一学期ACM之旅总结篇鸭,纪念逝去的青春: 自加入ACM集训队以来已有三个月之久,虽然一开始什么都不懂,但对ACM充满期待与向往.入队以后,通过和队员们一起学习以及各个学长的指导下,我慢慢地 ...

  3. Linux之旅----硬件篇

    linux之旅----硬件篇(DIY) 记得第一次接触电脑应该是小学三年级,那时候的它对我来说只是一个游戏机的概念:极品飞车.红色警戒.CS.热血传奇.......陪我度过了小学懵懂的时光:泡泡堂.梦 ...

  4. CTF之旅WEB篇(3)--ezunser PHP反序列化

    一.审题 对方朝你扔过来一串代码(当然这次又是蹭的题只说过程和思路): <?php highlight_file(__FILE__); class A{public $name;public $ ...

  5. ABAP项目砖家之旅-基础篇

    ABAP项目砖家之旅-基础篇 前言 一.ABAP简介 二.ABAP开发工具 1.SAPgui 2.eclipse和HANA studio 三.相关搬砖经验 1.必须还是熟悉语法 2.复制粘贴写注释 3 ...

  6. ESP8266开发之旅 网络篇⑭ web配网

    文章目录 1. 前言 2. Web配网(AP配网) 2.1 自定义AP配网 2.2 WiFiManager 3. 总结 授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大 ...

  7. ESP8266开发之旅 应用篇⑭ 局域网应用 ——炫酷RGB彩灯(WebSocket实现)

    文章目录 1.前言 2.技术原理 3.ESP8266 源码 4. APP 授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成 ...

  8. ESP8266开发之旅 应用篇⑧Arduino版本 WiFi杀手

    文章目录 1. 前言 授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 共同学习成长QQ群 62 ...

  9. python 同花顺thstrader_Python 踩坑之旅进程篇其三pgid是个什么鬼 (子进程\子孙进程无法kill 退出的解法)...

    代码示例支持 平台: Centos 6.3 Python: 2.7.14 1.1 踩坑案例 pid, ppid是大家比较常见的术语, 代表进程号,父进程号. 但pgid是个什么鬼? 了解pgid之前, ...

  10. 源码系列第1弹 | 带你快速攻略Kafka源码之旅入门篇

    大家过年好,我是 华仔, 又跟大家见面了. 从今天开始我将为大家奉上 Kafka 源码剖析系列文章,正式开启 「Kafka的源码之旅」,跟我一起来掌握 Kafka 源码核心架构设计思想吧. 今天这篇我 ...

最新文章

  1. mysql字节对齐_结构体字节对齐-位域及其对齐
  2. php 跨域名存储cookie,实现跨域名Cookie
  3. 使用ping命令检查路由之解惑
  4. 前端又要失失失失失失失失失业了!
  5. 【Elasticsearch】es Timelion是Kibana中时间序列的可视化工具
  6. 吊打 IE、Firefox,谷歌 Chrome 十年封神记
  7. iOS底层探索之Runtime(四): 动态方法解析
  8. 二十三种设计模式[4] - 原型模式(Prototype Pattern)
  9. Qt程序运行时报错C:\user\administrator\SogouInput\Components\Error程序异常终止
  10. 羊毛之家,青龙脚本,几乎全部可用
  11. ANSYS CFD网格划分笔记3
  12. 痛心,京东程序员删库跑路获刑!
  13. Ncurses学习经历(九)屏幕操作
  14. 计算机保存文件快捷键,保存快捷键是什么,保存文档的快捷键
  15. PMP项目管理如何通过改革处理掉核心技术成果的潜在流失风险?
  16. 2020-01-04
  17. 类型多样的游戏特效网页特效素材,速来收藏
  18. abp zero mysql_ABP从入门到精通(2):aspnet-zero-core 使用MySql数据库
  19. Axure 9.0.0.3687
  20. 采用analysis-dynamic-synonym插件,动态文件的方式同步同义词

热门文章

  1. webservice CXF入门服务端
  2. C++ Primer学习笔记(一)
  3. java集合框架(hashSet自定义元素是否相同,重写hashCode和equals方法)
  4. C++编程--函数与委托(2)
  5. python 命令行解析模块_Python解析命令行读取参数 -- argparse模块
  6. 就计算机结构与课程的论文,关于计算机组成原理的课程论文(2)
  7. Nginx之代理和负载均衡
  8. (44)FPGA条件编译(选择语句)
  9. (23)System Verilog设计二分频电路
  10. (11)Zynq SPI控制器介绍