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 · 200 阅读 · 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 · 197 阅读 · 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 · 169 阅读 · 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 · 141 阅读 · 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 · 137 阅读 · 0 评论 -
hzau1200——Choosy in Food(概率DP+高斯消元)
1200: Choosy in FoodTime Limit: 1 Sec Memory Limit: 1280 MBSubmit: 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 · 610 阅读 · 0 评论 -
sdut1309——不老的传说问题(区间DP)
不老的传说问题Time Limit: 1000MS Memory Limit: 65536KB SubmitStatistic Discuss Problem Description一位先知告诉dynamic,在遥远的地方,有一处不老的泉水,在那里,他可以找到他人生的意义。按照先知的指引,dynamic出发了。翻越雪山,穿过丛林,渡过汪洋,终于来到了沙漠的最深处。按原创 2017-05-03 14:31:53 · 500 阅读 · 0 评论 -
CF_55D——Beautiful numbers(离散化数位DP)
D. Beautiful numberstime limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputVolodya is an odd boy and his taste is strange as well. It s原创 2017-04-20 21:43:27 · 306 阅读 · 0 评论 -
sdut2878——Circle(高斯消元求期望)
CircleTime 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 · 277 阅读 · 0 评论 -
poj3744——Scout YYF I(概率DP+矩阵快速幂)
Scout YYF ITime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8564 Accepted: 2510DescriptionYYF is a couragous scout. Now he is on a dangerous mission whic原创 2017-04-12 21:43:35 · 240 阅读 · 0 评论 -
13年山东省赛——The number of steps
The number of stepsTime 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 · 203 阅读 · 0 评论 -
hdu2089——不要62(数位DP入门)
题意杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 88914 都属于不吉利号码。但是,61152虽然含有6和2,但不是62连号,所原创 2017-04-14 13:36:56 · 203 阅读 · 0 评论 -
BZOJ1026——windy数(数位DP)
题意:数位dp 限制条件是相邻两个数差至少为2 预处理dp数组 dp[i][j]表示i为高位且i位为数字j时满足题意的种数。因为要判断最高位和前导0当最高位枚举的时候,可以是0,从前到后一直是0也可以,但是这个数是0,并且只能算作一次所以呢,记忆化的时候,需要一个bool变量,zz为1,说明之前枚举的高位已经有值了z为0,说明之前枚举的高位一直是0,如果原创 2017-04-14 14:50:49 · 213 阅读 · 0 评论 -
hdu2476——String painter(区间DP)
String painterTime Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4080 Accepted Submission(s): 1904Problem DescriptionThere are two s原创 2017-05-03 15:10:43 · 208 阅读 · 0 评论 -
区间DP入门——石子合并问题
石子合并问题是最经典的DP问题。首先它有如下3种题型:(1)有N堆石子,现要将石子有序的合并成一堆,规定如下:每次只能移动任意的2堆石子合并,合并花费为新合成的一堆石子的数量。求将这N堆石子合并成一堆的总花费最小(或最大)。分析:当然这种情况是最简单的情况,合并的是任意两堆,直接贪心即可,每次选择最小的两堆合并。本问题实际上就是哈夫曼的变形。转载 2017-05-03 15:58:02 · 456 阅读 · 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 · 349 阅读 · 0 评论 -
hdu4418——Time travel(概率DP+高斯消元)
Time travelTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 560 Accepted Submission(s): 86Problem DescriptionAgent K is on原创 2017-04-25 11:59:12 · 619 阅读 · 1 评论 -
sdut2879——Colorful Cupcakes(枚举终点记忆化搜索)
Colorful CupcakesTime Limit: 2000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem DescriptionBeaver Bindu has N cupcakes. Each cupcake has one of three possible colors. In this原创 2017-04-27 21:37:38 · 437 阅读 · 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 · 185 阅读 · 0 评论 -
有趣的数(动态规划DP)
时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 3. 最高位数字不为0。 因此,符合我们定义的最小的有趣的数是...原创 2019-02-18 14:49:55 · 224 阅读 · 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 · 387 阅读 · 0 评论 -
立方体堆塔(DP/记忆化搜索)
dp[i][j]:第i层用第j种方块的方案数#include<stdio.h>#include<string.h>#include<math.h>#define mod 1000000007int dp[500][2],n;int dfs(int w, int b,int lev,int op){ if(dp...原创 2019-06-03 10:59:50 · 478 阅读 · 0 评论 -
数位DP导学模板
转自:http://blog.csdn.net/corncsd/article/details/44309933kb大神题目链接数位DP的记忆化搜索形式比一般递推形式好写多了,而且一般不容易出错。 dfs求[0,n]有多少个符合的,先把n换成字符串形式。 cur:现在处理到哪一位。 s:搜索到目前为止,之前的状态,具体什么状态看情况而定。转载 2017-04-14 14:52:22 · 186 阅读 · 0 评论 -
hdu3652——B-number(数位DP)
B-numberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1658 Accepted Submission(s): 906Problem DescriptionA wqb-number, or B-num原创 2017-04-14 16:01:49 · 191 阅读 · 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): 1932Problem DescriptionFor a decimal number x wit原创 2017-04-14 21:11:45 · 212 阅读 · 0 评论 -
第五届蓝桥杯——地宫取宝记忆化
地宫取宝X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小原创 2017-04-01 22:39:34 · 218 阅读 · 0 评论 -
sdut3565——Feed the monkey(记忆化DP)
Feed the monkeyTime Limit: 2000MS Memory Limit: 131072KBSubmit Statistic DiscussProblem DescriptionAlice has a monkey, she must feed fruit to the monkey every day.She has three kinds o原创 2017-04-29 20:20:37 · 352 阅读 · 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 · 257 阅读 · 0 评论 -
poj2096——概率DP
Collecting BugsTime Limit: 10000MS Memory Limit: 64000KTotal Submissions: 5371 Accepted: 2656Case Time Limit: 2000MS Special JudgeDescriptionIvan is fon原创 2017-04-12 17:48:19 · 243 阅读 · 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 · 417 阅读 · 0 评论 -
poj1191——分割棋盘求最小均方差,记忆化搜索
我的记忆化搜索啊。。。这貌似不是我写的代码555,我的找不到了#include #include using namespace std;#define MIN(a, b) a>b?b:aconst int size = 9;const int nMax = 15;const int inf = 10000000; //我有个小疑惑,不能将inf初始化为原创 2017-04-01 21:28:48 · 378 阅读 · 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 · 655 阅读 · 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 · 303 阅读 · 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 123456789const int M=1005;原创 2017-03-28 13:16:43 · 229 阅读 · 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 · 184 阅读 · 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 · 385 阅读 · 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 · 285 阅读 · 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): 227Problem Description 单身! 依然单身! 吉哥依原创 2017-04-15 22:03:01 · 278 阅读 · 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 · 186 阅读 · 0 评论 -
spoj10606——BALNUM - Balanced Numbers
BALNUM - Balanced Numbersno 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 · 251 阅读 · 0 评论