只会啊吧啊吧
只会啊吧啊吧
全部文章
分类
题解(6)
归档
标签
去牛客网
登录
/
注册
只会啊吧啊吧的博客
全部文章
(共6篇)
题解 | #又一最大子段和#
1->n,计算最大字段和maxa[i] = max{maxa[i-1]+a[i], a[i]},对于maxa[i] > x的情况,进行一次操作cnt++,令maxa[i] = -INF。 这种做法可以保证前面遍历过的最大字段和<=x,同时尽量让后面的最大字段和变小,使得操作次数...
2025-10-12
0
15
题解 | #计数#
题目主要是计算组合数。 当遇到0时,我们先统计一共有多少连续的0,cnt个。 然后用提前维护的前缀最小值(除0外),后缀最大值(除0外),我们可以得到这串0的取值范围[maxa_i, mina_i]。 根据组合数学,从 n 个元素中可重复选取 m 个元素的选法数量为组合数 C (n + m - ...
2025-10-12
0
15
题解 | #小红的漂亮串(二)#
漂亮串种类数 = 所有串的种类数-不含'red'串-只含1个'red'串。 所有串种类数 = 26^n。 长度为 i 的不含'red'串种类数f[i],和只含一个'red'串种类数g[i],可以通过递推得到。 f[i] = f[i-1]*26 - f[i-3],排除f[i-3]+r+e+d的情况。 ...
2025-10-12
1
13
题解 | #Beautiful Land#
这题是经典的启发式搜索,我们首先要将每棵树按单位价值降序排序。然后,dfs每棵树是否选取,通过计算在当前空间下剩余物品的可能的最大价值来进行剪枝,该最大价值不能使答案更大,就不进行跳过这颗树的dfs。 #include <iostream> using namespace std; co...
2025-09-01
0
19
题解 | #可做题2#
一叠 N 张扑克牌,对于一次洗牌,原来的第一张牌变成新的一叠的第二张,原来第 k 张牌变成新的一叠的第 2*k%(n+1) 张。所以经过 m 轮洗牌后的第 L 张扑克牌应该是原来的第 L * [1/(2^m)%(n+1)]%(n+1) 张牌。 我们用 exgcd 求出 2^m 在模为 n+1 时的逆...
2025-02-23
0
71
题解 | #牛牛与木棍#
思路:找最终的木棍长度 #include <bits/stdc++.h> using namespace std; int n,a[55]; int findans(int num, int a) { int cot=0,top=a,down=a; while (dow...
2024-03-23
1
147