
DP
我好想逃
这个作者很懒,什么都没留下…
展开
-
POJ 2533 最长上升子序列 dp
题目链接:http://poj.org/problem?id=2533题目很基础,就是套公式,但是这个题我WA了两次,后来看了很多博客才发现其实是一个很傻的错误,看代码就知道了#include<iostream>#include<cstdio>#include<cstring>using namespace std;int main()...原创 2018-08-14 22:32:36 · 140 阅读 · 0 评论 -
Anniversary party (第一道树状dp)
Problem Description There is going to be a party to celebrate the 80-th Anniversary of the Ural State University. The University has a hierarchical structure of employees. It means that the s...原创 2018-12-12 12:31:03 · 265 阅读 · 0 评论 -
蓝桥杯 算法训练 乘积最大(基础dp)
问题描述 今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目: 设有一个长度为N的数字串,要求选手使用K个乘号将它分成K+1个部分,找出一种分法,使得这K+1个部分的乘积能够为最大。 同...原创 2019-02-16 20:13:02 · 614 阅读 · 0 评论 -
蓝桥杯 算法训练 方格取数 (思路dp)
问题描述 设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。 某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点(N,N)。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。 此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。输入格式 输入的第一行为...原创 2019-02-16 21:12:55 · 422 阅读 · 0 评论 -
算法提高 概率计算 (概率dp)
问题描述 生成n个∈[a,b]的随机整数,输出它们的和为x的概率。输入格式 一行输入四个整数依次为n,a,b,x,用空格分隔。输出格式 输出一行包含一个小数位和为x的概率,小数点后保留四位小数样例输入2 1 3 4样例输出0.3333数据规模和约定 对于50%的数据,n≤5. 对于100%的数据,n≤100,b≤100.dp[i][j...原创 2019-02-22 17:26:17 · 276 阅读 · 0 评论 -
算法训练 数的划分 (dp)
问题描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。输入格式 n,k输出格式 一个整数,即不同的分法样例输入7 3样例输出4 {四种分法为:1,1,5;1,2,4;1,3,3;2,2,3;}数据规模...原创 2019-02-17 20:31:14 · 715 阅读 · 2 评论 -
蓝桥杯训练-未名湖边的烦恼
问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)输入格式 两个整数,表示m和n输出格...原创 2019-02-13 13:54:43 · 284 阅读 · 1 评论 -
算法提高 和最大子序列 (On优化)
问题描述 对于一个给定的长度为N的整数序列A,它的“子序列”的定义是:A中非空的一段连续的元素(整数)。你要完成的任务是,在所有可能的子序列中,找到一个子序列,该子序列中所有元素的和是最大的(跟其他所有子序列相比)。程序要求你输出这个最大值。输入格式 输入文件的第一行包含一个整数N,第二行包含N个整数,表示A。 其中 1 <= N <= 100000 -1...原创 2019-02-24 11:23:21 · 641 阅读 · 0 评论 -
HihoCoder - 1110 Regular Expression区间dp
描述给定一个字符串,判断其是否为合法的正则表达式。 一个正则表达式定义为: 1:0是正则表达式,1也是正则表达式。 2:P和Q都是正则表达式,则PQ是正则表达式。 3:P是正则表达式,则(P)是正则表达式 4:P是正则表达式,则P*也是正则表达式 5:P和Q都是正则表达式,则P|Q是正则表达式。输入输入包含多组数据。每组数据为一行一个字符串,长度不超过100。...原创 2018-12-03 22:24:30 · 201 阅读 · 0 评论 -
hdu6170 Two strings (DP)
Problem Description Giving two strings and you should judge if they are matched. The first string contains lowercase letters and uppercase letters. The second string contains lowercase...原创 2018-11-14 21:22:44 · 229 阅读 · 0 评论 -
HDU 1176 免费馅饼(数塔DP)
免费馅饼 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 65753 Accepted Submission(s): 23129 Problem Description 都说天上不会掉馅饼...原创 2018-11-04 19:36:45 · 223 阅读 · 0 评论 -
HDU 1712 分组背包+代码解析(自己理解)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1712刚大体上理解了01背包和完全背包,到了分组背包又混了,不同的循环顺序搞得我头都炸了。。。。#include<iostream>#include<cstdio>#include<cstring>using namespace std;in...原创 2018-08-18 10:17:21 · 252 阅读 · 0 评论 -
最长公共子序列经典--HDU1159 && POJ1458:Common Subsequence(LCS)
题目链接:http://poj.org/problem?id=1458子串(Substring)是串的一个连续的部分,子序列(Subsequence)则是从不改变序列的顺序,而从序列中去掉任意的元素而获得的新序列;更简略地说,前者(子串)的字符的位置必须连续,后者(子序列LCS)则不必。比如字符串acdfg同akdfc的最长公共子串为df,而他们的最长公共子序列是adf。 先放上大牛写...原创 2018-08-18 15:44:51 · 186 阅读 · 0 评论 -
HDU 3033 I love sneakers! (分组背包经典)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3033思路:这个题和一般的01背包,的区别就是它加了一个要求,每个品牌都要至少选择一件(1)保证每一个分组至少取一件的方法是,将数组dp[i][j]初始化为-1,其中dp[i][j]表示的是取到第 i 个品牌,花费为 j 的时候的最优值,那么最终要求的值就是dp[K][M](K为品牌数,M为钱)...原创 2018-08-16 13:36:32 · 196 阅读 · 0 评论 -
POJ 1837 Balance(dp01背包,你绝对能看懂的解析)
题目链接:http://poj.org/problem?id=1837 这个题拿到手光读题我就读了十多分钟愣是没明白,可怜自己的英语水平。也看了很多牛人们的Blog,可能是自己DP没学好,完全是似懂非懂,那个递推式 dp[i][j+l[k]*w[i]]+=dp[i-1][j],感觉自己很难理解好歹花了不少时间之后,能搞明白了,和你们分享分享自己的理解。题目大意:有一个...原创 2018-08-30 17:03:34 · 257 阅读 · 0 评论 -
HDU1257 最少拦截系统(DP最长上升子序列)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1257 中文的题目就不解释题意了,直接说思路 我用的是找出最长上升子序列的方法,因为在这个上升序列中的所有导弹都不能用同一个拦截系统,而且其余的导弹,都肯定能被和上升序列中 某一个相同的 拦截系统拦截,。AC代码:#include<iostream>#include&...原创 2018-08-28 11:46:18 · 243 阅读 · 0 评论 -
HDU 4526 拼车记(dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4526dp[i][j]表示前i辆车送走j个acmer的最小花费,然后就有dp[i][j]=dp[i-1][j-k]+k*t+d;(t为车辆到达的时间,d为花费),AC代码://dp[i][j]表示前i辆车载j个人花费的钱 #include<iostream>#inclu...原创 2018-08-29 11:43:19 · 222 阅读 · 0 评论 -
FZU - 2214 Knapsack problem(01背包变形)
题目:http://acm.fzu.edu.cn/problem.php?pid=2214思路:一眼看去只是普通的 01背包,然而数据范围让人无法下手。之前我们考虑前 i i 件物品装入容量为 v v 的背包所能获得的最大价值,换位思考一下,我们考虑前 i i 件物品组成价值为 w w 的最小体积,于是这道题就可以解出来啦~AC代码:#include<iostrea...原创 2018-09-11 14:58:18 · 197 阅读 · 0 评论 -
历届试题 包子凑数 (真·凑数)
问题描述 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。 每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2...原创 2019-03-09 14:35:17 · 282 阅读 · 0 评论