蓝桥杯 算法提高 ADV-1162 阴谋 python AC

keyword:数组、排序

python 复制代码
n = int(input())
d = {}
for _ in range(n):
    a, b = map(int, input().split())
    if (a in d and d[a] < b) or a not in d:
        d[a] = b
d = sorted(d.items(), key=lambda x: x[0])
ans = 0
l, r = d[0][0], d[0][1]
for i, j in d[1:]:
    if i <= r:
        if j > r:
            r = j
    else:
        ans += r - l
        l, r = i, j
ans += r - l
print(ans)

先存起来排序

每种情况分别判断下一段区间:

--下一段左区间在当前区间内,合并两段区间,更新右区间为两段最大的右区间

--下一段左区间在当前区间外,把当前区间长度累加到变量中,更新左右区间为下一段左右区间

坑点是题目说左闭右闭,实际上是左闭右开

相关推荐
Pluchon1 分钟前
硅基计划4.0 算法 记忆化搜索
java·数据结构·算法·leetcode·决策树·深度优先
CoderYanger1 分钟前
动态规划算法-简单多状态dp问题:18.买卖股票的最佳时机Ⅳ
开发语言·算法·leetcode·动态规划·1024程序员节
Less is moree3 分钟前
2.C语言文件操作(一):fgetc(),fgets(),fread的区别
c语言·开发语言·算法
San304 分钟前
从 Mobile First 到 AI First:用 Python 和大模型让数据库“开口说话”
数据库·python·sqlite
CoderYanger4 分钟前
动态规划算法-简单多状态dp问题:13.删除并获得点数
java·开发语言·数据结构·算法·leetcode·动态规划·1024程序员节
浅川.256 分钟前
xtuoj Balls
数据结构·算法
分布式存储与RustFS6 分钟前
云原生基石:实战RustFS on Kubernetes,构建高可用存储架构
算法·云原生·kubernetes·对象存储·高可用·企业存储·rustfs
顾人间讥诘10 分钟前
卡特兰数及相关应用场景
算法
CoderYanger12 分钟前
A.每日一题——3625. 统计梯形的数目 II
java·算法·leetcode·职场和发展
AIsdhuang13 分钟前
2025 AI培训权威推荐榜:深度评测与趋势前瞻
大数据·人工智能·python