
算法
ganlubaba666
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最小m段和
#include <stdio.h>#define MAX(a,b) a>b?a:b int a[100];int dp[1000][1000]; int main(){ int n,m,maxvalue=0; scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) { scanf("%d",&a...原创 2019-04-23 17:44:45 · 891 阅读 · 0 评论 -
【动态规划】最小编辑距离
前言刚刚开始不太能理解动态规划,现在我的感觉就是,如果一个东西不好理解,知道它可以这样,但是不知道它为什么这样。那就可以直接上手做题,在做题的过程中就会产生自己的理解了。今天大概就是这样,刚刚开始先看了一下书,关于动态规划的概念,接着就是,把关于这道题的思路扫了一下,然后直接上手敲代码,没想到没怎么调试就出现了结果。题目给定两个字符串A和B,求字符串A至少经过多少步字符操作变成字符串B。...原创 2019-05-13 22:35:01 · 451 阅读 · 2 评论 -
【贪心算法】删数问题
贪心算法顾名思义,贪心算法总是做出在当前看来是最好的选择。也就是说贪心算法并不从整体最优上加以考虑,它所做出的选择只是在某种意义上的局部最优选择。当然,我们希望贪心算法得到的结果也是整体最优的。在一些问题中,即使贪心算法不能得到整体最优解,但其最终结果却是最优解的很好的近似解。题目Problem Description键盘输入一个高精度的正整数n(≤100位),去掉其中任意s个数字后剩下的...原创 2019-05-07 20:33:27 · 1056 阅读 · 0 评论 -
【回溯法】用子集树和排序树解决n后问题
回溯法在问题的解空间树中,按深度优先策略,根节点触发搜索解空间树,算法搜索至解空间的任意节点时,先判断该节点是否包含问题的解,若肯定不包含,则跳过对以该节点为根的子树的搜索,逐层向其祖先结点回溯。否则进入该子树,继续按根深度优先搜索子集树和排列树的区别当所给问题是从n个元素的集合S中找出满足某种性质的子集时,相应的解空间树称为子集树。子集树的时间复杂度为2^n当所给的问题时确定n个元素满...原创 2019-05-21 20:32:40 · 3255 阅读 · 1 评论 -
【动态规划】矩阵连乘
什么是动态规划将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,以至于最后解决原问题需要耗费指数时间。然而,不同子问题的数目常常只有多项式量级。在用分治法求解时,有些子问题被重复计算了多次。如果我们能够保存解决的子问题的答案,而...原创 2019-05-12 19:59:27 · 235 阅读 · 0 评论 -
会场安排问题
问题描述:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。★算法设计:对于给定的k个待安排的活动,计算使用最少会场的时间表。★数据输入:第一行有1个正整数k,表示有k个待安排的活动。接下来的k行中,每行有两个正整数,分别表示k个待安排的活动开始时间和活动结束时间。时间以0点开始的分钟计。★结果输出:将计算结果输出到文件output.txt。文件第1行中的数是计算出的最大值。...原创 2019-06-18 17:56:48 · 308 阅读 · 0 评论