洛谷 P1272 重建道路

题目链接

题解

树形dp

\(f_{i, j}\)表示以\(i\)为根的子树切出联通块大小为\(j\)的最小答案
显然\(f[i][1]\)为与\(i\)连的边数

\(v\)\(u\)的儿子
那么有\(f[u][i]=f[u][i-j]+f[v][j]-2\),因为\(u->v\)这条边算了两次

  • 注意\(i\)要从大到小枚举

Code

#include<bits/stdc++.h>
#define LL long long
#define RG register
using namespace std;inline int gi() {int f = 1, s = 0;char c = getchar();while (c != '-' && (c < '0' || c > '9')) c = getchar();if (c == '-') f = -1, c = getchar();while (c >= '0' && c <= '9') s = s*10+c-'0', c = getchar();return f == 1 ? s : -s;
}
int n, p;
const int N = 200;
int f[N][N];
struct node {int to, next;
}g[N<<1];
int last[N], gl, siz[N];
inline void add(int x, int y) {g[++gl] = (node) {y, last[x]};last[x] = gl;return ;
}
#define Min(a, b) (a>b?b:a)
inline void dfs(int u, int fa) {siz[u] = 1;f[u][1] = 0;for (int i = last[u]; i; i = g[i].next) {int v = g[i].to;f[u][1]++;if (v == fa) continue;dfs(v, u);siz[u] += siz[v];}for (int i = last[u]; i; i = g[i].next) {int v = g[i].to;if (v == fa) continue;for (register int j = siz[u]; j > 1; j--)for (register int k = 1; k < j; k++)f[u][j] = min(f[u][j], f[v][k]+f[u][j-k]-2);}return ;
}int main() {n = gi(), p = gi();for (int i = 1; i < n; i++) {int u = gi(), v = gi();add(u, v); add(v, u);}memset(f, 0x3f, sizeof(f));dfs(1, 0);int ans = f[1][p];for (int i = 2; i <= n; i++)ans = Min(ans, f[i][p]);printf("%d\n", ans);return 0;
}

转载于:https://www.cnblogs.com/zzy2005/p/10161211.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网盘是否能做一只安全的企业信息快递手

近期&#xff0c;某电商网站出现的用户账户被盗刷事件再次将信息安全问题推至风头浪尖之上。事实上&#xff0c;需要信息安全感的&#xff0c;不单单是个人&#xff0c;企业更甚。据悉&#xff0c;对安全规则和数据泄露的担忧成为了目前企业采纳云存储平台的重要障碍。 网盘&am…

图形处理单元(GPU)的演进

CPU 和 GPU好久没有更新了&#xff0c;最近在阅读 CUDA 相关的一些论文&#xff0c;因为都是碎片化阅读&#xff0c;容易导致读过后&#xff0c;可能过一段时间又忘记掉&#xff0c;所以决定抽时间翻译翻译阅读的论文&#xff0c;一方面增强自己记忆&#xff0c;一方面与大家共…

TCP通信过程大讨论

转载地址&#xff1a;http://www.cricode.com/3568.html 本文通过两个图来梳理TCP-IP协议相关知识。TCP通信过程包括三个步骤&#xff1a;建立TCP连接通道&#xff0c;传输数据&#xff0c;断开TCP连接通道。如图1所示&#xff0c;给出了TCP通信过程的示意图。 图1 TCP 三次握手…

Stream、FileStream、MemoryStream的区别

1.Stream&#xff1a;流&#xff0c;在msdn的定义&#xff1a;提供字节序列的一般性视图&#xff0c;Stream提供了读写流的方法是以字节的形式从流中读取内容。而我们经常会用到从字节流中读取文本或者写入文本&#xff0c;微软提供了StreamReader和StreamWriter类帮我们实现在…

Android 自定义View以及ValueAnimator学习

2019独角兽企业重金招聘Python工程师标准>>> 看了ApiDemo里面的BoucingBall&#xff0c;觉得挺好的&#xff0c;所以特地学习了一下&#xff0c;将代码注释后贴到这里&#xff0c;以便以后学习。 class BallView extends View implements ValueAnimator.AnimatorUpd…

百万记录级MySQL数据库及Discuz!论坛优化

最近&#xff0c;帮一个朋友优化一个拥有20万主题&#xff0c;100万帖子&#xff0c;3万多会员&#xff0c;平均在线人数2000人的Discuz!论坛&#xff0c;采用Linux2.6Apache2mod_php5MySQL5&#xff0c;服务器配置为双至强4G内存&#xff0c;优化前&#xff0c;系统平均负载&a…

固件工程师到底是干什么?

大家好&#xff0c;我是写代码的篮球球痴可能大家还不知道&#xff0c;我是一个写固件的工程师&#xff0c;今天和一个微信朋友聊天&#xff0c;他问我工作几年了&#xff0c;我说我工作10年了&#xff0c;而且这10年我都一直在从事嵌入式固件相关的工作。他猛的觉得很不可思议…

c++ STL 工程实践的15条建议

STL是c非常重要的一部分&#xff0c;它是很多大神的杰作&#xff0c;高效&#xff0c;稳定&#xff0c;可扩展性好&#xff0c;虽然STL确实存在难以调试&#xff0c;内存碎片的问题&#xff08;现在机器的内存越来越大&#xff0c;内存碎片的问题基本不太可能成为系统瓶颈&…

JS中关于构造函数、原型链、prototype、constructor、instanceof、__proto__属性

在Javascript不存在类&#xff08;Class&#xff09;的概念&#xff0c;javascript中不是基于类的&#xff0c;而是通过构造函数&#xff08;constructor&#xff09;和原型链&#xff08;prototype chains&#xff09;实现的。但是在ES6中引入了Class&#xff08;类&#xff0…

asp 下载函数

N久没搞ASP啦,今天一个网友问到这个问题.就在网上找了下. 也不知道这个有没有错误. 下载的基本思路是这个样子的. 代码如下: <%Const USE_STREAM 0 0.不用流(Adodb.Stream)下载 1.用流下载Const ALLOW_FILE_EXT "rar,zip,chm,doc,xls,swf,mp3,gif,jpg,jpeg,png,bmp&q…

如何实现按键的短按、长按检测?

在电子产品中经常用到按键&#xff0c;尤其是经常需要MCU判断短按和长按这两种动作&#xff0c;本篇我们来专门聊下这个话题。只谈理论太无聊&#xff0c;我们还是结合着实际应用来说明。之前写过一篇关于《CH573第一篇&#xff1a;实现自拍杆蓝牙遥控器1》的文章&#xff0c;例…

ECC内存简介

ECC内存&#xff0c;即应用了能够实现错误检查和纠正技术&#xff08;ECC&#xff09;的内存条。一般多应用在服务器及图形工作站上&#xff0c;这将使整个电脑系统在工作时更趋于安全稳定。ECC是“Error Checking and Correcting”的简写&#xff0c;中文名称是“错误检查和纠…

HTTP与HTTPS的安全性讨论

转载文章&#xff1a;http://blog.csdn.net/xifeijian/article/details/54667989 1、http为什么不安全&#xff1f; http协议属于明文传输协议&#xff0c;交互过程以及数据传输都没有进行加密&#xff0c;通信双方也没有进行任何认证&#xff0c;通信过程非常容易遭遇劫持、…

使用NVM管理Node - Windows

安装 NVM NVM 下载&#xff1a;https://github.com/coreybutler/nvm-windows 安装 Node 注意&#xff1a;如果没有FQ默认源可能安装npm失败&#xff0c;请参考下一节“安装 NPM”修改镜像源地址。 查看可用版本&#xff1a; nvm ls available 安装Node&#xff1a; nvm install…

博士也会毕业吗?

怪我读书少&#xff0c;一直以来我都认为博士是一种很神奇的物种&#xff0c;他们能学会很多我们学不会的东西&#xff0c;那些奇奇怪怪的数学题&#xff0c;还有那种要背上几天的思想政治课文&#xff0c;以及要听懂那种像鸟儿一样呼唤的讲课&#xff0c;所以&#xff0c;我一…

3C趋势价值对云计算发展的驱动作用

日前&#xff0c;AMD总裁邓元鋆在参加云博会时&#xff0c;向来访的媒体透露了AMD在云计算方面的相关策略及计划&#xff1b;邓元鋆表示&#xff0c;未来AMD将以用户最为关心的Consumerization&#xff08;消费导向&#xff09;、Cloud&#xff08;云计算&#xff09;、Converg…

工作笔记

数据类型向下转换&#xff0c;精度丢失&#xff0c;可能会出现错误结果&#xff1a; public class SimpleFormat {public static void main(String[] args) {int a1111111;short b(short)a;System.out.println(b);//输出&#xff1a;-3001 } } 工具类DateFormatUitls转载于:htt…

国外出差见闻之印度

前段时间到印度的马德拉斯市出差了3个月(4月到6月)&#xff0c;今天终于有时间将自己的出差心得和见闻记录下来&#xff0c;可能以后就会忘记。下午16:00时在深圳坐车到香港机场&#xff0c;上车没多久会让填一个入境香港的单子&#xff0c;然后是过海关&#xff0c;过海关时会…

雷军的演讲以及产品发布

8月11号是小米的发布会&#xff0c;还有雷军的年度演讲。因为工作冲突我没看直播&#xff0c;晚上回来看了公众号文章和知乎上的内容讨论&#xff0c;也看了发布的新产品。雷军那个年代能够做上程序员一定是非常牛逼的人&#xff0c;而雷军是这些牛逼人的公司总经理&#xff0c…

候,一片天空

考完试了,也放假了.想知道自己能做什么更想知道自己要做什么曾经多么想好好努力好好看书现在才发现是该好好努力好好看书时间过得太快了,快得让人害怕只是睡觉,只是跑来跑去只是不明白什么时候才能真正自己靠自己只是不知道怎么样才能过得充实而有意义只是不晓得如何才能守住现…