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
poj 3671 3670——
简单DP
大意:给你一串只有1,2的数字,让你改变最少的次数,让这个序列变成非递减的。 先开始看这个题目,完全不会做,去网上百度了一下,居然说这个题是求最长非递减子序列的长度,但是用nlogn算法求非严格递增的子序列长度我不会,只能另想办法。在网上搜到了一个神码,我现在都不知道为什么: #include<cstdio>int i,n,a,f[3]={0};int main(){ sc
·
2015-11-13 06:17
poj
poj 2181 Jumping Cows ——
简单DP
大意:一群牛想要跳到月亮上面去,但是他们现在跳的能力为零。现在给你一些药水,能改变他们跳的能力。不能改变药水的顺序。当跳奇数跳的时候,就增加,当跳偶数跳的时候就减少。药水是可以跳过不喝的。 先开始想的是把最大值最小值用一个二维数组表示,结果怎么想都想不出来,主要还是想到了要记步数,后来才去看解题报告,上面说什么开个二维数组,可以表示奇数步和偶数步。 选与不选这个问题,在代码里面说明吧~~~
·
2015-11-13 06:15
ping
HDU1267 dp
简单dp
dp[ i ][ j ]=dp[ i-1 ][ j ](放一个H得到dp[ i ][ j ])+dp[ i ][ j-1 ]( 放一个D得到dp[ i ][ j ]); 注意初始化
·
2015-11-13 06:55
HDU
hdu1260(dp)
pid=1260 分析:
简单dp
,dp[i]=min(dp[i-1]+a[i],dp[i-2]); #include <cstdio> #include
·
2015-11-13 06:46
HDU
SPOJ 364 Pocket Money
简单DP
跟矩阵链乘同类型的题…… 输出用%llu不是%I64u…… 几组数据: 141+2*4+3*4+5*00*5*6+7*3+23+0+6+7+0+44*5+7*1*1+12*0+3*4*0+5*6+7+81+2+3*1+2*1+00+2*2+3*0+48*9*0+22*0+1+0*32*0*3+7+1*0*31+3*0*5+21+1+1+1+12*1+1+2*1+2*1+61*2*4*0*6*
·
2015-11-13 03:11
poj
POJ1992+
简单DP
题意不难理解 dp[ i ][ j ] = dp[ i-1 ][ j ]+dp[ i ][ j-1 ]; View Code 1 /* 2 dp 3 */ 4 #include<stdio.h> 5 #include<string.h> 6 const int maxn = 1005; 7 int dp[ maxn ][ maxn ]
·
2015-11-13 02:58
poj
HDU1069
简单DP
题意: 给定一些block的xyz坐标。 求使得某些block叠起来得到的最大高度。
·
2015-11-13 02:19
HDU
SRM 501 DIV2悲剧
250的题,一上来看就是一个水题,但是写复杂了,208分收场 500分的题,开始以为是个
简单DP
,写出来发现原来可以有负数,再改分类讨论,就挂了一组数据当nB为0的时候的数据挂了…… 改后的代码
·
2015-11-13 02:22
div
【HDU 1058 & HDU 3199 类似丑数】
简单DP
思想
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058(1058) http://acm.hdu.edu.cn/showproblem.php?pid=3199 (3199) 题目大意:给你四个素数2,3,5,7,只由它们四个组成
·
2015-11-13 02:00
HDU
HDU 1257 最少拦截系统
简单DP
题目链接http://acm.hdu.edu.cn/showproblem.php?
·
2015-11-13 00:15
HDU
sdut2536字母哥站队(dp)
简单DP
说是简单 还是推了好一会 推出来觉得好简单 保留当前i的最小值 dp[i] = min(dp[i],dp[j]+i-j-1) j<i 1 #include <
·
2015-11-13 00:12
dp
POJ2004 Mix and build Trie树? dp?
学习Trie树中,所以上网搜一下Trie树的题,找到这个,人家写着是
简单dp
,那我就想着能学习到什么Trie树上的dp,但最后发现根本好像跟Trie树没有什么联系嘛...
·
2015-11-12 22:39
Build
POJ1953(World Cup Noise)
题目链接
简单DP
题。
·
2015-11-12 22:48
poj
uva1366_Martian Mining_
简单DP
题目不难,却想了好长时间,目测自己DP还是很水。。。囧 思路:舍f[i][j]为前i行j列的最大矿总量不难推出状态转移方程为f[i][j]=max(f[i-1][j]+line[i][j],f[i][j-1]+row[j][i]) 其中line[i][j]为第i行前j个A矿的和(a[i][1]+a[i][2]+...+a[i][j]),row[i][j]为第i列前j个B矿的和(b[i][
·
2015-11-12 22:13
ini
zoj 3349
简单DP
线段树或树状数组优化
已经做过一个类似的题目了,只是这道题目求的是最长的长度,那个题目求的是总的这样的序列的个数,都是用线段树或者树状数组来优化求和操作,使之降为log(n) View Code #include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define lson l,m,
·
2015-11-12 21:30
树状数组
1346. Intervals of Monotonicity(dp)
1346
简单dp
1 #include <iostream> 2 #include<cstdio> 3 #include<cstring>
·
2015-11-12 18:41
int
poj 1157 LITTLE SHOP_
简单dp
题意:给你n种花,m个盆,花盆是有顺序的,每种花只能插一个花盘i,下一种花的只能插i<j的花盘,现在给出价值,求最大价值
简单dp
#include <iostream> #include
·
2015-11-12 17:06
poj
UVa 11258 String Partition(
简单DP
)
题意: 每组数据由一串不超过200个字符的字符串构成,问把它们分成不超过int类型的数,组合起来最大是多少? 思路: dp[i]表示前i个字符能组成的最大数 #include <cstdio> #include <cstdlib> #include <cstring> #include <climits> #include <algo
·
2015-11-12 17:28
partition
UVa 607 Scheduling Lectures(
简单DP
)
题意: 有n个主题。每堂课的时间是L。每个主题各要求t1,t2,...tn(1<=ti<=L)。对于每个主题,你要决定要哪堂课教。并且有如下的规则:1.每个主题必须完整地包含在一堂课里。不能分成两部分教。2.主题之间的顺序不能调换,即主题i必须在主题i+1之前教。同时,如果在每堂课的最后如果能留有10分钟以内的时候,那么学生的不满意程序是最小的。不满意程度的计算如下所示:D=0(如果
·
2015-11-12 17:25
uva
UVa 10401 Injured Queen Problem(
简单DP
)
题意: 受伤的皇后只能攻击它这一列的,和它周围的九个格子。 给定一个字符串,如果第i个字符是?则表示皇后能放在任意位置,如果不是?则表示它指定了必须放在哪一行,问有几种放法。 思路: 这种格子题目类似于小明回家,有几条路径可以选择一样,只不过初始点和结束状态不怎么一样而已。 dp[i, j]表示(i, j)坐标最多有几种放法,dp[i, j]取决于dp[i-1, k],k取决于题目条件。
·
2015-11-12 17:21
uva
UVa 10453 Make Palindrome(
简单DP
)
题意: 给定一个字符串,问最少插入多少个字符使其变成回文字符串,并输出。 思路: 题目已经是司空见惯了,关于回文串的输出无非就是递归。 #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> using namespace std;
·
2015-11-12 17:19
Make
UVa 10201 Adventures in Moving(
简单DP
)
题意: 有一辆车,原始装有100L汽油,到达距离为d的目的地,中间有x个加油站,每升油的价格为p。 汽车每跑一公里耗油1L,求到达目的地油箱仍然有100L的最小花费。 思路: 动归方程算是简单的,主要是要思考清楚,在第i个加油站加不加油,如果加油加k升的最小花费。 dp[i, j]表示在第i个加油站油箱有j升油的最小花费: 1. 在i站不加油 dp[i, j] = dp[i-1, j+
·
2015-11-12 17:19
uva
UVa 11137 Ingenuous Cubrency(
简单DP
)
题意: 有1^3, 2^3, ...... , 21^3 种货币,给定一个价钱n,问有多少种组合方法。 思路: dp[i, j]表示前i种货币表示j钱有多少种表示方法。 1. dp[i-1, j] 用前i-1种货币表示j 2. dp[i, j-v] 前i种货币表示j-v,再加上v便是必须有第i种货币来表示j 仔细发现可以压缩成一维数组 dp[i] = dp[i] + dp[i-v]。
·
2015-11-12 17:17
uva
UVa 825 Walking on the Safe Side(
简单DP
)
题意: 有t组测试数据,每组测试数据给一个矩阵n,m。 接下来给出n行,每行第一个数字为该行的编号(从1开始),然后给出这行不能走的y坐标。 问从出发点(1,1),到(n,m)有多少种不同的路径。 思路: dfs思想根深蒂固啊,其实是很简单的递推题目,仔细思考再决定要不要深度递归。 #include <cstdio> #include <cstdlib>
·
2015-11-12 17:09
ide
UVa 437 The Tower of Babylon(
简单DP
)
题意: 给你n种石头,长x,宽y,高z,每种石头数目无限,一块石头能放到另一块上的条件是:长和宽严格小于下面的石头。问叠起来的最大高度。 思路: dp[i]表示选择第i个能达到的最大高度。注意每个石头可以有6种组合,都要输入进去。类似于LIS。 #include <cstdio> #include <cstdlib> #include <cstring&
·
2015-11-12 17:09
uva
UVa 10404 Bachet's Game(
简单DP
)
题意: 一堆石子,两个人每次可以拿X个,X有m种拿法。拿到最后石子的人获胜。 思路: 简单的状态递推dp,dp[i]=true表示有i个石子,首先选的人可以获胜。 #include <cstdio> #include <cstdlib> #include <cstring> bool dp[1000010]; int main() {
·
2015-11-12 17:08
game
UVa 562 Dividing coins(
简单DP
)
题意: 给你若干硬币,让你分成两份,使其绝对值之差尽量的小。 思路: 算出硬币的总和,然后把背包容量设置为硬币总和的一半,这个背包能拿到的最大价值即是2个人中某个人要拿到的价值。 01背包的思路就可以解决了。 #include <cstdio> #include <cstdlib> #include <cstring> #define ma
·
2015-11-12 17:04
div
HDU 5092 Seam Carving (
简单dp
+保存路径)
题意,给一个数字矩阵,要求从上往下的一条路径,使这条路径上数字之和最小,如有多条输出最靠右的一条。 当时做的时候题意迷了。 思路:dp+记录路径, 具体处理:加冗余点减少代码量 #include<cstdio> #include<cstring> #include<vector> using namespace std; const
·
2015-11-12 17:20
seam
poj2704
简单dp
View Code #include <iostream>#include <cstdlib>#include <cstring>#include
·
2015-11-12 13:55
poj
hdu 4502 吉哥系列故事——临时工计划_
简单dp
题意: 俗话说一分钱难倒英雄汉,高中几年下来,吉哥已经深深明白了这个道理,因此,新年开始存储一年的个人资金已经成了习惯,不过自从大学之后他不好意思再向大人要压岁钱了,只能把唯一的希望放到自己身上。可是由于时间段的特殊性和自己能力的因素,只能找到些零零碎碎的工作,吉哥想知道怎么安排自己的假期才能获得最多的工资。 已知吉哥一共有m天的假期,每天
·
2015-11-12 13:19
HDU
tyvj p1016 装箱问题(
简单DP
01背包)
装箱问题From admin描述 Description 有一个箱子容量为v(正整数,o≤v≤20000),同时有n个物品(o≤n≤30), 每个物品有一个体积 (正整数)。 要求从 n 个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式 InputFormat第一行,一个整数,表示箱子容量;第二行,一个整数,表示有n个物品;接下来n行,分别表示这n个物品的各自体积。输出格式 O
·
2015-11-12 10:59
dp
几个
简单DP
问题 虽然我不怎么不会。。
http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2080 最长公共子序列 状态方程 if ( ci==cj) dp[i][j] = dp[i-1][j-1]+1; else dp[i][j] = max{dp[i-1][j],dp[i][j-1]}; View Code
·
2015-11-12 09:58
dp
hdu 4504 威威猫系列故事——篮球梦_
简单dp
题目链接 题意:你现在分数为a,对方分数为b,你比赛还有n分钟,每次进攻需要15分钟,现在你先进攻,每次进攻可以得1或2或3,对方每次进攻得一分,问超过对方分数有多少种打法 思路:因为情况太多要用__int64,很简单的dp,dp[n][m],n为第几次进攻,m为得分 #include <iostream> #include<cstdio> #include<
·
2015-11-12 09:07
HDU
soj 1700 ping_
简单dp
题目链接 题意:给你一个无向图,求n边的最短路 思路:用最短路想了半天都没想出来,比赛结束回去看看原来用dp做,我的dp有待提高啊 sp[i][k]=min(sp[j][k-1]+dp[j][i])//k为多少条边,j能到i #include <iostream> #include<cstdio> #include<cstdio> using nam
·
2015-11-12 09:05
ping
Buy the Ticket DP +大数
分析:
简单DP
题。画个格子,那么选取的点不越过对角线y = x. dp[i][j]表示i个100元的人,j个手持50元的人的方案数。 i<
·
2015-11-11 19:53
dp
July 【补题】
B(zoj 3599) 博弈,跳过 C(zoj 3592)
简单dp
,题意不好懂 D(zoj 3602) 子树哈希, 对根的左右儿子的哈希值make_pair()一下映射成根的哈希值就行了
·
2015-11-11 18:45
ul
腾讯马拉松复赛第三场
A
简单DP
,状态DP[I][J] 表示第I个时间位置为J的最小花费 View Code #include<stdio.h> #include<math.h
·
2015-11-11 17:43
腾讯
uva 10721 - Bar Codes(dp)
解题思路:
简单dp
,cnt[i][j]表示用i个数组成j, cnt[i][j] = ∑(1 ≤ t ≤min(k, j)) cnt[i - 1][t].
·
2015-11-11 16:55
code
POJ 3176 Cow Bowling dp, 贪心
思路:
简单DP
, 倒推上去, 求走到第 map[i][j] 这个位置的最大值, 那么 map[i][j] = GetMax(map[i-1][j] , map[i-1][j-1]);
·
2015-11-11 15:40
poj
HDU 1520 Anniversary party 树形DP
思路:入门题,就是把
简单DP
运用到了树这样的数据结构里,蛮有趣的。看题意应该叫森林DP比較合适一点。首先是建树,找到的根节点就是没有父亲节点的节点。
·
2015-11-11 14:40
part
四道
简单DP
DP类题目找到子问题(状态),然后找到转移方程,就OK #dp #likes matrixchain #according to two point's distance to recurrence class Solution: # @return a string def longestPalindrome(self, s): length
·
2015-11-11 11:44
dp
简单dp
hdu1003
Max Sum Problem Description Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 +
·
2015-11-11 10:30
HDU
简单dp
hdu-4105-Electric wave
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4105 题目意思: 给一个字符串,求最大的分隔空格数,记所有被分隔的数为a1,a2,a3,..... 使得 a1<a2>a3<a4>a5..... 解题思路: 简单的dp; 记dp[0][i][j]表示从第i个字符开始到结束,且以第i~j个字符组成的数作为谷值的
·
2015-11-11 10:18
HDU
H_Dp
<span style="color:#000099;">/* H -
简单dp
例题扩展 Time Limit:3000MS Memory Limit:65536KB
·
2015-11-11 08:00
dp
[
简单DP
] COJ 1122 Game
这道题直接模拟即可,DP相当于一个优化,记录下从第i行第j列出发后到达的最终位置,下次需要时直接取,优化前后最坏情况下复杂度都是O(10^6)。 # include <cstdio> # include <cstring> # define N 1000 + 5 int n, m; int cnt[N], ff[N], f[N][N]; char
·
2015-11-11 07:46
game
[
简单DP
] HDOJ 4323 Magic Number
// 编辑距离的方法可以水过这道题 编辑距离的计算方法即一个不完全的证明见:http://en.wikipedia.org/wiki/Levenshtein_distance 具体如下图: # include <cstdio> # include <cstring> # define LEN 10 + 2 # define N 1500 + 5
·
2015-11-11 07:43
number
[
简单DP
] UVA 10051 Tower of Cubes
DAG上的DP,六个方向,打印不要求字典序,相反方向可以通过异或得到(定义0-5代表题目所说的五个方向); f[i, p] = 1; for (k = 1:i-1) f[i, p] = max(f[i, p], f[k, q]+1) if (color[i][p^1] == color[k][q]) 1 /* 2 UVA 10051 - Tower of Cubes
·
2015-11-11 07:38
cube
[
简单DP
] POJ 1651 Multiplication Puzzle
一看就知道是矩阵链,但是忘了矩阵链具体是怎么做的了,记的是把区间划分开来DP。 定义f[i, j]为 i-j 内的最小值(初始是1-n),如果第 k 个为最后选的数,那么 f[i, j] = f[i, k]+f[k,j]+a[i]*a[k]*a[j]; 需要注意的是边界条件:如果区间内不含选取的数(i+1==j)最小值应该定义为0。 1 /* 2 POJ 1651 Multi
·
2015-11-11 07:37
poj
[
简单DP
] POJ 2192 Zipper
给出三个串a b c,问 c 是否能由 a b 串中的字符通过混合得到,要保持同一个串中两个字符的前后关系不变。 状态:f[i ,j] 表示长度为 i 且使用了b串 j 个字符(使用 a 串 i-j 个字符),布尔型,表示状态是否可达。 状态转移: f[i, j] = f[i-1, j] && f[i-1, j-1],对于边界f[0, 0] = true。 也可以令 f[i,
·
2015-11-11 07:36
zip
192B Walking in the Rain
简单DP
,设 f[i] 为到达第 i 个位置最迟的天数,那么 f[i] 为 min(f[i-2], a[i]) 和 min(f[i-1], a[i]) 中的较大者; # include <cstdio
·
2015-11-11 07:04
in
上一页
5
6
7
8
9
10
11
12
下一页
按字母分类:
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
其他