
DP
我在浪里
I LOVE Coding,冲刺中。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
leetcode t10-正则表达式匹配(DP,记忆化搜索)
//设dp[i][j]为s到第i个字符,p到第j个字符,模式是否匹配 class Solution { public: vector<vector<int>> dp; bool dfs(string s, string p, int i, int j){ if(dp[i][j]!=-1)return dp[i][j]; if(j>=p.size()) return (i>=s.size()); bool r.原创 2020-10-05 20:55:49 · 257 阅读 · 0 评论 -
数位DP-区间阶梯数之和
任意相邻2位差的绝对值不大于1的数为阶梯数(和windy数恰好相反),譬如:121,456543现在给到一个数m,求10到m之间所有阶梯数的和。 #include<iostream> #include<algorithm> #include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<cmath> #include<q.原创 2020-08-21 09:00:01 · 279 阅读 · 0 评论 -
leetcode t17.13-恢复空格
面试题 17.13. 恢复空格 难度中等75收藏分享切换为英文关注反馈 哦,不!你不小心把一个长篇文章中的空格、标点都删掉了,并且大写也弄成了小写。像句子"I reset the computer. It still didn’t boot!"已经变成了"iresetthecomputeritstilldidntboot"。在处理标点符号和大小写之前,你得先把它断成词语。当然了,你有一本厚厚的词典dictionary,不过,有些词没在词典里。假设文章用sentence表示,设计一个算法,把文章断开,要求原创 2020-07-09 14:00:37 · 297 阅读 · 0 评论 -
leetcode t63-不同路径II
63. 不同路径 II 难度中等347收藏分享切换为英文关注反馈 一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用1和0来表示。 说明:m和n的值均不超过 100。 示例1: 输入: [ [0,0,0], [0,1,0], ...原创 2020-07-06 16:56:07 · 229 阅读 · 0 评论 -
leetcode t5-最长回文子串
5. 最长回文子串 难度中等2242收藏分享切换为英文关注反馈 给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb" 动态规划 class Solution { public: string longestPalindrome(string s){ int i,j,l,n=s....原创 2020-05-26 23:14:29 · 204 阅读 · 0 评论 -
hzau1200——Choosy in Food(概率DP+高斯消元)
1200: Choosy in Food Time Limit: 1 Sec Memory Limit: 1280 MB Submit: 23 Solved: 2 [Submit][Status][Web Board] Description Xiao Ming find n trees (labeled 0...n-1) which join a circle原创 2017-04-25 11:52:02 · 663 阅读 · 0 评论 -
sdut1309——不老的传说问题(区间DP)
不老的传说问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description 一位先知告诉dynamic,在遥远的地方,有一处不老的泉水,在那里,他可以找到他人生的意义。按照先知的指引,dynamic出发了。翻越雪山,穿过丛林,渡过汪洋,终于来到了沙漠的最深处。按原创 2017-05-03 14:31:53 · 570 阅读 · 0 评论 -
CF_55D——Beautiful numbers(离散化数位DP)
D. Beautiful numbers time limit per test 4 seconds memory limit per test 256 megabytes input standard input output standard output Volodya is an odd boy and his taste is strange as well. It s原创 2017-04-20 21:43:27 · 345 阅读 · 0 评论 -
sdut2878——Circle(高斯消元求期望)
Circle Time Limit: 2000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 You have been given a circle from 0 to n - 1. If you are currently at x, you will move to (x - 1) mod n or (x + 1) mod原创 2017-04-20 19:42:18 · 317 阅读 · 0 评论 -
poj3744——Scout YYF I(概率DP+矩阵快速幂)
Scout YYF I Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8564 Accepted: 2510 Description YYF is a couragous scout. Now he is on a dangerous mission whic原创 2017-04-12 21:43:35 · 274 阅读 · 0 评论 -
13年山东省赛——The number of steps
The number of steps Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Mary stands in a strange maze, the maze looks like a triangle(the first layer have one room,the se原创 2017-04-13 21:15:37 · 241 阅读 · 0 评论 -
hdu2089——不要62(数位DP入门)
题意 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所原创 2017-04-14 13:36:56 · 265 阅读 · 0 评论 -
BZOJ1026——windy数(数位DP)
题意:数位dp 限制条件是相邻两个数差至少为2 预处理dp数组 dp[i][j]表示i为高位且i位为数字j时满足题意的种数。 因为要判断最高位和前导0 当最高位枚举的时候,可以是0,从前到后一直是0也可以,但是这个数是0,并且只能算作一次 所以呢,记忆化的时候,需要一个bool变量,z z为1,说明之前枚举的高位已经有值了 z为0,说明之前枚举的高位一直是0,如果原创 2017-04-14 14:50:49 · 253 阅读 · 0 评论 -
hdu2476——String painter(区间DP)
String painter Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4080 Accepted Submission(s): 1904 Problem Description There are two s原创 2017-05-03 15:10:43 · 236 阅读 · 0 评论 -
区间DP入门——石子合并问题
石子合并问题是最经典的DP问题。首先它有如下3种题型: (1)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。 分析:当然这种情况是最简单的情况,合并的是任意两堆,直接贪心即可,每次选择最小的两堆合并。本问题实际上就是哈夫曼的变形。转载 2017-05-03 15:58:02 · 596 阅读 · 0 评论 -
hdu4352——XHXJ's LIS(数位DP+状压)
引用:最长上升子序列nlogn算法 在川大oj上遇到一道题无法用n^2过于是,各种纠结,最后习得nlogn的算法 最长递增子序列,Longest Increasing Subsequence 下面我们简记为 LIS。 排序+LCS算法 以及 DP算法就忽略了,这两个太容易理解了。 假设存在一个序列d[1..9] = 2 1 5 3 6 4 8 9 7,可以看出来它的LI原创 2017-04-22 17:13:48 · 423 阅读 · 0 评论 -
hdu4418——Time travel(概率DP+高斯消元)
Time travel Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 560 Accepted Submission(s): 86 Problem Description Agent K is on原创 2017-04-25 11:59:12 · 696 阅读 · 1 评论 -
sdut2879——Colorful Cupcakes(枚举终点记忆化搜索)
Colorful Cupcakes Time Limit: 2000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Description Beaver Bindu has N cupcakes. Each cupcake has one of three possible colors. In this原创 2017-04-27 21:37:38 · 510 阅读 · 0 评论 -
K好数(简单DP)
问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。 输入格式 输入包含两个正整数,K和L。 输出格式 输出一个整数,表示答案对1000000007取模...原创 2019-01-30 15:16:39 · 231 阅读 · 0 评论 -
有趣的数(动态规划DP)
时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不为0。 因此,符合我们定义的最小的有趣的数是...原创 2019-02-18 14:49:55 · 293 阅读 · 0 评论 -
12-4 DNA比对
脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子。它由4种主要的脱氧核苷酸(dAMP、dGMP、dCMT和dTMP)通过磷酸二酯键连接而成。这4种核苷酸可以分别记为:A、G、C、T。 DNA携带的遗传信息可以用形如:AGGTCGACTCCA.... 的串来表示。DNA在转录复制的过程中可能会发生随机的偏差,这才最终造就了生物的多样性。 为了简化问题,我们假设,DNA在...原创 2019-04-23 21:25:07 · 459 阅读 · 0 评论 -
立方体堆塔(DP/记忆化搜索)
dp[i][j]:第i层用第j种方块的方案数 #include<stdio.h> #include<string.h> #include<math.h> #define mod 1000000007 int dp[500][2],n; int dfs(int w, int b,int lev,int op) { if(dp...原创 2019-06-03 10:59:50 · 560 阅读 · 0 评论 -
数位DP导学模板
转自:http://blog.csdn.net/corncsd/article/details/44309933 kb大神题目链接 数位DP的记忆化搜索形式比一般递推形式好写多了,而且一般不容易出错。 dfs求[0,n]有多少个符合的,先把n换成字符串形式。 cur:现在处理到哪一位。 s:搜索到目前为止,之前的状态,具体什么状态看情况而定。转载 2017-04-14 14:52:22 · 245 阅读 · 0 评论 -
hdu3652——B-number(数位DP)
B-number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1658 Accepted Submission(s): 906 Problem Description A wqb-number, or B-num原创 2017-04-14 16:01:49 · 235 阅读 · 0 评论 -
hdu4734——F(x) (数位DP)
F(x) Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5174 Accepted Submission(s): 1932 Problem Description For a decimal number x wit原创 2017-04-14 21:11:45 · 272 阅读 · 0 评论 -
第五届蓝桥杯——地宫取宝记忆化
地宫取宝 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。 请你帮小原创 2017-04-01 22:39:34 · 265 阅读 · 0 评论 -
sdut3565——Feed the monkey(记忆化DP)
Feed the monkey Time Limit: 2000MS Memory Limit: 131072KB Submit Statistic Discuss Problem Description Alice has a monkey, she must feed fruit to the monkey every day.She has three kinds o原创 2017-04-29 20:20:37 · 425 阅读 · 0 评论 -
区间DP——矩阵乘法
问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最少需要多少次运算。 两个大小分别为p*q和q*r的矩阵相乘时的运算次数计为p*q*r。 输入格式 输入的第一行包含一个整数n,表示矩阵的个数。 第二行包含n+1个数,表示给定的矩阵。 输出格式 输出原创 2017-04-05 13:19:09 · 307 阅读 · 0 评论 -
poj2096——概率DP
Collecting Bugs Time Limit: 10000MS Memory Limit: 64000K Total Submissions: 5371 Accepted: 2656 Case Time Limit: 2000MS Special Judge Description Ivan is fon原创 2017-04-12 17:48:19 · 284 阅读 · 0 评论 -
poj3280 最小代价回文串
形成回文串的最小代价(代价1) for(int k=1;k { for(int i=0,j=k;j { dp[i][j]=0x3f3f3f3f; if(s[i]==s[j])原创 2017-03-16 18:49:27 · 494 阅读 · 0 评论 -
poj1191——分割棋盘求最小均方差,记忆化搜索
我的记忆化搜索啊。。。这貌似不是我写的代码555,我的找不到了 #include #include using namespace std; #define MIN(a, b) a>b?b:a const int size = 9; const int nMax = 15; const int inf = 10000000; //我有个小疑惑,不能将inf初始化为原创 2017-04-01 21:28:48 · 418 阅读 · 0 评论 -
矩阵乘法——区间DP
问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要将它们依次相乘,只能使用结合率,求最少需要多少次运算。 两个大小分别为p*q和q*r的矩阵相乘时的运算次数计为p*q*r。 输入格式 输入的第一行包含一个整数n,表示矩阵的个数。 第二行包含n+1个数,表示给定的矩阵。 输出格式 输出原创 2017-03-31 20:31:53 · 761 阅读 · 0 评论 -
最长公共上升子序列
转自: http://blog.csdn.net/wall_f/article/details/8279733 定义状态 F[i][j]表示以a串的前i个整数与b串的前j个整数且以b[j]为结尾构成的LCIS的长度。 状态转移方程: ①F[i][j] = F[i-1][j] (a[i] != b[j]) ②F[i][j] = max(F[i-1][k]+1)转载 2017-04-09 21:19:32 · 366 阅读 · 0 评论 -
最长回文子串——DP
dp[i][j] 从i到j的子序列是否是回文 #include "cxf_acm.h" typedef long long ll; #define PI 3.1415926535897932 #define E 2.718281828459045 #define INF 0x3f3f3f3f #define mod 123456789 const int M=1005;原创 2017-03-28 13:16:43 · 342 阅读 · 0 评论 -
背包DP——波动数列
问题描述 观察这个数列: 1 3 0 2 -1 1 -2 ... 这个数列中后一项总是比前一项增加2或者减少3。 栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢? 输入格式 输入的第一行包含四个整数 n s a b,含义如前面说述。 输出格式 输出一行,包含一个整原创 2017-04-06 16:14:28 · 218 阅读 · 0 评论 -
求0-1背包方案数
//求方案总数 /* f[0][0]=1; f[i][v]=sum(f[i-1][v],f[i-1][v-c[i]]); */ //求最优方案数 /* g[][]=1; f[0][]=f[][0]=0; f[i][v]=max(f[i-1][v],f[i-1][v-c[i]]+v[i]) if(f[i][v]==f[i-1][v-c[i]]+v[i]) g[i][v]转载 2017-04-06 16:21:09 · 467 阅读 · 0 评论 -
URAL2018——The Debut Album(DP)
G - The Debut Album Pop-group “Pink elephant” entered on recording their debut album. In fact they have only two songs: “My love” and “I miss you”, but each of them has a large number of remixes原创 2017-04-30 21:53:15 · 334 阅读 · 0 评论 -
HDU 4507 吉哥系列故事——恨7不成妻 数位DP
吉哥系列故事——恨7不成妻 Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submission(s): 746 Accepted Submission(s): 227 Problem Description 单身! 依然单身! 吉哥依原创 2017-04-15 22:03:01 · 331 阅读 · 0 评论 -
hdu3555——Bomb
题意:给定一个数n,求0-n内包含“49”数的个数 #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; #define PI 3.14159原创 2017-04-16 21:57:31 · 221 阅读 · 0 评论 -
spoj10606——BALNUM - Balanced Numbers
BALNUM - Balanced Numbers no tags Balanced numbers have been used by mathematicians for centuries. A positive integer is considered a balanced number if: 1) Every even digit app原创 2017-04-17 21:56:19 · 336 阅读 · 0 评论