
=ACM=动态规划
文章平均质量分 55
i逆天耗子丶
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
NYOJ - 745 - 蚂蚁的难题(二)(最大子序列和变形,动态规划)
描述 下雨了,下雨了,蚂蚁搬家了。 已知有n种食材需要搬走,这些食材从1到n依次排成了一个圈。小蚂蚁对每种食材都有一个喜爱程度值Vi,当然,如果Vi小于0的时候,表示蚂蚁讨厌这种食材。因为马上就要下雨了,所以蚂蚁只能搬一次,但是能够搬走连续一段的食材。时间紧急,你快帮帮小蚂蚁吧,让它搬走的食材喜爱值和最大。 输入有多组测试数据(以EOF结尾)。 每组数据有两行,第一行有一个n,表示原创 2016-11-03 15:07:07 · 796 阅读 · 0 评论 -
NYOJ - 17 - 单调递增最长子序列(动态规划--LIS--单调递增最长子序列)
描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf,长度为4 输入第一行一个整数0 随后的n行,每行有一个字符串,该字符串的长度不会超过10000 输出输出字符串的最长递增子序列的长度 样例输入 3 aaa ababc abklmncdefg 样例输出 1 3 7 思路:设dp[i]是前i个字符组成的最长原创 2016-10-21 14:48:58 · 517 阅读 · 0 评论 -
UVa - 11400 - Lighting System Design(线性动态规划)
题目意思是 小灯泡(低电压)可以换成大灯泡,但是需求的数目不变,一种灯泡只买一个电源就可以。 举个例子 灯泡a和b。 a 电压 1 电源 50元 单价 5 需要 5 b 电压 2 电源 20元 单价 6 需要 4 买小灯泡的话,需要50+5*5=75 加上大灯泡的20+4*6+75 = 119元 如果把小灯泡换成大灯泡,虽然单价大灯泡贵,但是就不用买小灯泡的电源,就需要20+(5原创 2016-12-05 10:07:38 · 764 阅读 · 0 评论 -
UVa - 11854 - Partitioning by Palindromes (线性动态规划)
给定一个字符串,问:最少能分割成几个子字符串,并且每个字符串都是回文串。 设:dp [ i ] 是前 i 个字符能分割的最少个数。 动态转移方程: dp [ i ] = max ( dp [ i ] , dp[ j ] +1) ; 其中 j 是 0 ~ i 之间的数 ,执行转移方程的条件是 j~i 的字符串是回文串 #include #include #include #def原创 2016-12-05 18:36:02 · 441 阅读 · 0 评论 -
NYOJ - 814 - 又见拦截导弹(动态规划--最大单调递增子序列变形)
描述 大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度。突然有一天,雷达捕捉到敌国的导弹来袭。由于该系统存在缺陷,所以如果想把所有的导弹都拦截下来,就要多准备几套这样的导弹拦截系统。但是由于该系统成本太高,所以为了降低成本,原创 2016-10-31 19:29:46 · 749 阅读 · 1 评论 -
NYOJ - 36 - 最长公共子序列(LCS,动态规划DP)
描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。 tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。 输入第一行给出一个整数N(0原创 2016-10-19 14:53:55 · 535 阅读 · 0 评论 -
NYOJ - 79 - 拦截导弹(动态规划--LIS--最长递增子序列变形)
描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。 输入第一行输入测试数据组数N(1 接下来一行输入这组测试数据共有多少个导弹m(1 接下来行输入原创 2016-10-24 21:33:13 · 638 阅读 · 0 评论 -
NYOJ - 76 - 超级台阶(动态规划)
描述 有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法? 注:规定从一级到一级有0种走法。 输入输入数据首先包含一个整数n(1 输出对于每个测试实例,请输出不同走法的数量。 样例输入 2 2 3 样例输出 1 2 走到第n级台阶可以同过从第n-1级台阶走一步到达,或者从第n-2级台阶走2步到达。所以a原创 2016-10-24 21:23:50 · 511 阅读 · 0 评论 -
NYOJ - 252 - 01串(动态规划)
描述 ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这种长度的01串共有多少个,他希望你能帮帮他。 注:01串的长度为2时,有3种:00,01,10。 输入第一行有一个整数n(0 随后有n行,每行有一个整数m(2 输出输出不含有“11”子串的这种长度的01串共有多少个,占一行。 样例输入 2 2 3 样例输出 3原创 2016-10-24 21:20:07 · 1068 阅读 · 0 评论 -
NYOJ - 246 - 心急的C小加
描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗? 输入第一行是一个整数T(1 每组测试数据的第一行是一个整数N(1原创 2016-10-24 20:46:57 · 563 阅读 · 0 评论 -
NYOJ - 37 - 回文字符串(LCS变形)
描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。 输入第一行给出整数N(0 接下来的N行,每行一个字符串,每个字符串长度不超过1000. 输出每行输出所需添加的最少字符原创 2016-11-29 20:36:41 · 536 阅读 · 0 评论