Martian148's blog Martian148's blog
首页
  • ICPC 算法笔记
  • ICPC 算法题解
  • 体系结构
  • 高等数学
  • 线性代数
  • 概率论与数理统计
  • 具体数学
  • Martian148的奇思妙想
  • 游记
  • 通识课笔记
关于
  • useful 网站
  • 友情链接
  • 分类
  • 归档

Martian148

一只热爱文科的理科生
首页
  • ICPC 算法笔记
  • ICPC 算法题解
  • 体系结构
  • 高等数学
  • 线性代数
  • 概率论与数理统计
  • 具体数学
  • Martian148的奇思妙想
  • 游记
  • 通识课笔记
关于
  • useful 网站
  • 友情链接
  • 分类
  • 归档
  • codeforses 题解

  • atcoder 题解

  • XCPC 题解

  • 校训练赛题解

  • 牛客题解

  • 蓝桥杯题解

    • 蓝桥杯2024年第十五届省赛 python B组 题解
    • 蓝桥杯2023年第十四届省赛 python B组 题解
      • C - 松散子序列
      • D - 管道
  • 典题选讲

  • 杂题

  • 算法题解
  • 蓝桥杯题解
martian148
2025-04-11
目录

蓝桥杯2023年第十四届省赛 python B组 题解

# C - 松散子序列

s = input()
n = len(s)
f = [[0, 0] for _ in range(n + 1)]
f[0][0] = 0
f[0][1] = ord(s[0]) - ord('a') + 1
for i in range(1, n):
    f[i][0] = max(f[i - 1][0], f[i - 1][1])
    f[i][1] = f[i - 1][0] + ord(s[i]) - ord('a') + 1

print(max(f[n - 1][0], f[n - 1][1]))
1
2
3
4
5
6
7
8
9
10

# D - 管道

INF = 100000000000

n, m = map(int, input().split())

a = []

def check(T): # 询问在 T 时刻是否可以填满管道
    
    b = []
    for i in range(n):
        if a[i][1] <= T:
            b.append(a[i])

    if len(b) == 0:
        return 0

    now_n = len(b)
    pre = [0] * now_n
    lst = [0] * now_n

    for i in range(now_n):
        L, S = b[i]
        if i == 0:
            pre[i] = L + (T - S)
        else:
            pre[i] = max(pre[i - 1], L + (T - S))
    
    for i in range(now_n - 1, -1, -1):
        L, S = b[i]
        if i == now_n - 1:
            lst[i] = L - (T - S)
        else:
            lst[i] = min(lst[i + 1], L - (T - S))
    
    for i in range(1, now_n):
        if lst[i] - pre[i - 1] > 1:
            return 0
    if lst[0] > 1 or pre[now_n - 1] < m:
        return 0
    return 1

for i in range(n):
    L, S = map(int, input().split())
    a.append((L, S))

a.sort(key=lambda x : (x[0]))

L_, R_ = 0, INF

while L_ + 1 < R_:
    mid = (L_ + R_) // 2
    if check(mid):
        R_ = mid
    else:
        L_ = mid

print(R_)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
蓝桥杯2024年第十五届省赛 python B组 题解
CF2025E Card Game (动态规划、多项式快速幂、银牌题)

← 蓝桥杯2024年第十五届省赛 python B组 题解 CF2025E Card Game (动态规划、多项式快速幂、银牌题)→

最近更新
01
Java基础语法
05-26
02
开发环境配置
05-26
03
pink 老师 JavaScript 学习笔记
05-26
更多文章>
Theme by Vdoing | Copyright © 2024-2025 Martian148 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式