博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 试题F:括号与字母 【问题描述】 给定一个仅包含小写字母和括号的字符串 S ,保证括号可以两两匹配。 给出 Q 组询问,每组询问给出一个小写字母 ci 和一个数 xi ,询问 S 中有 多少对匹配的括号之间有不
6月1日,今天参加了第十五届蓝桥杯国赛,本人打的是pb组,做完回来就把代码复盘了一下。但由于成绩未出,答案仅供参考。 第一题:31 第二题: 没写出来 第三题: dic={}n,m=map(int,input().split())ls=list(map(int,input().split()))for i in range(1,n+1):dic[i]=[]for j
题意分析 有一个 n n n 个点, n − 1 n-1 n−1 条边的无向图,边权均为 1 1 1。 每个点隶属于一个集合,同一个集合的点可以互相传送。 给定 m m m 个询问,求 x , y x, y x,y 的最短距离。 最短路解法 步骤: 建图。对于所有询问各跑一次最短路算法。 可选用的最短路算法: Spfa,单次时间复杂度 O ( n ) ∼ O
解题思路 首先,我们考虑一下整个数组都是由质数构成的情况。 当我们要将质数 x x x 向后移 k k k 个时,如果我们可以知道质数 x x x 在质数数组的下标 j j j,那么就可以通过 p r i m e s [ j + k ] primes[j + k] primes[j+k] 来获取向后移 k k k 个的质数。因此,我们需要在线性筛预处理时,记录下质数的