右端点对齐|镜像复用

lc1648

lc2271

排序瓷砖区间后用滑动窗口,以每个区间右端点为地毯右端,计算窗口内覆盖的最大长度

class Solution {

typedef long long ll;

public:

int maximumWhiteTiles(vector<vector<int>>& tiles, int carpetLen)

{

ll a = 0, s = 0;

int i = 0, l = carpetLen;

sort(tiles.begin(), tiles.end());

for (auto& v : tiles)

{

int L = v[0], R = v[1];

s += (ll)(R - L + 1);

++int cl = R - l + 1;++

while (i < tiles.size() && tiles[i][1] < cl)

{

s -= (ll)(tiles[i][1] - tiles[i][0] + 1);

i++;

}

ll u = 0;

if (i < tiles.size() && tiles[i][0] < cl)

++u = (ll)(cl - tiles[i][0]);++

a = max(a, s - u);

}

return a;

}

};

本质上是窗口内一块一块加毯子,什么情况下缩短窗口呢,毯子盖不到左边毯子的右侧就缩短,开始扯毯子,窗口的大小是多少呢

(我现在已经把整块左侧项的长度都算进来了,而毯子可能只盖到了左侧项的一部分 那么就要减去之前多加进来的长度)

lc3413

镜像翻转 复用代码

先排序硬币区间,用++滑动窗口算正向最大硬币数++

再反转并转换区间方向二次计算,最终取两次结果的最大值。

#include <vector>

#include <algorithm>

using namespace std;

class Solution {

using ll = long long;

ll f(vector<vector<int>>& t, int l) {

ll a = 0, s = 0;

int i = 0;

for (auto& v : t) {

int L = v[0], R = v[1], c = v[2];

s += (ll)(R - L + 1) * c;

int cl = R - l + 1;

while (t[i][1] < cl) {//find ok_l

s -= (ll)(t[i][1] - t[i][0] + 1) * t[i][2];

i++;

}

ll u = max((ll)(cl - t[i][0]) * t[i][2], 0LL);

a = max(a, s - u);

}

return a;

}

public:

ll maximumCoins(vector<vector<int>>& c, int k) {

sort(c.begin(), c.end());

ll a = f(c, k);

reverse(c.begin(), c.end());

for (auto& v : c) {

int tmp = v[0];

v[0] = -v[1];

v[1] = -tmp;

}

return ++max(a, f(c, k));++

}

};

相关推荐
Jay Kay40 分钟前
GVPO:Group Variance Policy Optimization
人工智能·算法·机器学习
Epiphany.5561 小时前
蓝桥杯备赛题目-----爆破
算法·职场和发展·蓝桥杯
YuTaoShao1 小时前
【LeetCode 每日一题】1653. 使字符串平衡的最少删除次数——(解法三)DP 空间优化
算法·leetcode·职场和发展
茉莉玫瑰花茶1 小时前
C++ 17 详细特性解析(5)
开发语言·c++·算法
cpp_25012 小时前
P10570 [JRKSJ R8] 网球
数据结构·c++·算法·题解
cpp_25012 小时前
P8377 [PFOI Round1] 暴龙的火锅
数据结构·c++·算法·题解·洛谷
uesowys2 小时前
Apache Spark算法开发指导-Factorization machines classifier
人工智能·算法
季明洵2 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
shandianchengzi2 小时前
【小白向】错位排列|图文解释公考常见题目错位排列的递推式Dn=(n-1)(Dn-2+Dn-1)推导方式
笔记·算法·公考·递推·排列·考公
I_LPL2 小时前
day26 代码随想录算法训练营 回溯专题5
算法·回溯·hot100·求职面试·n皇后·解数独