- 博客(5)
- 收藏
- 关注
原创 2026怀化学院蓝桥杯院赛题解
设表示:从顶部走到第iii行第jjj列,且当前路径和模 100 等于sss的路径数量iii:行号(1 ≤ i ≤ n)jjj:列号(1 ≤ j ≤ i)sss:当前路径和对 100 取模的结果(0 ≤ s < 100)设dp[i][j]表示:由第i−ni-ni−n级台阶一下上了nnn级台阶到达了第iii级台阶的方案数jjj和iii两者之间的关系:当j0j=0j0时表示一下上111级台阶, 当j1j=1j1时表示一下上222。
2026-03-08 01:07:12
472
原创 2025年怀化学院ACM基地 第一次机试题解
具体做法是:设置左右指针 l 和 r,维护当前窗口内元素和 sum,右指针不断右移累加元素,当 sum ≥ S 时更新最小长度答案,并不断移动左指针缩小窗口直到 sum < S 才停止。定义dp[i]为前i+1块魔法石的最大魔力(下标从 0 开始),状态转移公式dp[i] = max(dp[i-1], dp[i-2] + a[i]),表示要么当前不选a[i], 则从dp[i - 1]转移,或者选a[i]则只能从dp[i -2]转移。选择越少,结果越大。:贪心算法,让取餐时间短的人先取餐,以减少总等待时间。
2025-11-10 19:15:04
1323
原创 I- Bingo 3
将k放在(1,1)的位置,然后从n*n开始斜着排序,放到对角线上,这样行和列的最大值就是对角线上的值。所以当k<n||k>n*(n-1)+1时最小中奖数不为k.
2025-07-15 08:40:51
211
原创 E - Checksum
因为k<=20,所以可以暴力一遍,‘1’的个数最小为a中‘1’的个数,最大为a中‘1’的个数加k,从s遍历计算t二进制时‘1’的个数,如果x=i就说明找到了最小的m,然后把m转成二进制,如果m二进制的长度超过k,就说明这个b不存在,如果长度小于k就在m的前面补零(可以有前导零,如果a中没有'1',那b转化为二进制就是长度为k的0)题意:给一个字符串a,计算a中间'1'的个数,推出一个二进制长度为k的数b,使b和a中'1'的个数相加等于b的十进制。
2025-07-12 08:57:07
209
原创 青蛙过河(二分)
最多通过青蛙的次数的就是每个长度为l的区间中石头的最小量,考虑一段长度为l的区间,因为青蛙最多跳l的距离,所以每只青蛙在这个区间至少会下落一次,所以青蛙的跳跃能力就是每个长度为l的区间中石头的最小值,使用二分求出每个区间的最小值即可。青蛙从左往右和从右往左本质上是一样的,往返x次就等于从左往右走2x次,最大等于河的宽度,也就是一步跳到对岸,当石头不足以让青蛙跳2x次时,青蛙的跳跃能力sum=n才能用这些石头上完 x 次课。
2025-04-10 15:14:15
364
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅