动态规划
文章平均质量分 78
sortmin
这个作者很懒,什么都没留下…
展开
-
51NOD - 1183 编辑距离
1183 编辑距离 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。例如将kitten一字转成sitting:原创 2018-02-07 00:54:09 · 144 阅读 · 0 评论 -
最长上升序列、最长下降序列及其变形模板
#include <bits/stdc++.h>using namespace std;#define _for(i,a,b) for(int i=a;i<=b;i++)const int maxn = 107;int n,dp1[maxn],dp2[maxn],a[maxn],sum1[maxn],sum2[maxn];int check(int x,int y)//...原创 2018-03-07 01:35:55 · 207 阅读 · 0 评论 -
洛谷 P1060 开心的金明
P1060 开心的金明题目链接:https://www.luogu.org/problemnew/show/P1060题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每...原创 2018-02-28 15:31:51 · 75 阅读 · 0 评论 -
洛谷 P1020 导弹拦截(动态规划)
P1020 导弹拦截题目链接:https://www.luogu.org/problemnew/show/P1020题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉...原创 2018-03-11 02:17:56 · 379 阅读 · 0 评论 -
洛谷 P1091 合唱队形
P1091 合唱队形题目链接:https://www.luogu.org/problemnew/show/P1091题目描述N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1...原创 2018-03-11 02:26:01 · 144 阅读 · 0 评论 -
洛谷 动态规划的背包问题(普及连续场)
动态规划的背包问题P1049 装箱问题 题目链接:https://www.luogu.org/problemnew/show/P1049 题解:01背包裸题 AC代码:#include <bits/stdc++.h>using namespace std;#define _for(...原创 2018-03-06 12:48:57 · 792 阅读 · 0 评论 -
环形石子合并问题(动态规划)(洛谷P1880)
环形石子合并问题(动态规划)传统的石子合并问题为:有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动相邻的2堆石子合并,合并花费为新合成的一堆石子的数量,求将这N堆石子合并成一堆的总花费最小(或最大)。这类问题类似区间DP的解法,设dp[i][j]为合并从i到j的最小总花费,那么预处理出前缀和,转移方程为dp[i][j]=max(dp[i][k]...原创 2018-04-17 20:41:36 · 5295 阅读 · 0 评论 -
UVa-1347 -Tour(DP)
题意:给定二维平面上的n个坐标,然后找到一条线路,从最左边的点出发,然后到最右边的点,然后再返回,只有起点和终点的点可以经过两次。找一条最短路。题解:走过去再走回来不经过相同的点可以转换为两个人分别走两条路去到达终点,用dp[i][j]表示两人最远的走到max(i,j)的情况,那么下一个决策就是看谁去走下一个点,即d[i][j]=min(dp[i+1][j]+dist[i][j],dp[i+1][...原创 2018-07-16 14:29:22 · 158 阅读 · 0 评论 -
The Tower of Babylon (UVA-437)
题目链接:https://vjudge.net/problem/UVA-437题意:给定N种立方体,每种无限个,可以任意旋转,问最高能立起来多少个,即上一个的长宽均小于下面的长宽。题解:每种旋转一共有6种情况,然后按排序从最大的往下找即可。AC代码:#include <iostream>#include <algorithm>#include <string>...原创 2018-07-16 01:10:19 · 203 阅读 · 0 评论