Linova and Kingdom
时间:2020-04-17
本文章向大家介绍Linova and Kingdom,主要包括Linova and Kingdom使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
参考:Codeforces Round #635 Editorial
首先要知道的规律是如果一个城市为工业城市,那么它的所有子节点也肯定为工业城市。可以通过反证法证明。
那么我们可以得到每一个旅游城市的贡献为(子树大小 - 结点深度),证明方法可以查看官方题解。
没有思路的话,可以先推推其中的规律,再根据得到的规律进行求解。如果可以将对整个图的分析化为对一个点独立的分析,那么就很容易了。
// Created by CAD on 2020/4/17.
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=2e5+5;
vector<int> g[maxn];
int son[maxn],d[maxn];
void dfs(int x,int fa,int deep){
son[x]=1;
for(auto i:g[x])
if(i!=fa) dfs(i,x,deep+1),son[x]+=son[i];
d[x]=son[x]-deep;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n,k; cin>>n>>k;
for(int i=1,x,y;i<=n-1;++i)
cin>>x>>y,g[x].push_back(y),g[y].push_back(x);
dfs(1,0,1);
sort(d+1,d+n+1,greater<int>());
ll sum=0;
for(int i=1;i<=n-k;++i) sum+=d[i];
cout<<sum<<"\n";
return 0;
}
原文地址:https://www.cnblogs.com/CADCADCAD/p/12719936.html
- IntPtr 转 string
- 微信开发中网页授权access_token与基础支持的access_token异同
- angularJS constant和value
- 让你的HTTPS更安全
- mybatis异常 :元素内容必须由格式正确的字符数据或标记组成。
- 剑指offer代码解析——面试题24二叉搜索树的后序遍历序列
- 剑指offer代码解析——面试题23从上往下打印二叉树
- Spring Boot 集成Shiro和CAS
- 剑指offer代码解析——面试题22栈的压入、弹出序列
- 剑指offer代码解析——面试题21包含min函数的栈
- 剑指offer代码解析——面试题19二叉树的镜像
- mysql高可用架构设计,处理高并发,大流量!
- 零基础入门深度学习 | 第三章:神经网络和反向传播算法
- 微信企业付款到个人钱包引发的坑之反思~!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- pytest 测试框架学习(6):pytest.importorskip
- Java 自定义注解及使用场景
- pytest 测试框架学习(8):pytest.exit
- Linux傻瓜式四步完美安装Python3.7
- 【译】10 个最有用的 git log 技巧
- Hibernate的入门(Hibernate的环境搭建、Hibernate的API)
- pytest 测试框架学习(9):pytest.main
- 深入了解ActiveMQ!
- 完美解决 python ImportError: Failed to import any qt binding
- 爬取娱乐圈排行榜数据
- 如何解决Linux系统下pyaudio安装缺少文件问题error: portaudio.h: 没有那个文件或目录
- pytest 测试框架学习(10):pytest.param
- pytest 测试框架学习(11):pytest.raises
- Hibernate第二天:Hibernate的一级缓存、其他的API
- pytest 测试框架学习(12):pytest.deprecated_call