a='2023'
cnt,i,k=0,0,0for j inrange(12345678, 98765433):
while i<len(a):
while k < 8:
if a[i]==str(j)[k]:
cnt+=1
i+=1
k+=1
k+=1print(98765433-12345678-cnt)
s=input()
nums=[]
for i inrange(len(s)):
nums.append(ord(s[i]) - ord('a') + 1)
n = len(nums)
if n == 0:
ptint(0)
if n == 1:
print(nums[0])
# 初始化动态规划数组
dp = [0] * n
# base case
dp[0] = nums[0]#第1间
dp[1] = max(nums[0], nums[1])#第2间# 状态转移for i inrange(2, n):#从第三间开始
dp[i] = max(dp[i-1], dp[i-2] + nums[i])#当前这间抢不抢,取决于前一家和前前家哪家抢得到的钱多print(dp[n-1])#一直到最后一间
试题D:管道
题解:二分+区间合并
n, L = tuple(map(int, input().split())) # 会打开的阀门数 管道长度
tick = dict(tuple(map(int, input().split())) for _ inrange(n)) # 管道编号 到 打开时刻的映射defcheck(t: int) -> bool: # 判断t时刻是否能使得:管道中每一段中间的传感器都检测到有水流
intervals = sorted([[max(l - (t - s), 1), min(l + (t - s), L)] for l, s in tick.items() if t >= s]) # 每个阀门在t时刻能覆盖的区间集合
interval = intervals[0] # 阀门整体能覆盖的区间for s, e in intervals[1:]: # 区间合并if interval[1] < s - 1: # 没有覆盖完全returnFalse
interval[1] = max(interval[1], e) # 延伸右端点return interval == [1, L] # 判断是否能覆盖完整个管道
left, right = 1, 10 ** 10# 答案的取值范围[1, 10 ^ 10)while left <= right: # 二分答案
mid = (left + right) >> 1if check(mid): right = mid - 1else: left = mid + 1print(left)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)