CodeForces - 1336A

就差一点点,很可惜,少发现个很显而易见的结论

就是一个点的价值,实际上就是(这个点的深度 - 之后的点的数目) 就是 \(depth_i - size_i\) 然后只要用dfs维护就好了

然后把一个点的价值用STL优先队列放在一起,贪心完成。但是可能也算不上什么贪心,因为是很朴素的东西

突然想到以前看题解更多的是想看这种\(depth\)和\(size\)是怎么维护的,但是怎么都找不到,真的自己写题解还是感觉,不好写这种东西,有时间或许可以尝试写下题解,也只是分析代码了

但是现在还是进步很大的,只要有了思路怎么写都行

#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
struct CodeForces{
int to,nxt;
}edge[400005];
int ecnt=0;
int n,k;
int head[200005]={0};
int vis[200005]={0};
int siz[200005]={0};
int dep[200005]={0};
priority_queue<int> q;
void build(int from,int to){
edge[++ecnt].to=to;
edge[ecnt].nxt=head[from];
head[from]=ecnt;
}
void init(){
for(int i=1;i<=200000;++i){
head[i]=-1;
}
}
void dfs(int x,int now){
siz[x]++;
for(int i=head[x];~i;i=edge[i].nxt){
int to=edge[i].to;
if(vis[to]==1) continue;
vis[to]=1;
dep[to]=now+1;
dfs(to,now+1);
siz[x]+=siz[to];
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
init();
cin>>n>>k;
for(int i=1;i<n;++i){
int to,from;
cin>>to>>from;
build(from,to);
build(to,from);
}
vis[1]=1;
dep[1]=1;
dfs(1,1);
for(int i=1;i<=n;++i){
q.push(dep[i]-siz[i]);
}
int ans=0;
for(int i=1;i<=k;++i){
int tt=q.top();
q.pop();
ans+=tt;
}
cout<<ans<<endl;
return 0;
}

CodeForces - 1336A Linova and Kingdom的更多相关文章

  1. Codeforces 1337C Linova and Kingdom

    题意 给你一颗有根树,你要选择\(k\)个点,最大化\(\sum_{i \in S} val_i\),其中\(S\)是被选点的集合,\(val_i\)等于节点\(i\)到根的路径上未被选择点的个数. ...

  2. Codeforces Round #635C Linova and Kingdom 思维

    Linova and Kingdom 题意 现在有一颗n个节点的树,每个节点是一个城市,现在要选出k个城市作为工业城市,其他城市作为旅游城市,现在每个工业城市要派出一名特使前往根节点,每个特使的幸福度 ...

  3. Codeforces Round #635 C. Linova and Kingdom

    传送门:C. Linova and Kingdom 题意:给你一棵树,要求对k个结点涂色,然后统计每个未涂色结点到根结点的路径上未涂色结点的和,求和最大能为多少 题解:对着样例画几遍,然后贪心发现,最 ...

  4. codeforces:Roads in the Kingdom分析和实现

    题目大意:国家有n个城市,还有n条道路,每条道路连通两个不同的城市,n条道路使得所有n个城市相互连通.现在国家经费不足,要关闭一条道路.国家的不便度定义为国家中任意两个不同的城市之间的距离的最大值,那 ...

  5. CodeForces - 115E:Linear Kingdom Races (DP+线段树+lazy)

    pro: 从左到有有N个车道,都有一定程度损坏,所以有不同的修理费a[]: 有M场比赛,每场比赛的场地是[Li,Ri],即如果这个区间的车道都被修理好,则可以举办这个比赛,并且收益是Pi.问最多得到多 ...

  6. Linova and Kingdom(树型-贪心)

    题目大意:给定一棵树,1为首都(首都可以是工业城市也可以是旅游城市),一共有n个点. 其中要选出k个工业城市,每个工业城市出一个代表去首都,其快乐值是其途径旅游城市(非工业)的个数 求所有快乐值相加的 ...

  7. CF1336 Linova and Kingdom

    题面 给定 n 个节点的有根树,根是 1 号节点. 你可以选择 k 个节点将其设置为工业城市,其余设置为旅游城市. 对于一个工业城市,定义它的幸福值为工业城市到根的路径经过的旅游城市的数量. 你需要求 ...

  8. Codeforces Round #635 (Div. 2) 题解

    渭城朝雨浥轻尘,客舍青青柳色新. 劝君更尽一杯酒,西出阳关无故人.--王维 A. Ichihime and Triangle 网址:https://codeforces.com/contest/133 ...

  9. Codeforces Round #635 (Div. 2)

    Contest Info Practice Link Solved A B C D E F 4/6 O O Ø  Ø     O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Sol ...

  10. Codeforces Round #635 (Div. 2)部分(A~E)题解

    虽然打的是div1,但最后半小时完全处于挂机状态,不会做1C,只有个 \(O(n^3)\) 的想法,水了水论坛,甚至看了一下div2的AB,所以干脆顺便写个div2的题解吧,内容看上去还丰富一些(X) ...

随机推荐

  1. ERR_INVALID_REDIRECT

    原因为: response.sendRedirect(url) url地址写错了

  2. 【YashanDB知识库】ycm托管数据库时报错OM host ip:127.0.0.1 is not support join to YCM

    问题现象 托管数据库时检查报错OM的IP是127.0.0.1,不支持托管到YCM OM 问题的风险及影响 导致数据库无法托管监控 问题影响的版本 问题发生原因 安装数据库时修改了OM的监听ip为127 ...

  3. 6.13API接口服务类漏洞探针

    ip地址解析:www.x.x.x.com, 对应网站目录为d:/wwwroot/xiaodi/ 而127.x.x.x,对应网站目录为d:/wwwroot/,可能存在网站备份文件zip,所以ip网址端口 ...

  4. 通过 maven 命令来查看 jar 包的引用关系

    通过 maven 命令来查看 jar 包的引用关系 1.可以通过maven命令来查看jar包的引用关系 mvn dependency:tree -Dverbose -Dincludes=org.cod ...

  5. Eclipse中Java项目的导入和导出

    eclipse中项目的导出 当我们完成自己的java项目之后,我们可以将其打包发给别人,eclipse为我们提供了自动打包的功能. 之后单击finish即可.在你选择的导出位置便可以看到导出的压缩包: ...

  6. Java!!冲

    开始学习Java!!!

  7. 阿里云Centos7修改MariaDB数据库连接时间,解决连接mysql报Too many connection的问题

    在测项目的时候突然发现数据库连接不上了,提示Too many connection. 产生问题的原因是MySQL的Sleep进程占用了大量的连接,当时是重启mysql解决的这个问题!后来又配置了连接池 ...

  8. Ai大模型推理-未完善

    环境 安装Conda 最低要求 CUDA 版本为 11.3 #获取安装脚本 wget -c 'https://repo.anaconda.com/archive/Anaconda3-2024.06-1 ...

  9. foobar2000 v1.6.10 汉化版(2022.05.01)

    foobar2000 v1.6.10 汉化版 -----------------------[软件截图]---------------------- -----------------------[软 ...

  10. thinkphp在原字段上面进行加减操作

    经常有需要对某个数据表的计数字段进行加减操作,我们来看下在ThinkPHP中的具体使用办法. 最简单的,使用下面方法对score自加,第二个参数也可以不要,默认加1:   M('User')-> ...