E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
DP_区间dp
UVA1351-----String Compression-----
区间DP
(记忆化搜索实现)
本文出自:http://blog.csdn.net/dr5459 题目地址: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4097 题目意思: 以下内容出自http://blog.csdn.net/shuangde800
·
2015-11-12 12:03
compression
POJ2955:Brackets(
区间DP
)
Description We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regular brackets sequence, if s is a regular brackets sequence, then (s) and [s
·
2015-11-12 11:35
rack
UVALive 4857 Halloween Costumes
区间dp
。对于最左边的点: 1、在该点穿的衣服只有该点用的到,即穿上就脱下。
·
2015-11-12 10:09
live
poj 3280 Cheapest Palindrome(
区间DP
)
Cheapest Palindrome Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5995 Accepted: 2922 Description Keeping track of all the cows can be
·
2015-11-12 10:29
heap
HDU 2517 / POJ 1191 棋盘分割
区间DP
/ 记忆化搜索
题目链接: 黑书 P116 HDU 2157 棋盘分割 POJ 1191 棋盘分割 分析: 枚举所有可能的切割方法. 但如果用递归的方法要加上记忆搜索, 不能会超时... 代码: #include<iostream> #include<cstdio> #include<cstring> #incl
·
2015-11-12 09:40
poj
poj 2288 Islands and Bridges_状态压缩
dp_
哈密尔顿回路问题
题目链接 题目描述:哈密尔顿路问题。n个点,每一个点有权值,设哈密尔顿路为 C1C2...Cn,Ci的权值为Vi,一条哈密尔顿路的值分为三部分计算: 1.每一个点的权值之和 2.对于图中的每一条CiCi+1,加上Vi*Vi+1 3.对于路径中的连续三个点:CiCi+1Ci+2,若在图中,三点构成三角形,则要加上Vi*Vi+1*Vi+2 求一条汉密尔顿路可以获得的最大值,并且还要输出有多少条这样的
·
2015-11-12 09:05
bridge
Vijos 1100 加分二叉树(树形DP)
题目链接 感觉和
区间DP
很类似,觉得还挺简单的,难得1Y,以前的时候直接没思路。。。
·
2015-11-12 09:18
二叉树
NYOJ 536 开心的mdd(
区间DP
)
题目链接 经典的
区间DP
问题,求解矩阵乘法的次数。按记忆化搜索写的。
·
2015-11-12 09:14
dp
HDU 4283 You Are the One(
区间DP
)
比赛的时候卡死在这里,以为是个简单的二维DP,思维被局限了,以前也没怎么做过
区间DP
,没做出,不过还是觉得理解了状态状态转移,代码什么的都是很短。
·
2015-11-12 09:27
HDU
区间dp
-hdu-4745-Two Rabbits
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4745 题目意思: 给n个环状的数,A、B两人沿相反的方向走,每单位时间走一步,要求相同时间两人到达相同的数,且同一位置同一个人不能走两次,走过的位置不能越过。 解题思路: 根据回文非连续序列的性质,从前往后,和从后往前序列是一样的,所以只用求出区间内最长的回文序列即可,又由于是环状,所以
·
2015-11-12 08:23
HDU
POJ 1651 Multiplication Puzzle(
区间DP
)
Multiplication Puzzle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6292 Accepted: 3814 Description The multiplication puzzle is played
·
2015-11-11 18:02
poj
HDU 4632 CF 245H
区间DP
(回文)
先说HDU 4632这道题,因为比较简单,题意就是给你一个字符串,然后给你一个区间,叫你输出区间内所有的回文子序列,注意是回文子序列,不是回文字串。 用dp[i][j]表示区间[i,j]内的回文子序列的个数。 那么可以得到状态转移方程:dp[i][j] = dp[i + 1][j] + dp[i][j - 1] - dp[i + 1][j - 1] + a[i] == a[j] 。 &nbs
·
2015-11-11 18:02
HDU
Codeforces13C–Sequence(
区间DP
)
题目大意 给定一个含有N个数的序列,要求你对一些数减掉或者加上某个值,使得序列变为非递减的,问你加减的值的总和最少是多少? 题解 一个很显然的结果就是,变化后的每一个值肯定是等于原来序列的某个值,因为只需要变为非递减的,所以对于某个数要么不变,要么变成左右附件的某个值。这样我们就可以根据前述条件得出DP方程了:dp[i][j]=min(dp[i][j-1],dp[i-1][j]+|a[i]-b
·
2015-11-11 17:44
codeforces
Codeforces335B - Palindrome(
区间DP
)
题目大意 给定一个长度不超过5*10^4的只包含小写字母的字符串,要求你求它的回文子序列,如果存在长度为100的回文子序列,那么只要输出长度为一百的回文子序列即可,否则输出它的最长回文子序列 题解 这个题很考验思维~~~相当不错的题,想到了就很简单,其实也就是充分利用题设。n的规模为5*10^4,如果不进行一些处理直接上O(n^2)算法肯定会超时,但是题目里有个很重要的条件,那就是如果存在长度
·
2015-11-11 17:42
codeforces
费用提前计算相关的DP(BZOJ2037,POJ3042,ZOJ3469)
在刷ZeroClock大神的
区间DP
专辑,遇见了ZOJ3469,完全不无从下手,然后有人说是论问题,推荐看徐源盛《对一类动态规划问题的研究》这篇论文,果断得膜拜了下,感觉好神奇,可以把未来的费用提前计算好
·
2015-11-11 17:40
poj
UVa11404 - Palindromic Subsequence(
区间DP
+打印路径)
题目大意 给定一个字符串,要求你删除尽量少的字符,使得原字符串变为最长回文串,并把回文串输出,如果答案有多种,则输出字典序最小的 题解 有两种解法,第一种是把字符串逆序,然后求两个字符串的LCS,并记录LCS,长度就等于最长回文串的长度,不过求出来的LCS不一定是回文串,例如下面这个例子 s = 1 5 2 4 3 3 2 4 5 1 reverse(s) = 1 5 4
·
2015-11-11 17:36
sequence
Codeforces149D - Coloring Brackets(
区间DP
)
题目大意 要求你对一个合法的括号序列进行染色,并且需要满足以下条件 1、要么不染色,要么染红色或者蓝色 2、对于任何一对括号,他们当中有且仅有一个被染色 3、相邻的括号不能染相同的颜色 题解 用
区间
·
2015-11-11 17:35
codeforces
Codeforces245H - Queries for Number of Palindromes(
区间DP
)
题目大意 给定一个字符串s,q个查询,每次查询返回s[l…r]含有的回文子串个数(题目地址) 题解 和有一次多校的题目长得好相似,这个是回文子串个数,多校的是回文子序列个数 用dp[i][j]表示,s[i..j]含有的回文子串个数,则dp[i][j]=dp[i][j-1]+dp[i+1][j]-dp[i+1][j-1]+flag[i][j](如果s[i..j]是回文子串则flag[i][j]
·
2015-11-11 17:34
codeforces
Codeforces10D–LCIS(
区间DP
)
题目大意 给定两个序列,要求你求出最长公共上升子序列 题解 LIS和LCS的合体,YY好久没YY出方程,看了网友的题解,主要是参考aikilis的,直接搬过来好了 经典的动态规划优化。 用opt[i][j]表示s[0..i-1]与t[0..j-1]的以t[j-1]结尾的最长上升公共子序列的长度,那么最后的答案是max{opt[n][j] | 1<=j<=m}。 当s[i-
·
2015-11-11 17:34
codeforces
POJ1159 - Palindrome(
区间DP
)
题目大意 给定一个字符串S,问最少插入多少个字符可以使字符串S变为回文串 题解 用dp[i][j]表示把字符串s[i…j]变为回文串需要插入的最小字符数 如果s[i]==s[j]那么dp[i][j]=dp[i+1][j-1] 如果s[i]!=s[j]那么dp[i][j]=min(dp[i+1][j],dp[i][j-1])+1 可以用滚动数组优化一下空间 代码: #include&l
·
2015-11-11 17:33
poj
POJ3356 – AGTC(
区间DP
&&编辑距离)
题目大意 给定字符串X和Y,可以对字符串进行一下三种操作: 1、删除一个字符 2、插入一个字符 3、替换一个字符 每个操作代价是1,问运用以上三种操作把X变为Y所需的最小步数是多少? 题解 定义dp[i][j]为把X的前i个字符转换为Y的前j个字符所需的最小步数 如果X[i]==Y[j]则dp[i][j]=dp[i-1][j-1] 如果X[i]!=Y[j]则dp[i][j]=min
·
2015-11-11 17:30
poj
POJ3280 - Cheapest Palindrome(
区间DP
)
题目大意 给定一个字符串,要求你通过插入和删除操作把它变为回文串,对于每个字符的插入和删除都有一个花费,问你把字符串变为回文串最少需要多少花费 题解 看懂题立马YY了个方程,敲完就交了,然后就A了,爽歪歪,哈哈~~~ dp[i][j]表示把s[i..j]变为回文的最小花费,设cost[0][ch-‘a’]和cost[1][ch-‘a’]分别为插入字符ch和删除字符ch的花费 如果s[i]=
·
2015-11-11 17:29
heap
POJ2192 - Zipper(
区间DP
)
题目大意 给定三个字符串s1,s2,s3,判断由s1和s2的字符能否组成字符串s3,并且要求组合后的字符串必须是s1,s2中原来的顺序、 题解 用dp[i][j]表示s1的前i个字符和s2的前j个字符能否组成s3的前i+j个字符,有两个子问题,dp[i-1][j]和dp[i][j-1],如果dp[i-1][j]为真并且s1[i]==s3[i+j]或者dp[i][j-1]为真并且s2[j]==s
·
2015-11-11 17:28
zip
UVa11584 - Partitioning by Palindromes(
区间DP
)
题目大意 给定一个小写字母组成的字符串S,你的任务是划分成尽量少的回文串 题解 方程就是dp[j]=min(dp[i-1]+1)(i<=j,s[i..j]是回文串) 代码: #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> usin
·
2015-11-11 17:27
partition
hdu 4597 Play Game(
区间dp
)
本文出自 http://blog.csdn.net/shuangde800 题目链接: hdu-4597 题意 Alice和Bob玩一个游戏,有两个长度为N的正整数数字序列,每次他们两个 只能从其中一个序列,选择两端中的一个拿走。他们都
·
2015-11-11 16:58
game
hdu 1231 最大连续子序列(dp)
id=17322 裸最大连续子序列 竟然差点拿来当
区间dp
来做= = #include<cstdio> #include<algorithm
·
2015-11-11 16:22
HDU
NYOJ 题目15 括号匹配(二)(
区间DP
)
思路 : 本来以为只是个小模拟,没想到是个
区间DP
,还是对DP不了解。 DP[i][j]代表着从字符串 i 位置到 j 位置需要的最小括号匹配。
·
2015-11-11 15:44
dp
POJ 1141 Brackets Sequence(
区间DP
)
Brackets Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 25861 Accepted: 7281 Special Judge Description Let us de
·
2015-11-11 13:03
sequence
2012CSU_ACM集训中期检测 简要题解
F:重启
区间DP
。可以发现,每次重启的机器一定是当前两端机器的其中一个。 G:维护序列 线段树。记录
·
2015-11-11 12:55
2012
POJ 2671 Jimmy's Bad Day ★ (
区间DP
)
题目大意:一个圆圈中有很多n个点(包括起点),其中除了起点外其他点除都有需要送的包裹。现在已经迟到了,而每到一个点处送了包裹都要因为迟到而每迟到1min扣和包裹数相同的钱。给定n和每个点的包裹数还有前一个点到下一个点的时间(来回一样),求最少需要赔的钱。 一类折线问题的DP --- 以某个点位中心,不断扩展两边折返,形成区间更新 clock_time[i]0到i点时间。顺时针 ant
·
2015-11-11 12:25
poj
POJ 1991 Turning in Homework ★(
区间DP
)
题目大意:在一条长为 H (0..1000) 的走廊上有 C (0..1000) 个教室,Bessie 需要去每个教室都交一次作业。每个作业有个最早可以提交的时间。Bessie 在交完所有作业后需要去走廊的 B (0<=B<=H) 位置离开。给出 C 个教室的位置,和相应作业最早可以提交的时间 (0..10,000),求出 Bessie 最早的离开时间。(Bessie 一开始在走廊的一
·
2015-11-11 12:24
home
POJ 2671 Jimmy's Bad Day ★ (
区间DP
)
题目大意:一个圆圈中有很多n个点(包括起点),其中除了起点外其他点除都有需要送的包裹。现在已经迟到了,而每到一个点处送了包裹都要因为迟到而每迟到1min扣和包裹数相同的钱。给定n和每个点的包裹数还有前一个点到下一个点的时间(来回一样),求最少需要赔的钱。 一类折线问题的DP --- 以某个点位中心,不断扩展两边折返,形成区间更新 clock_time[i]0到i点时间。顺时针 ant
·
2015-11-11 12:24
poj
POJ 1991 Turning in Homework ★(
区间DP
)
题目大意:在一条长为 H (0..1000) 的走廊上有 C (0..1000) 个教室,Bessie 需要去每个教室都交一次作业。每个作业有个最早可以提交的时间。Bessie 在交完所有作业后需要去走廊的 B (0<=B<=H) 位置离开。给出 C 个教室的位置,和相应作业最早可以提交的时间 (0..10,000),求出 Bessie 最早的离开时间。(Bessie 一开始在走廊的一
·
2015-11-11 12:23
home
hdu 4597 Play Game (记忆化搜索
区间dp
)
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; int dp[30][30][30][30]; int vis[30]
·
2015-11-11 10:28
game
UVA - 10891 Game of Sum(记忆化搜索
区间dp
)
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; int a[100+10]; int dp[120][120]; i
·
2015-11-11 10:27
game
CSU 1616: Heaps(
区间DP
)
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1616 1616: Heaps Time Limit: 2 Sec Memory Limit: 128 MB Submit: 48 Solved: 9 [ Submit][ Status][ Web Board] Descri
·
2015-11-11 10:17
heap
POJ 2955 Brackets(
区间DP
)
题目链接 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <vector> 5 #include <cmath> 6 #include <algorithm> 7 using namespace s
·
2015-11-11 04:35
rack
URAL 1635. Mnemonics and Palindromes(DP)
题目链接 本来用
区间DP
,3次方的复杂度,T了,看了看题解,降维,直接二次方的复杂度可以解。然后折腾一下输出路径。。终于过了。
·
2015-11-11 04:11
ROM
nyoj 1023——还是回文——————【
区间dp
】
还是回文 时间限制: 2000 ms | 内存限制:65535 KB 难度: 3 描述 判断回文串很简单,把字符串变成回文串也不难。现在我们增加点难度,给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费。那么,将字符串变成回文串的最小花费是多少呢?
·
2015-11-11 02:52
dp
BNU7538——Clickomania——————【
区间dp
】
Clickomania Time Limit: 10000ms Memory Limit: 32768KB 64-bit integer IO format: %I64d Java class name: Main Submit Status PID: 7538 C
·
2015-11-11 02:33
click
FZU2177——ytaaa——————【
区间dp
】
ytaaa Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Practice 
·
2015-11-11 02:09
dp
HDU4745 - Two Rabbits(
区间DP
)
题目大意 给出一个长度为n的环状序列,两只兔子各自从一个点出发,一个顺时针跳,一个逆时针跳,每个时刻都要求两只兔子所在的数字是相同的,兔子最多跳一个圈~~~问兔子们最多能跳多少次 题解 一个逆时针跳,一个顺时针跳,经过的数字刚好组成了一个回文串,所以题目的要求就是求最长的回文,不过序列是环状的!怎么办?我们看看样例:2 1 1 2 1 3 答案是5 即2 1 1 2 1 3,其实就是[1,4
·
2015-11-11 00:49
HDU
hdu 5115 Dire Wolf
pid=5115题目分类:
区间dp
题意:有n只狼,每只狼有两种属性,一种攻击力一种附加值,我们没杀一只狼,那么我们受到的伤害值为这只狼的攻击值与它旁边的两只狼的附加值的和,求把所有狼都杀光受到的最小的伤害值
唯爱与代码,不可辜负
·
2015-11-10 21:00
POJ1505:Copying Books(
区间DP
)
Description Before the invention of book-printing, it was very hard to make a copy of a book. All the contents had to be re-written by hand by so called scribers. The scriber had been given a book an
·
2015-11-09 13:07
copy
HDU 4632 Palindrome subsequence (
区间DP
)
思路 注意到任意一个回文子序列收尾两个字符一定是相同的,于是可以
区间dp
,用dp[i][j]表示原字符串中[i,j]位置中出现的回文子序列的个数,有递推关系: dp[i][j]=dp[i+1][j]+dp
·
2015-11-08 16:04
sequence
HDU 4632 Palindrome subsequence (
区间DP
)
思路 注意到任意一个回文子序列收尾两个字符一定是相同的,于是可以
区间dp
,用dp[i][j]表示原字符串中[i,j]位置中出现的回文子序列的个数,有递推关系: dp[i][j]=dp[i+1][j]+dp
·
2015-11-08 16:47
sequence
HDU4745 - Two Rabbits(
区间DP
)
题目大意 给出一个长度为n的环状序列,两只兔子各自从一个点出发,一个顺时针跳,一个逆时针跳,每个时刻都要求两只兔子所在的数字是相同的,兔子最多跳一个圈~~~问兔子们最多能跳多少次 题解 一个逆时针跳,一个顺时针跳,经过的数字刚好组成了一个回文串,所以题目的要求就是求最长的回文,不过序列是环状的!怎么办?我们看看样例:2 1 1 2 1 3 答案是5 即2 1 1 2 1 3,其实就是[1,4
·
2015-11-08 16:24
HDU
[除草]BZOJ 1413 [ZJOI2009]取石子游戏
在尝试SG函数,
区间DP
无果后, 在Discuss的诱导下注意到对于一段区间[L, R], 若L+1到R的石
·
2015-11-08 16:21
413
poj2955:括号匹配,
区间dp
题目大意: 给一个由,(,),[,]组成的字符串,其中(),[]可以匹配,求最大匹配数 题解:
区间dp
: dp[i][j]表示区间 [i,j]中的最大匹配数 初始状态 dp[i][i+1]=(i
·
2015-11-08 14:24
poj
BZOJ 1090 字符串折叠(
区间DP
)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1090 题意:字符串AAAAAAAAAABABABCCD的最短折叠为9(A)3(AB)CCD,注意数字的长度和圆括号都算最后长度。求一种折叠方式使得总长度最小。 思路:f[L][R]=min(R-L+1,f[L][i]+f[i+1][R]),另外若[L,R]能由[i+1,R]重复若干次
·
2015-11-08 11:15
字符串
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他