GrassGrassGrass PlantingPlantingPlanting 题解

题目


解题方法

方法111:树形dpdpdp

设dpidp_idpi​表示以iii为根的子树需要使用的最少的草的种类数,fif_ifi​表示iii节点的儿子个数,bib_ibi​表示与iii结点相连的结点数量。
除了根节点以外的其他结点都与bib_ibi​个结点相连,而有一个结点恰好是它的父亲结点。但是由于根结点没有父亲结点,因此
fi={bi−1i>1bii=1f_i=\begin{cases} b_i-1&i>1\\ b_i&i=1 \end{cases}fi​={bi​−1bi​​i>1i=1​
注:这里我们假定111是整棵树的根。
那么可以得到
dpi=max⁡j∈soni(dpj,fi+1,fj+2)dp_i=\max_{j\in son_i}{(dp_j,f_i+1,f_j+2)}dpi​=maxj∈soni​​(dpj​,fi​+1,fj​+2)
注:sonison_isoni​表示iii的儿子。
上面式子的dpjdp_jdpj​表示以jjj为根的子树需要使用的最少的草的种类数,fi+1f_i+1fi​+1表示iii的儿子的数量再加上iii这个结点,fj+2f_j+2fj​+2表示jjj的儿子的数量再加上iii和jjj两个结点。
那么答案就是dp1dp_1dp1​。
时间复杂度为O(n)O(n)O(n)。

方法222:图论

设bib_ibi​表示与iii结点相连的结点数量。
我们可以发现,答案就是max⁡i=1nbi+1\max_{i=1}^{n}{b_i}+1maxi=1n​bi​+1。
时间复杂度为O(n)O(n)O(n)。

Grass Planting 题解相关推荐

  1. 洛谷 P5197 [USACO19JAN]Grass Planting 题解

    题目:P5197 [USACO19JAN]Grass Planting 图论 - 树 题目大意 给出一棵无根树,要给每个节点染上颜色,要求对于每两个最短距离小于等于222的点,不能染上相同的颜色,求最 ...

  2. 2419. Grass Planting

    2419. Grass Planting 题目描述 到了一年中Farmer John在他的草地里种草的时间了.整个农场由N块草地组成(1≤N≤10^5),方便起见编号为1-N,由N−1条双向的小路连接 ...

  3. (纪中)2419. Grass Planting

    (File IO): input:planting.in output:planting.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto ProblemSet ...

  4. 【LuoguP3038/[USACO11DEC]牧草种植Grass Planting】树链剖分+树状数组【树状数组的区间修改与区间查询】...

    模拟题,可以用树链剖分+线段树维护. 但是学了一个厉害的..树状数组的区间修改与区间查询.. 分割线里面的是转载的: ----------------------------------------- ...

  5. 洛谷5197 USACO Grass Planting

    思维题-其实可以很容易想到要覆盖,类似于大星星覆盖小的,所以入度最多的点的入度+1就是答案 #include <iostream> #define MAXN 500005 using na ...

  6. Educational Codeforces Round 131 (Rated for Div. 2) A-D题解

    题目 A. Grass Field B. Permutation C. Schedule Management D. Permutation Restoration A. Grass Field 题解 ...

  7. ZJNU 2021-07-14 个人排位赛3 部分题解

    完全不会数据结构就比较离谱 Another One A - Roadblock Problem Link 题意 FJ的农场由 N N N个点 M M M条边组成,边存在边权 它每次都会沿着最短路径从点 ...

  8. USACO比赛题泛刷

    随时可能弃坑. 因为不知道最近要刷啥所以就决定刷下usaco. 优先级排在学习新算法和打比赛之后. 仅有一句话题解.难一点的可能有代码. 优先级是Gold>Silver.Platinum刷不动. ...

  9. 2018年12月3031日

    小结:昨天由于做的题目比较少,所以就和今天写在一块了,昨天学习了差分约束和树上差分,当然树上差分是用线段树来维护的,今天重点整理了博客\(233\),然后做了几个题. 一. 完成的题目: 洛谷P327 ...

最新文章

  1. javascript:document对象的常用属性和方法
  2. 解决AJAX CalendarExtender控件不显示中文的情况(转帖博客园某人(不好意思,实在是没有找到您的尊姓大名,感谢一下!))...
  3. 取MySQL最后几行数据
  4. Springboot .properties或.yml配置文件读取pom.xml文件值
  5. Intent对象详解(一)
  6. 实时视频传输中的BBR拥塞控制
  7. Java小知识-----Map 按Key排序和按Value排序
  8. 【HDU - 1867 】A + B for you again(KMP,next数组应用)
  9. java中wait的场景,wait——webdriver实用指南java版
  10. 潍坊经贸每年单招计算机的成绩,2018潍坊职业学院单招成绩查询时间
  11. 关于protege的dot error的问题
  12. 静态代码块和单例混合
  13. java中fackeditor_ckeditor高级定制之发文模板
  14. String类12个常用的方法
  15. java 播放h264_一个可以解码并实时播放H264的播放器
  16. python 拼接 遥感影像_如何用Python| 制作遥感影像拼接
  17. vdat文件怎么转成mp4文件
  18. 首款国产全画幅8K50P广播级摄像机
  19. 数学之美--数学大师与漂亮的分形几何学
  20. Python nose测试大法

热门文章

  1. 我的暗影精灵BIOS做过的更改
  2. 求0到整数N中,每个“整数对应的二进制数是回文“的个数,优化解法
  3. Windows独享主机网站访问缓慢的原因和解决方法
  4. 共享虚拟主机和服务器,独享和共享虚拟主机区别
  5. enter password mysql_打开进入dos,出现的就是enter password,输入密码后,进入的是mysql...
  6. 在matlab中怎么限定值域,matlab中如何限定wgn函数的值域
  7. [激光器原理与应用-4]:激光器的内部结构与工作原理
  8. 山西计算机大赛崔奕,2021年中国大学生计算机设计大赛山西省赛评审结果名单公示通知...
  9. N-puzzle-Problem
  10. “1024”讲话两个月后,深交所正式发布区块链50指数,板块再迎利好