算法学习
chengqidexue
这个作者很懒,什么都没留下…
展开
-
算法学习1——动态规划
打算用这个星期学完基本的动态规划!加油。 2019/3/2815.1 钢条切割//递归求法, n = 30以后超级慢 #include <cstdio>#include <iostream>#define MIN -100000using namespace std;int max(int a, int b) { return (a>b)?a:b...原创 2019-03-28 17:39:14 · 227 阅读 · 0 评论 -
算法学习2——动态规划 4/2
一些典型题目1.显然这个题目要用到动态规划,可以考虑假设有n步,每一步都要纠结要不要捡金币,但从后往前考虑,则假设将结果保存在数组ans[n]ans[n]ans[n]中,每步有多少金币则保存在数组a[n]a[n]a[n]中,则分情况考虑,1.走到第n步的时候如果捡起金币,则n-1步肯定没有捡起金币,则ans[n]=a[n]+ans[n−2]ans[n] = a[n] + ans[n-2]a...原创 2019-04-03 01:39:16 · 201 阅读 · 0 评论 -
DFS求联通块的问题
洛谷[https://www.luogu.org/problemnew/show/P1141]用广度优先搜索会超时两个数据点//还是会超时,欸,还得优化 #include <bits/stdc++.h>using namespace std;#define MAX 1005struct node{ int x, y;}s, e;int dir[][2] = {1,...原创 2019-06-11 17:55:52 · 240 阅读 · 0 评论 -
归并排序
归并排序思路1.分解:分解待排序的nnn个元素的序列成各具n/2n/2n/2个元素的俩哥哥子序列2.解决:使用归并排序递归的排序两个子序列3.合并:合并两个已排序的子序列得到答案合并先考虑将两个已排序好的数组合并为一个数组伪代码如下:MERGE(A, p, q, r) //合并数组A[p..q],A[q+1..r]n1 = q - p + 1n2 = r - qlet L[...原创 2019-09-05 14:53:19 · 161 阅读 · 0 评论 -
算法导论
算法导论引言我有一个目标,就是这学期把《算法导论》这本书的所有课后习题完成,并将书上的所有问题都看懂。加油。我会陆续把书上的所有伪代码用C++语言实现一遍,并将所有的课后习题完成写在这里。形式可能有我的手写笔记图片,手写作业图片,和直接用博客写的。这是这个系列的第一篇文章。学习步骤:看MIT的那个算法导论的MOOC →\to→ 看书并完成书上推导和习题 →\to→ 刷OJ希望这一...原创 2019-09-05 22:15:31 · 869 阅读 · 0 评论