drawer
drawer
全部文章
分类
归档
标签
去牛客网
登录
/
注册
drawer的博客
全部文章
(共13篇)
题解 | #【模板】多重背包#
很坑,标记处的内个j非得从0开始,从一开始就过不去; void solve() { ll n, m; cin >> n >> m; vector<ll> dp(m + 1); for (ll i = 1; i <= n; i++) {...
2025-12-04
1
14
题解 | #走一个大整数迷宫#
将set换成unordered_set就过了; 红黑树并没那么高效; 解题过程 还是传统的bfs,只不过每一步多存了个value;然后将visited换为比较value; void solve() { int n, m, p; cin >> n >> m >&g...
2025-11-29
0
18
题解 | #火车进站#
非常强; void dfs(int index) { if (index == n) { vector<int> vec; for (int i : dend) { vec.push_back(i); } ...
2025-11-27
1
14
题解 | #kotori和素因子#
遍历一遍所有非重复的质因子即可; prime[i] == 0 && nn % i == 0&&find(de.begin(),de.end(),i)==de.end() void dfs(int index) { if (index == n) { ...
2025-11-27
1
11
题解 | #实现字通配符*#
经测试字符串s的长度在1000以内; 遇到*时分两步, 第一步直接迭代到末尾; 第二步依次返回;即为*分别取 最大~0 时的情况 string p, s; set<int> se; void dfs(int a, int b) { if (a == p.size()) { ...
2025-11-27
1
20
题解 | #数组分组#
数据范围没那么大,可以直接二叉递归求和; void dfs(int l, vector<int> vec) { if (l == vec.size()) { if (sum == subtract)flag = 1; return; } ...
2025-11-27
1
19
题解 | #能量辐射#
考察单调递减栈 当tower.high小于等于栈顶元素时直接入栈; 当tower.high大于栈顶元素时出栈并更新左右value值; 特别的:当出栈元素等于栈内下一个元素时,将出栈元素value传递给这个等高元素,以便同时传给栈内更高的元素; 结束时:加一个至高元素来更新栈内元素; struct t...
2025-11-24
1
18
题解 | #墙壁划线#
mathematics 在构建ab*ab二维向量 将原始图形放缩至长宽相等 列重合点横坐标为(0*b,1*b,2*b,...,ab) 横重合点纵坐标为(0*a,1*a,2*a,...,ba) 由于斜线正直,轴线上的点到斜线上的射影即为所求 1:(一条斜线)取列数; 2:(一条斜线)取行数空过重合点;...
2025-11-23
1
23
题解 | #最小连通代价#
最外层分四种情况,内层再加一种全奇全偶的情况; 当a,b都大于零时再分为a大和b大两种; 一共十种情况 void solve() { ll n, a, b; cin >> n >> a >> b; ll even=0,odd=0; for ...
2025-11-23
4
12
题解 | #放苹果#
以(5,6)为例: 第一个place有5,4,3,2,1,五种情况; i=5:执行(5,0,5)返回1; i=4:执行(4,1,5)返回1; i=3:执行(3,2,5)继续执行 i=2:(2,0,4)返回1; i=1:(1,1,4)返回1; 返回2; i=2:执行(2,3,5)继续执行 i=2:(2...
2025-11-23
1
17
首页
上一页
1
2
下一页
末页