动态规划
萧瑟1
这个作者很懒,什么都没留下…
展开
-
动态规划之区间模型
1. POJ 1159 Palindrome题目链接:http://poj.org/problem?id=1159递推式为if a[i]==a[j] dp[i][j]=d[i+1][j-1];else dp[i][j]=min(dp[i+1][j],dp[i][j-1]);代码如下://include <bits/stdc++.h>#include &l...原创 2019-04-25 16:36:33 · 988 阅读 · 0 评论 -
HDU - 1087 Super Jumping! Jumping! Jumping!
Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very popular in HDU. Maybe you are a good boy, and know little about this game, so I introduce it to you now.The game c...原创 2019-02-20 20:47:12 · 313 阅读 · 0 评论 -
HDU - 1074 Doing Homework 状态压缩dp
Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of homework to do. Every teacher gives him a deadline of handing in the homework. If Ignatius hands in the homework after th...原创 2019-02-20 18:30:50 · 135 阅读 · 0 评论 -
HDU - 1024 Max Sum Plus Plus
Now I think you have got an AC in Ignatius.L's "Max Sum" problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more difficult problem.Given ...原创 2019-02-20 11:41:15 · 127 阅读 · 0 评论 -
HDU - 1029 Ignatius and the Princess IV
"OK, you are not too bad, em... But you can never pass the next test." feng5166 says."I will tell you an odd number N, and then N integers. There will be a special integer among them, you have to tel...原创 2019-02-19 11:15:48 · 112 阅读 · 0 评论 -
蓝桥杯 历届试题 对局匹配
问题描述 小明喜欢在一个围棋网站上找别人在线对弈。这个网站上所有注册用户都有一个积分,代表他的围棋水平。 小明发现网站的自动对局系统在匹配对手时,只会将积分差恰好是K的两名用户匹配在一起。如果两人分差小于或大于K,系统都不会将他们匹配。 现在小明知道这个网站总共有N名用户,以及他们的积分分别是A1, A2, ... AN。 小明想了解最多可能有多少名用户同时在线寻找对手,但是系统...原创 2019-02-28 15:01:14 · 141 阅读 · 0 评论 -
牛客小白月赛11 F Rinne Loves Edges
题目链接:传送门代码如下:#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;typedef long long ll;const int maxn=1e5+5;int n,m,s;in...原创 2019-02-10 11:40:53 · 235 阅读 · 0 评论 -
P1879 [USACO06NOV]玉米田Corn Fields 状态压缩dp
题目描述Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of squares. Regrett...原创 2019-02-21 15:31:58 · 164 阅读 · 0 评论 -
leetcode 983. 最低票价 dp
在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。火车票有三种不同的销售方式:一张为期一天的通行证售价为 costs[0] 美元; 一张为期七天的通行证售价为 costs[1] 美元; 一张为期三十天的通行证售价为 costs[2] 美元。通行证允许数天无限制的旅行。...原创 2019-02-01 22:29:17 · 549 阅读 · 0 评论 -
codeforces 1084C The Fair Nut and String dp
题目链接:传送门题意:给出一个字符串,求由axxxxbxxxxa组成的字符串有多少种。思路:先将字符串处理一下,将连续的b和不是a和b的字符去除。然后建立一个dp数组,其中dp[i]表示的是第1到i个字符可组成多少种符合题意的字符串。if b[i]=='b' dp[i]=dp[i-1];else dp[i]=dp[i-1]+在i位置可以组成符...原创 2018-12-20 12:10:37 · 506 阅读 · 0 评论 -
洛谷 P2622 关灯问题II 状态压缩+bfs
题目描述现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时候,把它关上,否则不管;如果为-1的话,如果这盏灯是关的,那么把它打开,否则也不管;如果是0,无论这灯是否开,都不管。现在这些灯都是开的,给出所有开关对所有灯的控制效果,求问最少要按几下按钮才能...原创 2019-02-21 11:28:46 · 203 阅读 · 0 评论 -
HDU 2546 饭卡 01背包
Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。Inpu...原创 2019-03-20 20:38:22 · 146 阅读 · 0 评论 -
Codeforces Round #552 (Div. 3) F. Shovels Shop dp
题目链接:http://codeforces.com/contest/1154/problem/F思路:dp,因为只买k个铲子,所以只需要对最便宜的k个铲子进行dp即可。递推式为:选择优惠方案:dp[i]=min(dp[i],dp[i-p[j].x]+sum[i]-sum[i-p[j].x+p[j].y]) ; 1<=j<=m,1<=i<=k不选优惠...原创 2019-04-20 11:43:54 · 168 阅读 · 1 评论 -
动态规划之背包模型例题
1. HDU 1203 I NEED A OFFER!题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1203稍微转化下,dp[i]表示的是前i个学校不被接受的最小概率。代码如下://include <bits/stdc++.h>#include <set>#include <map>#i...原创 2019-04-28 17:19:50 · 614 阅读 · 0 评论 -
动态规划例题之线性模型
1. POJ 3616 Milking Time题目链接:http://poj.org/problem?id=3616先按时间先后顺序排序,然后按照题目所要求的规则进行dp。代码如下://include <bits/stdc++.h>#include <set>#include <map>#include <cmath>...原创 2019-04-23 00:26:39 · 532 阅读 · 0 评论 -
最大M子段和例题
1. HDU 1081 To The Max题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1081emmm,4层for循环暴力解出来的。5*1e7的复杂度竟然没超时。代码如下://include <bits/stdc++.h>#include <set>#include <map>#in...原创 2019-04-21 10:09:32 · 254 阅读 · 0 评论 -
最长单调子序列例题
1. HDU 1025 Constructing Roads In JGShining's KingdomProblem DescriptionJGShining's kingdom consists of 2n(n is no more than 500,000) small cities which are located in two parallel lines.Half of...原创 2019-04-11 15:18:00 · 409 阅读 · 0 评论 -
HYSBZ - 1088 扫雷Mine 动态规划
题目: 相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列没有雷,如下图:由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信息确定第...原创 2019-04-10 21:05:38 · 243 阅读 · 0 评论 -
zoj 2955 Interesting Dart Game 缩小范围+完全背包
题目:Recently, Dearboy buys a dart for his dormitory, but neither Dearboy nor his roommate knows how to play it. So they decide to make a new rule in the dormitory, which goes as follows:Given a num...原创 2019-03-27 19:52:37 · 165 阅读 · 0 评论 -
最长上升子序列的两种求法 POJ 2533
最长上升子序列一共有两种求法:1.dp,也可以说的纯暴力吧。dp[i]表示以a[i]为结尾的最长上升子序列的长度。所以只要满足j<i且a[j]<a[i],则一定满足dp[j]=max(dp[j],dp[i]+1);复杂度为n^2;2.是在上述方法的优化,建一个dp数组。dp[i]表示长度为i的上升子序列中末尾元素的最小值。因为dp数组一定是有序的,这样每次插...原创 2019-03-23 10:01:30 · 416 阅读 · 0 评论 -
UVA - 12563 Jin Ge Jin Qu hao 01背包
思路:因为题目给出的时间很大,但是实际上不需要这么多的时间,因为一共50首歌,一个最多3分钟,所以最多180*50时间,所以如果题目(给出的时间-1)大于总歌曲时间的话,直接输出总时间+678。剩下的情况则进行dp。判断的标准是在歌曲数目和歌曲时间进行判断的。代码如下:#include <cstdio>#include <cstring>#include ...原创 2019-03-21 18:05:41 · 167 阅读 · 0 评论 -
洛谷 P1352 没有上司的舞会 树形dp模板
题目描述某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。输入输出格式输入格式: 第一行...原创 2018-12-19 19:02:38 · 191 阅读 · 1 评论 -
POJ 1050 To the Max(动态规划)
Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located within the whole array. The sum of a rectangle is the sum of...原创 2018-11-08 09:38:27 · 400 阅读 · 2 评论 -
POJ 1088 滑雪 (搜索)
DescriptionMichael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 ...原创 2018-11-05 21:28:39 · 136 阅读 · 0 评论 -
nyoj 49-开心的小明 dp
题目描述:小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早小明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分为5 等:用整数1~5 表示,第5 等最重要。他还从因特网上查到了每件物品的价格(...原创 2018-09-28 11:30:28 · 161 阅读 · 0 评论 -
Aizu - DPL_1_D Longest Increasing Subsequence dp+二分查找 最长递增子序列
For a given sequence A = {a0, a1, ... , an-1}, find the length of the longest increasing subsequnece (LIS) in A.An increasing subsequence of A is defined by a subsequence {ai0, ai1, ... , aik} where...原创 2018-09-26 13:38:09 · 173 阅读 · 0 评论 -
AOJ 0-1 Knapsack Problem 01背包 dp
You have N items that you want to put them into a knapsack. Item i has value vi and weight wi.You want to find a subset of items to put such that:The total value of the items is as large as possib...原创 2018-09-26 12:41:15 · 370 阅读 · 0 评论 -
HDU 数塔 dp
Problem Description在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗? Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= ...原创 2018-09-25 15:09:41 · 158 阅读 · 0 评论 -
PAT (Advanced Level) Practice 1040 Longest Symmetric String (25 分) 最长回文字符串 dp
#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;const int maxn=1005;char s[maxn];int dp[maxn][maxn];int ans;void init()...原创 2018-09-24 17:27:05 · 140 阅读 · 0 评论 -
Leetcode 63. 不同路径 II 动态规划
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[ ...原创 2018-09-13 14:41:11 · 196 阅读 · 0 评论 -
Leetcode 121 买卖股票的最佳时机 动态规划
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ...原创 2018-09-10 11:35:52 · 205 阅读 · 0 评论 -
Leetcode 62. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解释:...原创 2018-09-12 21:41:49 · 103 阅读 · 0 评论 -
Aizu - ALDS1_10_C Longest Common Subsequence 动态规划
For given two sequences XX and YY , a sequence ZZ is a common subsequence of XX and YY if ZZ is a subsequence of both XX and YY . For example, if X={a,b,c,b,d,a,b}X={a,b,c,b,d,a,b} and Y={b,d,c,a,b,a}...原创 2018-09-12 19:00:36 · 268 阅读 · 0 评论 -
nyoj 104-最大和
题目描述:给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。例子:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2其最大子矩阵为:9 2-4 1-1 8其元素总和为15。输入描述:第一行输入一个整数n(0<n<=100),表示有n组测试数据;每组...原创 2018-09-29 12:09:33 · 133 阅读 · 0 评论 -
HDU 2045 不容易系列之(3)—— LELE的RPG难题
Problem Description人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部...原创 2018-09-29 15:10:48 · 119 阅读 · 0 评论 -
POJ 1458 Common Subsequence
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = < x1, x2, ..., xm > another sequence Z = < z1, z2, ..., zk > is a ...原创 2018-11-05 17:58:56 · 152 阅读 · 0 评论 -
51Nod 1007 正整数分组 01背包
将一堆正整数分为2组,要求2组的和相差最小。例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的。收起输入第1行:一个数N,N为正整数的数量。第2 - N+1行,N个正整数。(N <= 100, 所有正整数的和 <= 10000)输出输出这个最小差输入样例512345输出样例1...原创 2018-11-02 19:28:23 · 174 阅读 · 0 评论 -
51Nod 1092 回文字符串(区间dp)
回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有方案中添加字符数量最少的。收起输入输入一个字符串Str,Str的长度 <= 1000。输出输出最少添加多少个字符...原创 2018-11-02 15:02:47 · 174 阅读 · 0 评论 -
51Nod 1021 石子合并 区间dp
N堆石子摆成一条线。现要将石子有次序地合并成一堆。规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的代价。计算将N堆石子合并成一堆的最小代价。 例如: 1 2 3 4,有不少合并方法1 2 3 4 => 3 3 4(3) => 6 4(9) => 10(19)1 2 3 4 => 1 5 4(5) => 1 9(14) =&g...原创 2018-11-03 09:18:31 · 172 阅读 · 0 评论 -
codeforces 1051 D. Bicolorings (DP)
You are given a grid, consisting of 22 rows and nn columns. Each cell of this grid should be colored either black or white.Two cells are considered neighbours if they have a common border and share ...原创 2018-10-22 21:32:41 · 210 阅读 · 0 评论