当前位置: 首页 > news >正文

印刷企业网站模板企业网络营销推广平台

印刷企业网站模板,企业网络营销推广平台,vs做网站需要的插件,手机怎么自己制作图片Problem - 1336A - Codeforces Linova and Kingdom - 洛谷 解析: 开始认为分情况讨论 k 小于等于叶子结点和大于叶子结点的情况,然后选择深度最深的叶子结点和子孙数量最小的结点,但是发现如果把某一个非叶子结点选取,那么其子孙…

Problem - 1336A - Codeforces

Linova and Kingdom - 洛谷

 解析:

        开始认为分情况讨论 k 小于等于叶子结点和大于叶子结点的情况,然后选择深度最深的叶子结点和子孙数量最小的结点,但是发现如果把某一个非叶子结点选取,那么其子孙的贡献都会减少。

        考虑贪心,首先DFS出每个节点的深度deep(根节点为 0 )和每个节点的子孙结点个数 num(不带本身),这样如果某个结点被选取,那么其贡献为 deep - num ,所以我们选取最大的 k 个结点累计即可。

        此处贪心的正确性证明:如果我们要选择某个结点,那么他的所有子孙结点肯定要被选择。如果不这样的话,那么显然选取他的子孙结点对于答案的贡献更高(deep更大,num更小),所以此时这个结点的子孙结点肯定都被选择,所以贡献值为 deep - num        

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+5;
int n,k,dis[N];
vector<int>e[N];
priority_queue<int>q;
int dfs(int u,int deep,int fa){dis[u]=deep;if(e[u].size()==1&&u!=1){	//叶结点 q.push(dis[u]);return 1;}int cnt=0;for(int i=0;i<e[u].size();i++){if(e[u][i]!=fa) cnt+=dfs(e[u][i],deep+1,u);}q.push(dis[u]-cnt);		//优先队列统计 return cnt+1;		//返回子孙结点个数 
}
signed main(){scanf("%lld%lld",&n,&k);for(int i=1;i<n;i++){int a,b;scanf("%lld%lld",&a,&b);e[a].push_back(b);e[b].push_back(a);}dfs(1,0,-1);	int res=0;while(k&&q.size()){res+=q.top();q.pop();k--;}cout<<res;return 0;
}
http://www.tj-hxxt.cn/news/2206.html

相关文章:

  • 德阳定制建站网站建设制作百度搜索名字排名优化
  • 违反建设投诉网站举报新十条优化措施
  • 网站建设模板是什么意思seo臻系统
  • 做网站时怎么选择数据库类型cilimao磁力猫在线搜索
  • 容桂网站制作代理下载百度app最新版
  • 潍坊公司做网站微信营销模式有哪些
  • 网站怎么做留言的微信指数是搜索量吗
  • 淘宝店铺怎么运营起来青岛seo博客
  • 做暧视频网站大全网页设计与网站开发
  • 大连百度关键词优化电商关键词排名优化怎么做?
  • 移动端网站开发介绍网站搜索优化排名
  • 石家庄住建局网站网络营销实训个人总结
  • 网站建设总结优化网站性能
  • 局域网建设网站工具运营推广计划怎么写
  • 个人网站制作百度seo和sem
  • 房产网站怎么做400电话怎么优化网络
  • 手机版网站与app关键词排名怎么做好
  • 网站app 开发深圳百度推广属于哪家公司
  • wordpress 优势沈阳seo博客
  • 现在什么网站做基础销量好黑帽seo联系方式
  • 做按摩网站优化推广上海百度推广开户
  • 做房产的网站nba最新新闻消息
  • 建设银行信用卡管理中心网站如何设计企业网站
  • 附近装修设计公司人教版优化设计电子书
  • 政务公开网站建设工作情况汇报企业营销管理
  • wordpress整站源码绍兴seo排名收费
  • 大连seo交流群seo学徒招聘
  • 快速搭建个人网站seo网站推广杭州
  • 文化集团网站模板志鸿优化设计答案网
  • 网站开发前端和后端哪个费时间百度网页游戏