
动态规划
文章平均质量分 72
kuronekonano
这个作者很懒,什么都没留下…
展开
-
Hrbust 1835 最长递增子序列(dp)
最长递增子序列 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 377(132 users) Total Accepted: 170(122 users) Rating: Special Judge: No Description 给出一个数字序列求其最长的递增子序列例如序列(1,7,3,5,9,4,8).(1,原创 2017-04-02 23:23:39 · 369 阅读 · 0 评论 -
POJ - 2976 Dropping tests(01分数规划)
In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be.Given your test scores and a positive integer k, determine how ...原创 2018-08-14 11:43:10 · 152 阅读 · 0 评论 -
牛客网暑假训练第五场——A gpa(01分数规划)
链接:https://www.nowcoder.com/acm/contest/143/A 来源:牛客网题目描述 Kanade selected n courses in the university. The academic credit of the i-th course is s[i] and the score of the i-th course is c[i]. At ...原创 2018-08-14 11:49:44 · 177 阅读 · 0 评论 -
2018 ACM 国际大学生程序设计竞赛上海大都会赛——J Beautiful Numbers(数位DP)
题目描述 NIBGNAUK is an odd boy and his taste is strange as well. It seems to him that a positive integer number is beautiful if and only if it is divisible by the sum of its digits. We will not argue ...原创 2018-08-14 12:27:47 · 279 阅读 · 0 评论 -
牛客网暑假训练第九场——E Music Game(概率期望)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 Niuniu likes to play OSU! We simplify the game OSU to the following problem.Given n and m, there are n clicks. Ea...原创 2018-08-16 22:52:41 · 307 阅读 · 1 评论 -
HDU-6447 YJJ's Salesman(线段树区间最大值优化DP&vector去重离散化)
题意:有一个1e9*1e9的地图,从0,0开始走,只能向右,向下,向右下三种行走方式。地图上有n个坐标有权值val,若能通过向右下行走的方式达到这些坐标,就能收获val的积分。问走到最后获得的最大积分是多少。首先想到的是一个动态规划求最大收获。递推式即dp【i】【j】=max(dp【0~i-1】【0~j-1】)+val【i】【j】。 在该坐标的左上角区域内的任意一个位置取一个最大值继承。...原创 2018-08-27 21:55:54 · 363 阅读 · 1 评论 -
Hrbust 1333 GG的关心【01背包】
电脑买回来后,MM一直用它专心的搞ACM,看着MM专注的样子,GG也是非常开心,但害怕MM劳累过度影响身体,于是GG经常到超市给MM买一些营养品来补充身体能量。GG到超市购物从来都是刷卡的,可是这种卡很诡异,当用它在超市购物的时候,刷卡机会先判断卡上的余额是否低于5元钱。如果低于5元钱则无法购买任何物品,即使那件物品的金额是小于5的也不可以。而如果卡上的金额大于等于5元则可以进行交易,即使交易成功...原创 2018-12-12 20:56:44 · 145 阅读 · 0 评论 -
Hrbust 1541集合划分 & Hrbust 2002幂集【dp】
Description对于从1到N (1 <= N <= 39) 的连续整数集合,能划分成两个子集合,且保证每个集合的数字和是相等的。举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,每个子集合的所有数字和是相等的:{3} 和 {1,2}这是唯一一种分法(交换集合位置被认为是同一种划分方案,因此不会增加划分方案总数) 如果N=7,有四种方法能划分集合{1,2,3,4,5...原创 2018-12-13 14:22:33 · 306 阅读 · 0 评论 -
Hrbust 1814 小乐乐的化妆品【01背包】
Description小乐乐辛苦的走到了山脚,却发现山脚多了一个藏宝洞。小乐乐走了进去,无数的化妆品啊!小乐乐眼睛都花了,于是她打开书包开始装。不同的化妆品有不同的价值和不同的大小,每种化妆品只有一个。但是小乐乐的书包很小,最多只能放v体积的东西。小乐乐现在很想知道,她最多能带走多少价值的东西呢?Input第一行输入物品数量n(1<n<100) 和 书包体积 v(0<=v&...原创 2018-12-13 15:08:35 · 198 阅读 · 0 评论 -
两段不相邻子段和之和最大
头条一面第二次GG,肚子不疼了,人蠢了。题目:给一个数组,求出两段 不相邻也不相交的子段和 之和 最大。如果是单段,那么就是一个普通的最大子段和问题。然而分成了两段,也是简单的一批两次遍历求出从前缀和后缀的最大子段和,即1到n每个位置的最大子段和,以及n到1每个位置的最大子段和,这样就可以分区间考虑了。最后一次,遍历枚举整个数组,求第i位为区间间隔的L【i-1】+R【i+1】的最大值。...原创 2019-01-25 19:32:28 · 621 阅读 · 1 评论 -
LeetCode 10. 正则表达式匹配 44. 通配符匹配 (动态规划)
给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符 ‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。 示例 1:输入: s = “aa” p = ...原创 2019-07-20 18:13:01 · 190 阅读 · 0 评论 -
UPC-5500 经营与开发(贪心&逆推)
题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以“EX”为开头的英语单词。 eXplore(探索) eXpand(拓张与发展) eXploit(经营与开发) eXterminate(征服) ——维基百科 今次我们着重考虑exploit部分,并将其模型简化: 你驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞过n个星球。星球笼统...原创 2018-08-04 09:37:32 · 272 阅读 · 0 评论 -
牛客网暑假训练第二场——A run(递推&前缀和)
链接:https://www.nowcoder.com/acm/contest/140/A 来源:牛客网题目描述 White Cloud is exercising in the playground. White Cloud can walk 1 meters or run k meters per second. Since White Cloud is tired,it can...原创 2018-07-22 19:14:35 · 307 阅读 · 0 评论 -
FZU - 2253 Salty Fish(最大子段和)
海边躺着一排咸鱼,一些有梦想的咸鱼成功翻身(然而没有什么卵用),一些则是继续当咸鱼。一个善良的渔夫想要帮这些咸鱼翻身,但是渔夫比较懒,所以只会从某只咸鱼开始,往一个方向,一只只咸鱼翻过去,翻转若干只后就转身离去,深藏功与名。更准确地说,渔夫会选择一个区间[L,R],改变区间内所有咸鱼的状态,至少翻转一只咸鱼。渔夫离开后想知道如果他采取最优策略,最多有多少只咸鱼成功翻身,但是咸鱼大概有十万条,所...原创 2018-06-10 18:13:40 · 259 阅读 · 0 评论 -
UVALive - 7188 Almost Sorted Array(n*logn优化最长递增(递减)子序列)
题意:给你一个序列,移除一个元素之后是一个非严格递增或非严格递减序列输出YES,否则输出NO,因为元素个数n有1e5个,因此n*n的最长递增子序列算法并超时,这里用二分来优化,得到n*logn的最长递增递减子序列算法。 思路:计算最长递增和最长递减子序列长度,若子序列长度有一个+1后大于等于原序列长度则说明可以通过取出一个元素达到完全递增或递减的要求,否则输出NO n*logn的算法中,...原创 2017-09-11 21:13:26 · 424 阅读 · 0 评论 -
UPC-5843: 摘樱桃(最优状态递推)
很难想到的最优状态递推,一开始总在如何分组的问题上纠结。其实只需要在分配第i个樱桃时,将其与前一个(j=i-1)分为一组、前两个分为一组(j=i-2),前三个分为一组(j=i-3)。。。。然后取剩下j个的最优分配情况dp[j]求和取最小值即可。 dp【j】表示了当有j个樱桃时的最优解分配。(是做了-T且平方处理的最终结果) 用一个前缀和数组sum存储前N项前缀和,通过作差可以得到i到j区间...原创 2018-03-15 23:27:26 · 384 阅读 · 0 评论 -
ZOJ-Happy Sequence(记忆化(DP)搜索)
题意:找一种序列,使得 b【i+1】 % b【i】 =0,也就是说每一项都能被前一项整除,且b【i+1】>=b【i】。输入查找这样的序列的上限n,序列长度m,意思是在从1到n这段区间找长度为m的符合条件的序列种数。结果对1e9+7取模使用DFS记忆化搜索,直接暴力搜索肯定会超时。首先预处理打表出数据范围1~2000所有数的因子。倒着从n向前搜索序列。对于每次查找的的序列种数用DP数...原创 2018-03-10 22:03:13 · 379 阅读 · 0 评论 -
UPC-5842 硬币游戏IV(DP)
题目意思有表述不准确的地方,每次可以选择两枚编号相差K的硬币同时拿走。 可以根据状态进行DP,两种状态,当前第i个数和前一个数组合,或不要当前的数,使其和后面的数一起拿走,这样两两取走,将得到最优价值。存在两种状态 dp1[i]=dp2[i-1]+a[i]+a[i-1] 表示取当前硬币和第i-k枚硬币,并且这个dp是求累加和的过程。 第二种情况,dp2[i]=max(dp1[i-k]...原创 2018-03-11 23:30:22 · 328 阅读 · 0 评论 -
牛客网-psd面试(最长公共子序列&回文串)
链接:https://www.nowcoder.com/acm/contest/90/D 来源:牛客网掌握未来命运的女神 psd 师兄在拿了朝田诗乃的 buff 后决定去实习。 埃森哲公司注册成立于爱尔兰,是一家全球领先的专业服务公司,为客户提供战略、咨询、数字、技术和运营服务及解决方案。他们立足商业与技术的前沿,业务涵盖40多个行业,以及企业日常运营部门的各个职能。凭借独特的业内经验与专...原创 2018-03-24 23:25:46 · 547 阅读 · 2 评论 -
UPC-5561 Optimal Coin Change(DP)
题目描述 In a 10-dollar shop, everything is worthy 10 dollars or less. In order to serve customers more effectively at the cashier, change needs to be provided in the minimum number of coins. In this pr...原创 2018-04-12 17:58:32 · 218 阅读 · 0 评论 -
POJ - 1159 Palindrome(回文串&LCS最长公共子序列&滚动数组)
A palindrome is a symmetrical string, that is, a string read identically from left to right as well as from right to left. You are to write a program which, given a string, determines the minimal numb...原创 2018-05-08 23:48:37 · 233 阅读 · 0 评论 -
UPC-5434 Column Addition(DP)
题目描述 A multi-digit column addition is a formula on adding two integers written like this: A multi-digit column addition is written on the blackboard, but the sum is not necessarily correct. We can...原创 2018-04-25 00:52:26 · 178 阅读 · 0 评论 -
POJ - 1651 Multiplication Puzzle(区间DP)
The multiplication puzzle is played with a row of cards, each containing a single positive integer. During the move player takes one card out of the row and scores the number of points equal to the pr...原创 2018-04-25 12:23:41 · 530 阅读 · 0 评论 -
Hrbust-2090 背包(最小不可构造数)
和背包没什么关系,记得之前有到题是关于奖券的,根据不同面值的奖券能组合出连续的最大值就是奖券能消费的值。都是求最小不可构造数首先肯定要有1,然后我们遍历下一个2是否能组合出来…..一个递推的过程。判断一个值是否可以构造出来,取一个最小的值判断其是否小于等于被构造的值,首先确定加入上一个最小值后的那个总和是可以被构造出来的,那么加入新的最小值扩充了这个sum求和,如,1,1,1,1,1的sum为...原创 2018-06-22 00:24:10 · 302 阅读 · 0 评论 -
Hrbust-1284 编辑距离【LCS最长公共子序列】 / leetcode 72.编辑距离
编辑距离Time Limit: 1000 MS Memory Limit: 65536 KTotal Submit: 937(198 users) Total Accepted: 373(190 users) Rating: Special Judge: NoDescription俄罗斯科学家VladimirLevenshtein在1965年提出了编辑距离概念。编辑距离,又称Leven...原创 2019-08-27 12:59:36 · 225 阅读 · 0 评论