希里福涂鸦
希里福涂鸦
全部文章
分类
归档
标签
去牛客网
登录
/
注册
希里福涂鸦的博客
TA的专栏
60篇文章
0人订阅
计算机复试机试(王道版)
59篇文章
229人学习
浙大版《C语言程序设计第4版》
1篇文章
91人学习
全部文章
(共45篇)
题解 | 递推数列
来自专栏
当k不大时可以直接模拟,时间复杂度为O(k): #include<stdio.h> #include<vector> using namespace std; int main() { int a0, a1, p, q,k; scanf("%d%d%d%d%d...
2026-02-25
0
45
题解 | 点菜问题
来自专栏
0-1背包问题:背包:有一定体积/重量限制物品:只能选择一次,放入背包/不放入背包;物品有双重属性:比如体积/重量和价值目标函数:在满足容量约束的前提下,使得背包内物品的总价值最大化动态规划解题:最优解:大背包的最优解包含了小背包的最优解子问题有重叠:(用递归会冗余)记录状态避免重复递归计算 #in...
2026-02-24
0
42
题解 | 最长公共子序列(一)
来自专栏
练习动态规划,思路:dp[i][j]:表示是s1的前缀长度为i,s2的前缀长度为j时的最长公共子序列长度(不要求连续)1.边界初始化:s1的前缀长度为0,或s2的前缀长度为0时,最长公共子序列长度是02.小问题向大问题转移:若s1和s2的上一次对比元素相等,则在这次的dp值+1;若不等,则取两者相比...
2026-02-14
0
49
题解 | 放苹果
来自专栏
动态规划的入门练习 #include<stdio.h> #include<vector> using namespace std; int main() { int m, n; while (scanf("%d%d", &m, &...
2026-02-14
0
40
题解 | 还是畅通工程
来自专栏
思路:构造最小生成树,即保证所有顶点连通(间接也可以)+边的权值最小。可用克鲁斯克拉算法求生成树:每次选权值最小的边,判断若边所在的两个顶点不连通则加入树中,否则跳过该边,一直到树构建完成(特征是边数=顶点个数-1)。 #include <cstring> #include<std...
2026-02-10
0
46
题解 | 畅通工程
来自专栏
思路:考察并查集的基本操作,根据题目要求构建并查集,初始化并查集个数为城镇个数,依次输入道路合并,最后需要建设的道路数目为并查集个数-1:合并到最后只有1个并查集,则说明集合内结点相互连通,不用建路;合并到最后只有2个并查集,之间要建1条路才连通;合并到最后只有3个并查集,之间要建2条路才连通; #...
2026-02-08
0
44
题解 | 玛雅人的密码
来自专栏
思路:采用广度优先遍历,每次从队列头拿出一个字符串,检查,然后生成所有可能的“下一代”字符串放回队列尾部这样,先入队的(移动步数少的)一定会先被处理,保证了找到的第一个解就是步数最少的解。存放待处理的字符串——队列;找子串——find;记录哪些字符串已经处理过了(防止走回头路,比如从 A 变到 B,...
2026-02-05
0
45
题解 | 复数集合
来自专栏
优先队列:默认大根堆,重载运算符的比较规则有点绕 #include<stdio.h> #include<string> #include<queue> using namespace std; struct Complex { int a; int...
2026-02-04
0
48
题解 | 整数奇偶排序
来自专栏
按题目要求改写比较规则,利用sort排序动态数组 #include<stdio.h> #include<vector> #include<algorithm> using namespace std; //修改比较规则 bool compare(int l,in...
2026-02-04
0
43
题解 | Candy Sharing Game
来自专栏
#include<stdio.h> #include<vector> using namespace std; //判断是否相等,注意& bool isSame(vector<int> &vec) { for (int i = 0; i &...
2026-02-04
0
51
首页
上一页
1
2
3
4
5
下一页
末页