LC 6243 到达首都的最少油耗(贪心)

需要考虑每条边的贡献,下界是 ⌈ s z s e a t ⌉ \lceil\dfrac{sz}{seat}\rceil ⌈seatsz​⌉, s z sz sz是该子树大小。

上界其实等于下界,因为在其他人到达该子树根之后,可以只用这么多辆车就够了,其他车不需要了。

因此就是dfs一下即可。

时间复杂度: O ( n ) O(n) O(n)

class Solution {public:long long minimumFuelCost(vector<vector<int>>& roads, int seats) {int n = roads.size() + 1;// 建图vector<int> e[n];for (auto &road : roads) {e[road[0]].push_back(road[1]);e[road[1]].push_back(road[0]);}long long ans = 0;// DFS 统计子树大小,同时统计答案function<int(int, int)> dfs = [&](int sn, int fa) {int ret = 1;for (int fn : e[sn]) if (fn != fa) {// 计算 sn -> fn 这条边的贡献int t = dfs(fn, sn);ans += (t + seats - 1) / seats;// 更新子树大小ret += t;}return ret;};dfs(0, -1);return ans;}
};

LC 6243 到达首都的最少油耗(贪心)相关推荐

  1. 6243. 到达首都的最少油耗

    class Solution { public:int f[100005];//f[i]表示i节点有几个子节点int vis[100005];long long value[100005];void ...

  2. LeetCode 2477. 到达首都的最少油耗

    这道题看上去很复杂,其实只要读懂了题,明白了到底要干什么,这个题还是比较简单的 首先通过题目我们知道了给的是一棵 n 个节点的树(一个无向.连通.无环图),那也就说明两个结点之间的路径只有一条(因为无 ...

  3. java卡车过沙漠问题_汽车最少油耗穿越沙漠问题(Java源码)

    例题: 一辆吉普车穿越1000km的沙漠,吉普车的总装油量为500加仑,耗油率为1加仑/km.由于沙漠中没有油库,必须先使用这辆车在沙漠中建立临时的油库(起点处吉普车满油).若吉普车用最少的耗油量穿越 ...

  4. 汽车最少油耗穿越沙漠问题(Java源码)

    例题: 一辆吉普车穿越1000km的沙漠,吉普车的总装油量为500加仑,耗油率为1加仑/km.由于沙漠中没有油库,必须先使用这辆车在沙漠中建立临时的油库(起点处吉普车满油).若吉普车用最少的耗油量穿越 ...

  5. POJ2431贪心(最少加油次数)

    题意:        给一个终点,然后给你一个卡车距离终点的距离,还有其他个加油站距离终点的距离,然后每走一个单位距离要花费一个单位油,卡车的邮箱是无限大的,而每个加油站的油量是有限的,整个路径是一个 ...

  6. 马的遍历:有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步

    题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入 一行四个数据,棋盘的大小和马的坐标 输出 一个n*m的矩阵, ...

  7. 【JSOI2007】【BZOJ1029】【codevs2913】建筑抢修,贪心与堆

    1029: 建筑抢修 Time Limit: 4 Sec Memory Limit: 162 MB Submit: 3109 Solved: 1396 [Submit][Status][Discuss ...

  8. prim算法_贪心算法详解(附例题)

    贪心算法的特征规律 贪心算法,"贪心"二字顾名思义,因此其规律特征就是更加注重当前的状态,贪心法做出的选择是对于当前所处状态的最优选择,它的解决问题的视角是微观的"局部& ...

  9. 图着色问题贪心算法c语言,区间图着色问题(贪心算法)C++实现

    区间图着色问题 问题描述:假设要用很多个教室对一组活动进行调度.我们希望使用尽可能少的教室来调度所有活动.请给出一个算法,来确定哪一个活动使用哪一间教室. 这个问题也被称为区间图着色问题,即相容的活动 ...

最新文章

  1. R可视化绘制卡方分布图(Chi-Square Distribution)
  2. 初窥runtime的作用
  3. js_jQuery【下拉菜单联动dom操作】
  4. arm-linux-gcc 命令未找到问题
  5. 软件测试 -- 单元测试,集成测试,系统测试的侧重点
  6. java编写flash相册的制作软件,Flash电子相册制作工具(Amazing Flash Gallery Maker)
  7. C | 扫雷游戏完整版
  8. win10设置打开闪退怎么办 电脑windows10设置打开闪退解决方法
  9. mysql中删除列的语句_MySQL 语句大全--------添加列,修改列,删除列
  10. 如何用ps做计算机二级报名照片,等级考试照片PS教程
  11. 计算机会考题 荷花,小小量词我来填。一()车厢一()纠纷一()荷花一()谜语一()考试一()皮球...
  12. 已知基因名,如何在genbank中查询基因序列?
  13. python一次性导入依赖包_python如何导入依赖包
  14. Android opengl es 3.0 + ndk 绘画涂鸦项目
  15. 关于瞬时功率的无功功率和有功功率,在不同坐标系下的验证
  16. 面了三十个人,说说我的真实感受
  17. Locale 和 LanguageTag
  18. 引入 JPEGCodec;JPEGImageEncoder; 图片处理
  19. 三国志战略版:Daniel_S3三势阵容_吕太郭VS贾赵左
  20. gitlab 更新文件_烂泥:gitlab版本升级

热门文章

  1. linux内核中likely与unlikely
  2. iOS7—Day by day
  3. 计算机科学 ei收录吗,EI检索
  4. 春季出游季,名悦集团分享那些常见的高速公路危险驾驶
  5. RFID无线射频技术与数字ID技术术语表-鸿顺捷科普篇
  6. linux测试工具smartpower,linux下硬盘健康的检测smartmontools
  7. 网易易盾云图片(行为)验证码,网易验证码,前端vue后端python drf。前后分离
  8. IT笔记-虚拟机内存不足问题
  9. 英语练习137 If I were millionaire
  10. 如何将阿里云图标导入到微信小程序