AliLexiWalker
AliLexiWalker
全部文章
分类
题解(4)
归档
标签
去牛客网
登录
/
注册
AliLexiWalker
Eason
全部文章
(共13篇)
题解 | #小红的连续段#
组合计数(隔板法)+ 预处理阶乘逆元 固定连续段数 i 后,字符串只可能是 a 开头或 b 开头两种;每种情况下,把 x 个 a、y 个 b 分成对应段数,方案数就是 这种形式相乘。 两种开头的结果相加,就是该 i 的答案,i 从 1 到 x+y 依次算完输出。 cpp py void...
2026-03-19
3
13
题解 | #空调遥控#
滑动窗口 先把诉求温度排好序。 再用双指针维护一段人:只要这段里最大值-最小值<=2p就合法,超了就右移左指针。 一路扫过去,记录合法段的最大长度,也就是ans。 cpp py void solve(){ int n,p;cin>>n>>p; ...
2026-03-18
2
13
题解 | #三视图#
把每个小方块“照相”三次就行:正面看一次、左边看一次、上面看一次;某个位置只要被任何方块挡到,就记成 x。 最后按题目给的方向把三张“照片”打印出来(前两张并排,中间空一行,再打俯视图)就过了。 void solve(){ int X,Y,Z,N;cin>>X>>Y&...
2026-03-16
4
25
题解 | 牛客周赛 Round 135
A. Add Three 每次只能加 ,所以最后是不超过 的一个 的倍数。 void solve(){ int n;cin>>n; cout<<n/3*3<<endl; } B. Maximize The Count 条件 等价于选出来的位...
C++
2026-03-15
7
44
题解 | #显生之宙#
这题可以把操作理解成“拿一个数当扩音器,把它的值广播给别人然后自己消失”。 最优策略很直观:只要当前最小数是负的,就让它给所有剩余数都加一次(这样降得最快);一旦最小数已经不负了,继续操作只会让结果变大,所以直接把剩下的数一路合并,答案就是当前总和。 void solve(){ int n;...
2026-03-13
5
24
题解 | #Tokitsukaze and Colorful Chessboard#
每种颜色最多放 个,总数不能超过 个。 因此只要让 同时不小于 和 。 void solve(){ ll a,b;cin>>a>>b; ll need=max(a+b,2*max(a,b)-1); ll n=sqrt(need); if(n*...
2026-03-11
2
19
题解 | #小苯的蓄水池(hard)#
这题可以把“拿掉挡板”理解成:把两个相邻水池连起来。 连在一起的整段水池会混合成同一个水量,这个水量就是: 这段总水量 / 这段水池个数 所以我们要维护两个东西: 哪些水池已经连成一段(连通块) 每段的“总水量”和“长度” 这正好是并查集能做的: fa 维护连通块 sm 维护块内总水量 s...
C++
2026-03-09
2
24
题解 | 牛客周赛 Round 134
下午刚打一场校赛,写完题解就灰头土脸的来打周赛了。 依旧 A. Nowcoder Weekly Contest 饿昏了,开局就唐了 直接比较是否小于等于 ,是就 Rated,反之 Unrated。 B. ICPC Medal 设最终能额外合成的金牌数为 ,答案就是 。 要合成 个金牌,一共需要 ...
C++
2026-03-08
4
73
题解 | #连分数#
思考过程 这题看上去是“格式化输出”,但核心其实是数学: 有穷连分数的每一项,就是辗转相除法每一步的商。 所以第一反应不应该是去“硬拼式子”,而是先把分数拆成连分数系数序列。 以 P/Q 为例: 先取整 a0 = P / Q 余数 r = P % Q 如果 r = 0,break 出循环 否则令...
C++
2026-03-08
4
27
题解 | #Rinne Loves Edges#
这题看起来是一般图,实际上数据写死了 M=N-1,所以就是一棵树。 而我们的目标是:把 S 和“原图里所有度为 1 且不是 S 的点(叶子)”隔开,删边代价最小。 也就是说:在树上把 S 和这些叶子断开,最小割代价是多少。 把树以 S 为根做树形DP。 定义: has[u]:u 的子树里有没有“...
2026-03-07
4
28
首页
上一页
1
2
下一页
末页