sunny_forever
sunny_forever
全部文章
题解
归档
标签
去牛客网
登录
/
注册
梨小畅的空间
全部文章
/ 题解
(共57篇)
题解 | #吐泡泡#
思路 法1:手写栈 Code #include <bits/stdc++.h> using namespace std; const int N = 110; char stk[N]; string s; int hh; bool check(int h,int i){ ...
stack
模拟栈
2021-08-03
1
553
题解 | #栈和排序#
思路 Code #include <bits/stdc++.h> using namespace std; const int N = 1e7+10; int a[N],f[N]; int stk[N]; int hh; int n; int main(){ cin&g...
栈
2021-08-03
1
449
题解 | #B-经商#
思路 01 背包 + 并查集 Code #include <bits/stdc++.h> using namespace std; const int N = 10010; int p[N]; int fa[N]; int f[N],v[N],w[N]; int n,m,c; i...
并查集
01背包
2021-08-03
2
571
题解 | #LCS#
C 题题解 思路:构造 参考:https://blog.nowcoder.net/n/9efb42ac11a64a5ebcf0d604115df70d Code #include <bits/stdc++.h> using namespace std; string s1,s2,s3...
思维
构造
2021-07-28
3
413
题解 | #Inverse Pair#
I 题题解 思路 题意:通过对 a 中若干个元素 加1(每个元素只能加1次),使得逆序对的数目变少,问逆序对数目 最少可变为几因为 a 是 1 到 n 的全排列,即 [1,n] 中每个元素均出现且只出现一次所以 我们每次 加1操作 最多消掉一个逆序对 ,该逆序对 满足 i < j &&...
树状数组
思维
2021-07-28
1
694
题解 | #Average#
J 题题解 浮点二分 + 前缀和 思路 结论:对序列 a 求得最大的 平均值 res_a,再对序列 b 求得最大的 平均值 res_b,res_a + res_b 就是答案res_a 的解释 及 求法 解释: 对于 序列 a 中 所有满足区间长度 大于或者等于 x 的 的区间 每个满足条件的区间 都...
浮点二分
前缀和
2021-07-28
2
569
题解 | #Black and white#
B题题解 队友别骂了,别骂了,我不该以为这题是最短路 思路 为了实现最少花费,需满足:在我们涂完若干个点后,其他的点对总花费不再有贡献(涂黑这些点时不花钱了)我们会发现 :最少,我们需要涂黑 n + m - 1 个点,且涂完这些点后 所有的行 和所有的列 会都在一个联通块里面 举例 如下:不妨令 n...
最小生成树
Kruskal
思维
2021-07-25
11
745
题解 | #Penguins#
I 题题解 思路 广搜 Code #include <bits/stdc++.h> using namespace std; const int N = 50; struct node{ int x1,y1; int x2,y2; int cnt; ...
BFS
2021-07-21
2
749
题解 | #Stack#
K题题解 法1: 构造拓扑关系 思路:先假设 我们要求的序列 a 为: 1、2、3、...... 、n然后对序列 a 进行题目描述中的单调栈操作, 构造出满足 所给b[i] 的拓扑关系拓扑关系:在这里 指位置间的拓扑关系 ,比如 pos1 指向 pos2 , 代表 a[pos1] 需大于 a[pos...
拓扑
思维
模拟
2021-07-21
2
492
题解 | #追债之旅#
有边数限制的最短路 —— bellman_ford 模板题 时间复杂度 O(nm) #include <bits/stdc++.h> using namespace std; const int N = 1010, M = 20010; struct node{ int a...
最短路
2021-07-14
2
681
首页
上一页
1
2
3
4
5
6
下一页
末页