自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 P8712 [蓝桥杯 2020 省 B1] 整数拼接

你可以从中选出两个数 Ai​ 和 Aj​(i=j),然后将 Ai​ 和 Aj​ 一前一后拼成一个新的整数。找个数为1的数 也就是让1*pow(10,1) 也就是10,样例中k是2,10%2=0,那么我们只要找到位数为1且余数为0有多少个不就可以了嘛。a%k==n,b%k==m,若n+m==k(或者n和m都为0),则(a+b)%k==0,这个不用多说了吧。对于所有评测用例,1≤n≤105,1≤k≤105,1≤Ai​≤109。枚举每一个数,例如当前是1,我们首先找个数为1的数一直到个数为10的数。

2025-04-10 23:11:31 241

原创 P9243 [蓝桥杯 2023 省 B] 岛屿个数 BFS解法

(xk−1​,yk−1​),其中 (x(i+1)modk​,y(i+1)modk​) 是由 (xi​,yi​) 通过上/下/左/右移动一次得来的(0≤i≤k−1),此时这 k 个格子就构成了一个「环」。第一次bfs从数组再外面一层开始填充海水,往八个方向填充,用一个新数组存储填充情况,填充的位置设置为1,海水到不了的位置就为0,也就是一个0块为一个岛,且不需要考虑子岛情况 可以这么想如果存在环的话,这个环内部海水都进不去,直接就是将环包裹的所有格子都变成一个岛的。在进行统计时不需要统计子岛屿的数目。

2025-04-08 20:58:00 1041

原创 B4310 [蓝桥杯青少年组国赛 2024] 第五题

问题就变成了求一个非负整数数组中两个相等的数之间间隔最大,每次找到的时候顺便记录下两个数的下标,方便后续输出最长的子序列 对于求解后面这个问题怎么做呢?然后遍历一遍数组,判断当前数出现的位置与当前数最后一次出现的位置之差 如果变大了就存储下来并且更新左右下标 题目要求输出位置靠后的最长子序列 我们只需要在相等的时候也更新就可以保证了。同余定理,若a%k==m,b%k==m,(b-a)%k==0 算出前i项和对k取模的值然后存在一个新数组里。我比较笨,但这是我自己想出来的,望大家支持!

2025-04-07 21:28:14 259

原创 B4297 [蓝桥杯青少年组国赛 2022] 翻卡片 BFS

现给定 N 的值,及 N×N 矩阵中每张卡片的状态,请你帮助小蓝挑选一张。第一行输入一个正整数 N(2≤N≤50),表示矩阵的行数和列数。首先将卡片排成一个 N×N 的矩阵。面,使得翻转后的上、下、左、右四个方向相连的。),表示矩阵中卡片状态,字符之间以一个空格隔开。小蓝在玩翻卡片游戏,每张卡片一面写着大写字母。面卡片最多,并将相连最多的卡片数量输出。面,可以使翻转后四个方向相连的。也就是求连通块,一道bfs的练习题。输出一个整数,表示翻转后相连的。ac代码(创作不易,求赞!面卡片最多,为 5 张。

2025-04-07 13:39:31 203

原创 P10907 [蓝桥杯 2024 国 B] 蚂蚁开会

二维平面上有 n 只蚂蚁,每只蚂蚁有一条线段作为活动范围,第 i 只蚂蚁的活动范围的两个端点为 (uix​,uiy​),(vix​,viy​)。对于 100% 的评测用例,保证 n≤500,0≤uix​,uiy​,vix​,viy​≤10000,保证任意蚂蚁的活动范围不会退化成一个点,所有线段之间共有 3 个不同的交点:(0,4),(34​,34​),(2,2), 其中整点有 2 个:(0,4),(2,2)。后面 n 行,每行 4 个由空格分开的整数表示 uix​,uiy​,vix​,viy​。

2025-04-06 11:51:37 825

原创 P10417 [蓝桥杯 2023 国 A] 第 K 小的和

设另有一个序列 C 中包含了 A,B 中的数两两相加的结果 (C 中共有 n×m 个数)。例如 1,1,2,3 中,最小和次小都是 1,而 3 是第 4 小。当我们枚举到(1,6)的时候,就得到了6的下标为4,那么前面一定都满足,故直接计算前面有。暴力做法就是枚举出所有c序列中的元素找到第k小的数,很显然O(n*m),超时警告!枚举a数组中每一个数,从b数组中再找一个数,使两个数加起来小于等于t,统计个数。输入的第一行包含三个整数 n,m,K,相邻两个整数之间使用一个空格分隔。注意是位置或者说下标!

2025-04-04 18:13:54 385

原创 P9244 [蓝桥杯 2023 省 B] 子串简写 二分解法

我们可以用两个数组分别记录c1和c2在字符串s中出现的位置,枚举c1出现的位置,在所有c2出现的所有位置中寻找满足条件的位置,记录即可,不难看出c2出现的位置是递增的,所以我们可以用二分去枚举,找到第一个满足条件c2的位置,则后面所有的位置一定满足条件。程序猿圈子里正在流行一种很新的简写方法:对于一个字符串,只保留首尾字符,将首尾字符之间的所有字符用这部分的长度代替。问题可以抽象为寻找满足条件的数对(1,4)(1,6)(1,8)(3,6)(3,8)(5,8)∣S∣ 代表字符串 S 的长度。

2025-04-03 22:35:49 378

原创 P2759 奇怪的函数 二分+数学

如何判断一个十进制数的位数,log10(x)+1就是x的位数,题目中x的x次方很大,我们只需要变一下,xlog10(x)+1就变得很小啦!使得 xx 达到或超过 n 位数字的最小正整数 x 是多少?使得 x的x次方 达到 n 位数字的最小正整数 x。对于全部数据,1≤n≤2×109。随后我们只需要用二分枚举出x即可。

2025-03-30 13:52:02 210

原创 洛谷B3629 吃冰棍

所以,如果机器猫买了 5 根冰棍,他可以吃完之后得到 5 个木棒;吃完兑换来的冰棍之后,手上有 3 个木棒,又能兑换一个冰棍。当想吃到的冰棍刚好是3的倍数时,是不能由最初买的冰棍刚好吃到的,故只需要在最初买的冰棍加1即可保证能吃到n根冰棍,且一定是最少需要的,如果不是3的倍数则直接计算有多少根冰棍是换来的,然后用n减去即可。买一根冰棍,吃完了会剩一个木棒;兑换出来的冰棍,吃完之后也能剩下一个木棒。机器猫想要吃到 n 个冰棍,想问最开始至少需要去买多少根冰棍?仅一行,一个正整数,表示需要买的冰棍数量。

2025-03-30 13:05:03 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除