2026/4/6 13:03:57
网站建设
项目流程
如何建设网站脱颖而出,网络服务许可证,下载网站程序,湖南营销类网站设计lc3218“高费用的线段越早切越好”如果切晚了会有增加segment的风险#xff0c;而cost最大线段增加的总cost也最多class Solution {
public:int minimumCost(int m, int n, vectorint horizontalCut, vectorint verticalCut){// 存储切割成本和类型…lc3218“高费用的线段越早切越好”如果切晚了会有增加segment的风险而cost最大线段增加的总cost也最多class Solution {public:int minimumCost(int m, int n, vectorint horizontalCut, vectorint verticalCut){// 存储切割成本和类型pair第一个值为成本第二个值0代表水平(H)、1代表垂直(V)vectorpairint, int cuts;for (int cost : horizontalCut) {cuts.emplace_back(cost, 0);}for (int cost : verticalCut) {cuts.emplace_back(cost, 1);}// 按成本从大到小排序sort(cuts.begin(), cuts.end(), [](const pairint, int a, const pairint, int b) {return a.first b.first;});int horizontalSegments 1, verticalSegments 1;int ret 0;for (auto cut : cuts) {int cost cut.first;int type cut.second;if (type 0) { // 水平切割ret cost * horizontalSegments;verticalSegments;} else { // 垂直切割ret cost * verticalSegments;horizontalSegments;}}return ret;}};最小生成树法不是真的要写最小生成树是为了证明采用这种贪心策略是“正确的”写出来的代码是等价的....把这个题目转成最小生成树模型那么正确性就证明完毕了