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
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
字符串
ZOJ 3469 Food Delivery(
区间DP
)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4255 题意:n个人订餐。n个人位于一条线上,饭店也在这条线上。每个人有一个脾气值p。若第i分钟得到他预定的饭不满意度为p*i。送饭人的速度已知。求一种送饭顺序使得总不满意度最小。 思路:设f[i][j][0],f[i] [j][1]分别表示将[i,j]区间的送完,
·
2015-11-08 11:15
live
HDU 4412 Sky Soldiers(
区间DP
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4412 题意:n个跳伞者,落地后,每个跳伞者可能会落在若干个点上,落在每个点都有一个概率(所有人都会落在x轴上)。现在在x轴上建立m个大本营,每个跳伞者走到最近的大本营。确定大本营建立的地点使得所有跳伞者所走的路程的期望最小? 思路:题目最后等价于若干个点,每个点有一
·
2015-11-08 11:16
HDU
USACO / A Game (经典
区间DP
)
A Game游戏 IOI'96 - Day 1 有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的两端取数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束。以最终得分多者为胜。 描述 编一个执行最优策略的程序,最优策略就是使玩家在与最好的对手对弈时,能得到的在当前情况下最大的可
·
2015-11-07 15:00
USACO
HDU 5396 Expression(
区间DP
,排列组合)
http://acm.hdu.edu.cn/showproblem.php?pid=5396思路很特别。大神的详细题解:http://www.cnblogs.com/chenchengxun/p/4741439.html对于加减法,分成左右两块的话,对于左边的某一种运算情况,都要和右边的所有情况匹配,所以【左边】*【右边的全排列】。右边同理。特别拎出来乘法为什么不用乘上全排列:假设我们dp[i][
cacyth
·
2015-11-07 12:00
[Swust OJ 360]--加分二叉树(
区间dp
)
题目链接:http://acm.swust.edu.cn/problem/360/ Time limit(ms): 1000 Memory limit(kb): 65535 Description 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为
·
2015-11-07 10:05
360
区间DP
——石子合并问题
述 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。 输入 有多组测试数据,输入到文件结束。 每组测试数据第一行有一个整数n,表示有n堆石子。
·
2015-11-07 10:21
dp
codeferces 149D Coloring Brackets
区间dp
http://codeforces.com/problemset/problem/149/D 题目大致意思是给你一串字符串,只有小括号,并且已经符合括号匹配规则,现在要给这些括号涂色,给出一些涂色规则,求涂色的方案数。 1: 括号要么不被涂色,要么被涂成蓝色,要么被涂成红色。 2:两个相互匹配的括号有且仅有一个被涂色。 3:相邻两个括号不可以有相同颜色。 这里当然也是想到
·
2015-11-07 10:09
color
上一页
26
27
28
29
30
31
32
33
下一页
按字母分类:
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
其他