动态规划
菜圾
Hi, it's your Accepted !
展开
-
01:最长上升子序列
总时间限制: 2000ms 内存限制: 65536kB描述一个数的序列bi,当b1 你的任务,就是对于给定的序列,求出最长上升子序列的长度。输入输入的第一行是序列的长度N (1 输出最长上升子序列的长度。样例输入71 7 3 5 9 4 8样例输出4来源翻译自 Northeastern Europe 2002, Far-Eastern原创 2017-03-28 23:40:55 · 235 阅读 · 0 评论 -
UVa - 10912 - Simple Minded Hashing-(dp)
All of you know a bit or two about hashing. It involves mapping an element into a numerical value using some mathematical function. In this problem we will consider a very ‘simple minded hashing’. It原创 2017-11-12 12:00:30 · 292 阅读 · 0 评论 -
hdu - 2067 - 小兔的棋盘 - (dp)
小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望。不过没过几天发现了棋盘的好玩之处。从起点(0,0)走到终点(n,n)的最短路径数是C(2n,n),现在小兔又想如果不穿越对角线(但可接触对角线上的格点),这样的路径数有多少?小兔想了很长时间都没想出来,现在想请你帮助小兔解决这个问题,对于你来说应该不难吧!Input每次输入一个数n(1原创 2017-12-02 11:03:07 · 205 阅读 · 0 评论 -
POJ - 3256 - Cow Picnic - (dfs)
The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ 100) cows is grazing in one of N (1 ≤ N ≤ 1,000) pastures, conveniently numbered 1...N. The pastures are connected by M (1 ≤ M ≤ 10,000原创 2017-12-02 21:30:50 · 190 阅读 · 0 评论 -
hihoCoder #1239 : Fibonacci - (dp)
题目连接:http://hihocoder.com/problemset/problem/1239题意:对于一个字符串,它的字符串就是在原串中去掉某些字符,剩余的字符保持顺序形成的串,题目给出数字串,问它有多少子串正好是斐波那契数列的前缀。解析:一个比较普通的dp,因为a[i]代码:#include#include#include#include#include#incl原创 2018-03-18 20:35:14 · 167 阅读 · 0 评论 -
hihCoder - 1137 : Recruitment - (背包)
题目链接:http://hihocoder.com/problemset/problem/1137题意:有N个员工来面试,已知每个人的价值和薪水,公式收人的要求是:1.要x男y女,2.这x+y个员工的总薪水不能超过B,3.在前两点的前提上要是要使总价值最大,基于此还要使总薪水最小。4.如果答案不唯一,选择员工编号的字典序最小的方案。要求输出选择员工的总价值和总薪水,并且输出他们的编号。原创 2018-03-16 15:48:05 · 310 阅读 · 0 评论 -
hihoCoder #1290 : Demo Day - (dp)
题目链接:http://hihocoder.com/problemset/problem/1290题意:有n*m的方阵,'.'代表空,'b'代表障碍,机器人从要从左上角走到右下角,但机器人只能直直的往下或往右走,遇到障碍或边缘才转向继续直走,可以将'.'换成'b',也可将'b'换做'.',机器人最初朝向右,问最少换几次可使得机器人成功到达终点。解析:动态规划,用dp[i][j][k]表示机原创 2018-03-20 22:10:04 · 174 阅读 · 0 评论 -
hihoCoder #1149 : 回文字符序列 - (dp)
题目链接:http://hihocoder.com/problemset/problem/1149题意:给定字符串,求它的回文子序列个数。这里的子序列是指一个序列中去掉一些元素,剩余的元素按顺序组成的序列。解析:又是一种dp,想明白dp的思路就好,由于做dp不多所以记录下:用dp[i][j]表示区间[i,j]中回文子序列的个数,那么对于dp[i][i]=1是计算的基础,下面分析状态转移原创 2018-03-21 20:31:26 · 383 阅读 · 0 评论 -
UVA 10534 - Wavio Sequence - (DP,最长单调上升子序列O(nlogn))
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1475题意:Wavio sequence是指一个长度为奇数的串,以中间点为最高点往两端单调下降的序列,给出长为n的串,求他的最长Wavio sequence子串。解析:对于...原创 2018-05-10 22:39:21 · 290 阅读 · 0 评论 -
HDU - 6024 - Building Shops - (dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6024题意:给出n间教室,每间教室可以建糖果店,也可以不建糖果店,给出x[i]是每间教室的坐标(教室在直线上),c[i]是在教室i建糖果店的话费,对于不建糖果店的教室的花费为 所有在它的左边的教室中 离他最近的含有糖果店的教室 与他的距离。解析:明显的dp,dp[i][0]为到第i个教室且原创 2018-04-26 22:04:06 · 154 阅读 · 0 评论 -
UVA - 10635 - Prince and Princess - (LCS最长公共子序列O(n*log(n)),LIS)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1576题意:给出两个长度分别为p+1,q+1的数字序列,序列中数字范围为1~n*n,序列中数字不重复,让求序列的最大公共子序列。解析:这里要用到O(n*log(n))的LI...原创 2018-05-17 20:16:47 · 225 阅读 · 0 评论 -
UVA - 11584 - Partitioning by Palindromes - (DP)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2631题意:给出字符串,让求字符串最少划分为几个回文串解析:用dp[i]代表到第i个字符串为止最少划分为几个回文串,可得dp[i]=min(dp[i],dp[j-1]+1)...原创 2018-05-17 21:10:03 · 141 阅读 · 0 评论 -
UVA - 10891 - Game of Sum - (区间DP)
题目链接:UVA - 10891 - Game of Sum - (区间DP)题意:有n个数字的序列,有两个人A,B来玩游戏, 每个人每次可以从两端(左或右)中的任意一端取走一个或若干个数(获得价值为取走数之和), 但是他取走的方式一定要让他在游戏结束时价值尽量的高,最头疼的是两个人都很聪明,所以每一轮两人都将按照对自己最有利的方法去取数字,计算一下在游戏结束时,先取数的人A的价值与后取数人B的价...原创 2018-05-20 10:17:59 · 178 阅读 · 0 评论 -
LightOJ - 1248 Dice (III) - (几何分布期望,dp)
题意:给出一个有n面的色子,求要看见所有面所需要投掷的期望次数。解析:经典的题型,有两种解题思路:①.利用几何分布:几何分布(Geometric distribution)是离散型概率分布。其中一种定义为:在n次伯努利试验中,试验k次才得到第一次成功的机率。详细地说,是:前k-1次皆失败,第k次成功的概率。几何分布概率为p时期望E(X) = 1/p;又因为:第一个面第一次出现的概率是n/n;第二个...原创 2018-04-29 21:13:02 · 215 阅读 · 0 评论 -
UVA - 10003 Cutting Sticks - (DP)
题目链接:https://cn.vjudge.net/problem/UVA-10003题意:给出一根长为L的木棍,给出长为n的c数组,c[i]代表在木棍的长为c[i]处为一个切割点,每次切割的木棍的长度为花费,让选择切点的顺序,使得费用最小。很好的dp题,题解来自:https://www.cnblogs.com/simplekinght/p/6953258.html思路:这道题与最优矩阵连乘的思...原创 2018-05-21 22:18:07 · 174 阅读 · 0 评论 -
CodeForces - 983B - XOR-pyramid - (DP)
题目链接:http://codeforces.com/problemset/problem/983/B题意:对于一个数组有函数f定义如下:①.f(b[1],b[2],b[3]...b[n-1],b[n])=f(b[1]^b[2],b[2]^b[3]...b[n-1]^b[n])②.如果n=1,即f(b[1])=b[1]现在给出一个长度为n的数组a和q次询问,每次询问给出l,r代表a中的一个区间[a...原创 2018-06-07 22:25:59 · 251 阅读 · 0 评论 -
UVA - 11400 - Lighting System Design - (dp)
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2395题意:要安装n种灯,每种灯给出价格C,需要安装数量L个,然后每种灯需要一个电源,给出每种灯需要的电源功率V,电源的价格,那么可以得到安装的花费,但是对应第功率的灯可以...原创 2018-05-31 22:06:00 · 138 阅读 · 0 评论 -
计蒜客 30994 - 2018ICPC南京网络预赛 - E题 - AC Challenge - 状压DP
题解参考IGVA大佬:https://blog.csdn.net/LSD20164388/article/details/82313223题目链接:https://nanti.jisuanke.com/t/30994题意:有n个问题编号为1~n,每个问题给出ai,bi,si,以及pi1,pi2,pi3...pij...pisi,1<=j<=si,分别代表第t分钟解决这个问题可以...原创 2018-09-02 21:59:41 · 174 阅读 · 0 评论 -
UVa - 10616 - Divisible Group Sums(dp)
Given a list of N numbers you will be allowed to choose any M of them. So you can choose in NCM ways. You will have to determine how many of these chosen groups have a sum, which is divisible by D.原创 2017-11-11 20:42:11 · 234 阅读 · 0 评论 -
hdu 1025 Constructing Roads In JGShining's Kingdom
Problem DescriptionJGShining's kingdom consists of 2n(n is no more than 500,000) small cities which are located in two parallel lines.Half of these cities are rich in resource (we call them ri转载 2017-10-11 00:08:23 · 137 阅读 · 0 评论 -
02:最大子矩阵
描述已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 * 1)子矩阵。比如,如下4 * 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。输入输入是一个N * N的矩阵。输入的第一行给出N (0 2个整数,整数之间由空白原创 2017-04-01 12:55:28 · 224 阅读 · 0 评论 -
动态规划
动态规划是很重要的一部分内容,是方法很灵活的一种算法,所以掌握起来算是比较困难,做动态规划的题对思维的灵活性有很大要求,因为对于不同问题,其确定最优解的条件与方法都是不同的,解题模式不固定也就需要具体问题具体分析。动态规划是名气很大的一类算法,它与递推有很多相似之处,递推是从一中状态推出另一种状态,但动态规划是对每次的问题都有最优解的选择然后进行递推。动态规划是解决多阶段决策问题的一种方法。动态规原创 2017-04-17 23:54:33 · 319 阅读 · 0 评论 -
16:踩方格
描述有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;b. 走过的格子立即塌陷无法再走第二次;c. 只能向北、东、西三个方向走;请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。输入允许在方格上行走的步数n(n 输出计算出原创 2017-04-13 18:15:27 · 377 阅读 · 0 评论 -
05:吃糖果
描述名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块原创 2017-04-12 23:18:41 · 250 阅读 · 0 评论 -
26:滑雪
26:滑雪总时间限制: 1000ms 内存限制: 65536kB描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17原创 2017-04-09 09:35:27 · 356 阅读 · 0 评论 -
03:采药
查看 提交 统计 提问总时间限制: 1000ms 内存限制: 65536kB描述辰辰是个很有潜能、天资聪颖的孩子,他的梦想是称为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以原创 2017-04-05 10:10:09 · 205 阅读 · 0 评论 -
06:登山
描述五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。同时队员们还有另一个登山习惯,就是不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点,你能帮他们找出最多可能浏览的景点数么?输入Line 1: N (2 L原创 2017-04-14 00:12:49 · 552 阅读 · 0 评论 -
13:最大上升子序列和
描述一个数的序列bi,当b1 你的任务,就是对于给定的序列,求出最大上升子序列和。注意,最长的上升子序列的和不一定是最大的,比如序列(100, 1, 2, 3)的最大上升子序列和为100,而最长上升子序列为(1, 2, 3)输入输入的第一行是序列的长度N (1 输出最大上升子序列和样例输入71 7 3 5 9 4 8样例输出18解题思路:dp存放到第i个数的最大上升原创 2017-04-16 08:48:07 · 240 阅读 · 0 评论 -
21:三角形最佳路径问题
描述如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径上的数字之和。 注意:路径上的每一步只能从一个数走到下一层上和它最近的下边(正下方)的数或者右边(右下方)的数。输原创 2017-04-16 09:08:56 · 316 阅读 · 0 评论 -
09:移动路线
×桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一天他捉来一只蚂蚁,不小心把蚂蚁的右脚弄伤了,于是蚂蚁只能向上或向右移动。小明把这只蚂蚁放在左下角的方格中,蚂蚁从左下角的方格中移动到右上角的方格中,每步移动一个方格。蚂蚁始终在方格矩阵内移动,请计算出不同原创 2017-04-16 13:19:11 · 213 阅读 · 0 评论 -
14:怪盗基德的滑翔翼
怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪装,而他的滑翔翼的动力装置也被柯南踢出的足球破坏了。不得已,怪盗基德只能操作受损的滑翔翼逃脱。假设城市中一共有N幢建筑排成原创 2017-04-16 13:56:44 · 443 阅读 · 0 评论 -
18:买书
描述小明手里有n元钱全部用来买书,书的价格为10元,20元,50元,100元。问小明有多少种买书方案?(每种书可购买多本)输入一个整数 n,代表总共钱数。(0 输出一个整数,代表选择方案种数样例输入样例输入1:20样例输入2:15样例输入3:0样例输出样例输出1:2样例输出2:0样例输出3:0 解题思路:完全背包问题,因为钱全都买书,所以如果不可以被10整除,输原创 2017-04-16 22:05:43 · 248 阅读 · 0 评论 -
04:公共子序列
描述我们称序列Z = 1, z2, ..., zk >是序列X = 1, x2, ..., xm >的子序列当且仅当存在 严格上升 的序列1, i2, ..., ik >,使得对j = 1, 2, ... ,k, 有xij = zj。比如Z = 是X = 的子序列。现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也原创 2017-04-16 23:02:38 · 202 阅读 · 0 评论 -
23:大盗阿福
阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?输入输入的第一行是一个整数 T (原创 2017-04-16 23:52:55 · 307 阅读 · 0 评论 -
19:最低通行费
描述一个商人穿过一个 N*N 的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离开原创 2017-04-17 00:15:23 · 273 阅读 · 0 评论 -
POJ-3186-Treats for the Cows-动态规划DP
FJ has purchased N (1 The treats are interesting for many reasons:The treats are numbered 1..N and stored sequentially in single file in a long box that is open at both ends. On any day, FJ ca原创 2017-08-24 20:21:42 · 252 阅读 · 0 评论 -
【转】POJ 3378 Crazy Thairs(数据集中+DP+树状数组+高精度)
转自:http://blog.csdn.net/u013480600/article/details/21407795POJ 3378 Crazy Thairs(数据集中+DP+树状数组+高精度)http://poj.org/problem?id=3378题意: 有一个N个数组成的数列,问你该数列中有多少上升5元序列,即满足如下要求的序列(不要求连续取5个转载 2017-08-24 11:47:17 · 260 阅读 · 0 评论 -
BZOJ 4300 - 绝世好题 - (DP)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4300题意:给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。解析:由于a&b!=0表示a与b的二进制位至少有1位同时为1,用dp[i]表示第i位2进制为1的最长子序列,对于输入的a[i]对于它的二...原创 2018-11-10 15:51:04 · 174 阅读 · 0 评论