当前位置: 首页 > news >正文

AtCoder Beginner Contest 433 (A~D)

2025.11.23 星期日 晴

工作之后感觉变成了一个fw了,生活重心逐步向工作靠近,有一种被体制化的感觉。我现在的工作对比大多数人来说算是非常好了,但我依然觉得 工作是一件束缚人自由的工作。什么时候我才可以自由地工作,随心所欲地生活呢?

ABC 433

A

# -*- coding: utf-8 -*-
# !/usr/bin/env python"""
@Author : Liang2003
@Time   : 2025/11/23 10:48https://atcoder.jp/contests/abc433/tasks/abc433_a题意: 是否存在一个W 使得 (X+W) = Z * (Y+W)X - Z*Y = (Z-1) * W"""def main():X,Y,Z = map(int,input().split())res1 = X - Z*Yres2 = Z - 1# print(res1)# print(res2)if X == Y*Z:print("Yes")returnif res1 < 0 :print("No")returnelse:if res1 % res2 == 0:print("Yes")else:print("No")if __name__ == "__main__":main()

B

# -*- coding: utf-8 -*-
# !/usr/bin/env python"""
@Author : Liang2003
@Time   : 2025/11/23 11:03https://atcoder.jp/contests/abc433/tasks/abc433_b题意:给出一个队列,对于位置i,找到左边 比位置i大的第一个数的位置思路:单调栈,对于位置i,如果栈顶元素 <= 该位置元素就pop,一直找到 大于该位置的元素"""def main():n = map(int,input())num_list = list(map(int,input().split()))stack = []top = 0for (idx,num) in enumerate(num_list):while top > 0 and num_list[stack[top-1]] <= num:stack.pop()top -= 1if top > 0 :print(stack[top-1]+1)else:print(-1)stack.append(idx)top += 1if __name__ == "__main__":main()

C

# -*- coding: utf-8 -*-
# !/usr/bin/env python3"""
@Author : Liang2003
@Time   : 2025/11/23 11:21题目:统计字符串中满足条件的子串数量
条件:子串长度为偶数,前一半字符相同,后一半字符相同,且后一半字符 = 前一半字符 + 1
"""def main():# 读取输入s = input().strip()if not s:  # 处理空字符串print(0)return# 在字符串末尾添加哨兵字符,便于处理边界s = s + " "# 将连续相同字符分组,存储为 (字符, 连续出现次数)char_groups = []current_char = s[0]current_count = 1# 从第二个字符开始遍历(跳过索引0)for char in s[1:]:if char == current_char:current_count += 1else:char_groups.append((int(current_char), current_count))current_char = charcurrent_count = 1# 统计满足条件的子串数量result = 0# 遍历相邻的字符组for i in range(len(char_groups) - 1):current_digit, current_count = char_groups[i]next_digit, next_count = char_groups[i + 1]# 检查是否满足条件:后一个字符 = 前一个字符 + 1if next_digit == current_digit + 1:# 取两个连续段的最小长度作为可形成的子串数量result += min(current_count, next_count)print(result)if __name__ == "__main__":main()

D

# -*- coding: utf-8 -*-
# !/usr/bin/env python"""
@Author : Liang2003
@Time   : 2025/11/23 11:40https://atcoder.jp/contests/abc433/tasks/abc433_d题意: 问一个数组中有多少对数(i,j),使得A[i]和A[j] 拼接起来是M的倍数思路:
A数组最大的数 是1e9,有十位,那么处理出每个数 A[i]乘上10的 0到10次方 模M的余数。
对于A[i],假设它的长度为d,模M后为X,那么该数的贡献为 数组中的数乘上 10的d次方 后模M 为(M-X) 的数量
"""
from typing import List, Dictdef handle_mod(num:int,M:int,B:List[Dict[int,int]]):"""处理每个数 乘从10的1次方到10次方 模M的余数 ,统计各个数位,各余数的值:param num::param M::param B::return:"""x = num % My = 10 % Mfor i in range(1, 11):z = x * y % MB[i][z] = B[i].get(z, 0) + 1# print("B[{}][{}]:{}".format(i,z,B[i][z]))y = y * 10 % Mdef main():n,M = map(int,input().split())nums = list(map(int,input().split()))B = []for i in range(0,11):B.append({})res = 0for num in nums:handle_mod(num,M,B)for num in nums:d = len(str(num))m = num % M# print(d,m, B[d].get((M - m)%M,0))res = res + B[d].get((M-m)%M, 0)print(res)if __name__ == "__main__":main()
http://www.jsqmd.com/news/48306/

相关文章:

  • 2025年11月留学生职业辅导机构选择:高性价比解决方案全解析
  • 2025年优秀的餐饮设计设计服务排行榜
  • 2025年推荐几家短视频拍摄顾客好评榜
  • 2025年11月留学生求职机构排行榜:五大知名机构深度评测报告
  • 2025年热门的麻辣烫食品添加剂厂家最新推荐榜
  • 2025年安全又好玩的云南旅行社顾客满意度榜
  • 2025年可靠的logo设计公司最新热门推荐榜推荐
  • STM32按键扫描
  • 2025年11月留学生回国求职机构避坑指南:五家主流机构横向对比
  • 2025年高价值专利申请专业团队推荐榜
  • 2025年11月留学生回国求职机构市场报告:高性价比解决方案深度剖析
  • informix数据库怎样优化存储
  • 2025年11月留学生回国求职机构排行榜:五家主流服务机构深度对比
  • 2025年本地装修最新TOP实力榜
  • 2025年可靠的装修半包综合实力评选排行榜
  • 2025年可靠的工厂环保咨询行业专家权威推荐榜
  • 2025年质量好的酒会活动策划专业技术口碑榜
  • 实用指南:JavaEE:知识总结(一)
  • 2025年靠谱的国际空运管理服务权威榜
  • 2025年知名的赣州装修公司原创设计施工
  • 2025年热门的高压控制盒高压直流接触器TOP品牌厂家排行榜
  • 2025年11月主流留学生求职专家对比排行榜
  • 2025年比较好的私有化视频会议优质服务榜
  • 2025年11月国内整合营销公司推荐榜单与选择指南
  • 2025年评价高的艺术IP授权机构综合实力排行榜
  • 2025年11月留学生国内求职专家推荐:榜单解析与权威选择指南
  • 2025年11月留学生求职服务机构推荐:多维度对比与实用选择建议
  • 2025年知名的中亚获客企业数字化获客解决方案
  • 2025年11月主流留学生海外找工作平台口碑排行榜解析
  • 2025年质量好的不锈钢二段力铰链TOP实力厂家推荐榜