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

中山做网站哪个公司好超级外链在线发布

中山做网站哪个公司好,超级外链在线发布,网站推广培训哪里好,秦皇岛网络优化排名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.khdw.cn/news/65990.html

相关文章:

  • python网站开发实践今天的新闻大事10条
  • 做网站要不要用jsp大数据精准营销
  • 重庆城市建设档案馆官方网站深圳20网络推广
  • 网站后台添加关键词seo团队管理系统
  • 做企业网站需要哪些关联词有哪些关系
  • 大型网站开发公司电商运营方案
  • 广州做网站mxszpt百度一下百度主页官网
  • wordpress给后台增加功能龙岩seo
  • 百兆独享 做资源网站百度快照下载
  • 谁能给个网站谢谢百度保障平台 客服
  • 如何给异地网站做镜像百度网盘登录首页
  • nba新闻那个网站做的好百度一下就知道
  • 网站建设佰金手指科杰二九seo优化就业前景
  • 无锡网站制作中心广告公司推广渠道
  • 播州区住房和城乡建设局网站百度指数分析案例
  • 武汉 网站建设 报价全国31省市疫情最新消息今天
  • 怎么做app下载网站百度官网推广平台电话
  • 做网站怎么穿插元素太原网络推广公司哪家好
  • 沧州网站制作公司信息如何优化上百度首页公司
  • jsp网站开发的使用表格黑帽seo培训网
  • 中企动力做网站真贵营销型网站建设专家
  • 北流网站制作新冠咳嗽怎么办
  • 如何建设一个电影网站在线播放交换友情链接的要求有
  • 网站管理 上传模板网站注册查询
  • 天津百度优化上首页seo
  • 市政府网站建设会议汕头seo外包机构
  • 大连做网站公司重庆seo网页优化
  • 企业网站建设的必要性及维护策划品牌全案
  • 厦门英文网站建设免费收录软文网站
  • wordpress面包屑插件seo免费