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】
UVA - 10721 Bar Codes
解题思路:
简单dp
,cnt[i][j]表示用i个数组成j,cnt[i][j]=∑(1≤t ≤min(k,j))cnt[i-1][t].
kl28978113
·
2015-03-20 21:00
poj1189
简单dp
http://poj.org/problem?id=1189Description有一个三角形木板,竖直立放,上面钉着n(n+1)/2颗钉子,还有(n+1)个格子(当n=5时如图1)。每颗钉子和周围的钉子的距离都等于d,每个格子的宽度也都等于d,且除了最左端和最右端的格子外每个格子都正对着最下面一排钉子的间隙。 让一个直径略小于d的小球中心正对着最上面的钉子在板上自由滚落,小球每碰到一个钉子都可能
u013573047
·
2015-03-20 11:00
【BZOJ3890】【Usaco2015 Jan】Meeting Time 拓扑图
简单DP
广告:#include intmain() { puts("转载请注明出处[vmurder]谢谢"); puts("网址:blog.csdn.net/vmurder/article/details/43971435"); } 题意:给出一个n个点m条边的有向无环图,每条边两个边权。n #include #include #include #defineN105 usingnamespacestd;
Vmurder
·
2015-02-27 19:00
动态规划
time
拓扑图
Meeting
BZOJ3890
hdu4826---Labyrinth(
简单dp
)
ProblemDescription度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向右走以前没有走过的格子,每一个格子中都有一些金币(或正或负,有可能遇到强盗拦路抢劫,度度熊身上金币可以为负,需要给强盗写欠条),度度熊刚开始时身上金币数为0,问度度熊走出迷宫时候身上最多有
Guard_Mine
·
2015-02-26 18:00
dp
zoj 3494 BCD Code (ac自动机+数位dp)
直接数位dp,dfs就好了,状态很
简单dp
[pos][i]位数pos,在自动机上i点。注意高进度的减法,范围的下限要减1。
My_ACM_Dream
·
2015-02-26 14:00
(
简单DP
:求有m个H,n和D,且任意索引上H的个数都要比D的个数多的方案数)
在写题解之前给自己打一下广告哈~。。抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下:http://edu.csdn.net/course/detail/209题目:下沙的沙子有几粒?TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):894AcceptedSub
caihongshijie6
·
2015-02-19 19:00
最少拦截系统,
简单dp
,(学长说这是贪心?!。。。。。。也是醉了)
description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹.怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算
martinue
·
2015-02-11 20:00
ACM
简单DP
(hdu step 3.2.8)命运(
简单DP
:求从左上角走到右下角的最大值)
题目:命运TimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1247AcceptedSubmission(s):530 ProblemDescription穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运
caihongshijie6
·
2015-02-11 16:00
UVA1625 / UVALive 5841 Color Length DP
简单DP
,dp[i][j]表示从第一个序列里取出i个和从第j个序列里取出j个的组合的最小值,可以从两个方向转移过来,每次转移加上已经出现过的且还没有出现完的字母的个数.O(n∗m)的复杂度.1625ColorLengthCarspaintedindifferentcolorsaremovinginarowontheroadasshowninFigure1
u012797220
·
2015-02-11 15:00
dp
codeforces 41D Pawn (
简单dp
+路径打印)
题意:给出一个矩阵,现在可以选择最底下一行的某一列作为开始点,直到到达最上面的行位置。每个字有一个值。要求求出最大的分数值并且这个分数值要能整数k这个整数。题解:和以往的水题dp不同这题限制了要整出k,其实需要什么状态就取什么状态呗。dp[i][j][k]表示i行j列余数为k的最大分数值。那么就很容可以求出解了。计算时,多加枚举左右点的余数值。#include #include #include
My_ACM_Dream
·
2015-02-10 23:00
(hdu step 3.2.2)Common Subsequence(
简单dp
:求最长公共子序列的长度)
在写题解之前给自己打一下广告哈~。。抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下:http://edu.csdn.net/course/detail/209题目:CommonSubsequenceTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):976Acc
caihongshijie6
·
2015-02-06 17:00
(hdu step 3.2.1)Max Sum(
简单dp
:求最大子序列和、起点、终点)
在写题解之前给自己打一下广告哈~。。抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下:http://edu.csdn.net/course/detail/209题目:MaxSumTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):1390AcceptedSubmi
caihongshijie6
·
2015-02-06 12:00
hdu 1503 +
简单dp
( 最长公共子序列型)+记忆化搜索+stl
没啥好说,模板题#include #include #include #include #include #defineMAX107 usingnamespacestd; intdp[MAX][MAX]; strings[MAX][MAX]; chars1[MAX],s2[MAX]; voiddfs(inti,intj) { if(dp[i][j]!=-1)return; if(i==0&&
qq_24451605
·
2015-02-05 15:00
C++
动态规划
最长公共子序列
记忆化搜索
hdu 1502 java大数+
简单dp
(最长公共子序列类似)
dp[i][j][k]定义三个函数的大小,在转移过程只要保证题设条件即可importjava.math.BigInteger; importjava.util.Scanner; publicclassMain { publicstaticvoidmain(String[]args) { Scannercin=newScanner(System.in); BigInteger[][][]dp=n
qq_24451605
·
2015-02-05 14:00
java
动态规划
最长公共子序列
大数类
hdu 3008
简单dp
(背包的思想)
就是个最最基本的0/1背包#include #include #include #include #defineMAX107 usingnamespacestd; intn,t,q; intdp[MAX][MAX]; intw[MAX]; intc[MAX]; intmain() { while(~scanf("%d%d%d",&n,&t,&q),n+t+q) { for(inti=1;i
qq_24451605
·
2015-02-05 12:00
C++
动态规划
背包
hdu 1227
简单dp
+中位数的性质
有一列数X1,X2,X3,...,Xnf(x)=|X1-x|+|X2-x|+|X3-x|+...+|Xn-x|当x=数列中位数时,f(x)最小在做这道题前一定要知道这条结论,然后开始考虑如何进行解题,首先我们定义状态dp[i][j],i代表现在已经建设了多少个供给站,j代表当前供应到了第几个城市.那么我们要更新当前情况,必须找到上一个供给站的装态,所以枚举最后一个城市,在i到j之间,然后因为中位数
qq_24451605
·
2015-02-05 11:00
C++
数论
动态规划
hdu 1501
简单dp
(最长公共子串的变形)
没啥好说的,就是公共子串的一种变形,状态定义基本一致,就是dp[i][j],分别表示当前状态已经匹配到两个串各自的位置,转移时,看和最终串的匹配结果#include #include #include #include #defineMAX507 usingnamespacestd; intt; chars[MAX],s1[MAX],s2[MAX]; booldp[MAX][MAX]; i
qq_24451605
·
2015-02-04 16:00
C++
动态规划
最长公共子序列
hdu 1300
简单dp
水的不能再水了,合理利用下前缀和#include #include #include #include #defineMAX107 usingnamespacestd; intt,n; inta[MAX]; intc[MAX]; intdp[MAX]; intsum[MAX]; intmain() { scanf("%d",&t); while(t--) { scanf("%d",&n);
qq_24451605
·
2015-02-04 15:00
C++
动态规划
(1158)HDU
简单DP
,最开始自己没有按照人数来想转移方程,还是要coding#include#include#include#include#defineMAX10009#defineINF0xfffffffusingnamespacestd
wang57389675
·
2015-02-04 15:00
hdu 1224
简单dp
+恶心的输出
没啥好说的,除了输出恶心,要明确起点和终点是固定的即可#include #include #include #include #defineMAX107 usingnamespacestd; intt,n,m,u,v; inta[MAX]; intdp[MAX]; intpre[MAX]; intmp[MAX][MAX]; voidprint(intu) { if(u==-1)return;
qq_24451605
·
2015-02-04 14:00
C++
动态规划
hdu 1158
简单dp
首先我们要证明一个结论,也就是任何时刻雇佣的人数一定是所有月份中要求最小人数中的一个,因为对于每个人来说,如果一个人被开除会获得更高利润,那么多余的人都开除掉才能获得最大的利润,当前雇佣也一定是雇佣到正好和自己最少人数相等时才会获得最大收益那么dp[i][j],在第i个月持有第j个月的最小人数具体转移代码中很清楚.下面是ac代码:#include #include #include #includ
qq_24451605
·
2015-02-04 00:00
C++
动态规划
hdu 2059
简单dp
#include #include #include #include #defineMAX107 #defineINF0xfffffffL usingnamespacestd; intl,n,c,tt,v1,v2,v; intp[MAX]; doubledp[MAX]; intmain() { while(~scanf("%d",&l)) { scanf("%d%d%d",&n,&c,&t
qq_24451605
·
2015-02-03 22:00
C++
动态规划
hdu 1160
简单dp
+排序+倒序输出
首先要定义老鼠结构体,然后对老鼠按照先体重,后速度进行排序,排序后能保证体重小速度快的老鼠在前面,然后动态规划时就是求最长上升序列,每次记录前驱,然后递归地输出即可#include #include #include #include #defineMAX1007 usingnamespacestd; structMice { intw,s,id; booloperatora.s; } }m[
qq_24451605
·
2015-02-03 15:00
C++
动态规划
hdu 1024 循环数组+
简单dp
注意常熟复杂度,因为数据量大,常数复杂度过大也会超时...#include #include #include #include #defineMAX1000007 usingnamespacestd; intm,n,maxn; intnow[MAX]; inta[MAX]; intpre[MAX]; intmain() { while(~scanf("%d%d",&m,&n)) { for
qq_24451605
·
2015-02-03 15:00
C++
动态规划
循环数组
hdu 1978
简单dp
其实就是枚举当前点,然后枚举可以到打的点,将初始点初始为1,然后每个可到达的点加上当前点的可到达数#include #include #include #include usingnamespacestd; intdp[107][107]; inta[107][107]; intmain() { intt,n,m; scanf("%d",&t); while(t--) { scanf("%d
qq_24451605
·
2015-02-03 00:00
C++
动态规划
hdu 2577
简单dp
dp[i][state]记录每个状态当前是大写或小写,扫描一遍然后每次分情况讨论达到目的的途径比如按shift或capslocks比较简单,也没啥trick代码如下:#include #include #include #include #include #defineMAX107 usingnamespacestd; intt; chars[MAX]; intdp[MAX][2]; int
qq_24451605
·
2015-02-01 22:00
C++
动态规划
hdu 2084
简单dp
#include #include #include #include #defineMAX107 usingnamespacestd; intdp[MAX][MAX]; inta[MAX][MAX]; intmain() { intt,n; scanf("%d",&t); while(t--) { scanf("%d",&n); for(inti=1;i<=n;i++) for(intj=1
qq_24451605
·
2015-02-01 20:00
C++
动态规划
hdu 2751
简单dp
注意初值和边界处理即可#include #include #include #include usingnamespacestd; intdp[27][1007]; inta[27][1007]; intmain() { intt,n,m; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(inti=1;i<=n;i++) for(i
qq_24451605
·
2015-02-01 12:00
C++
动态规划
hdu 1087
简单dp
#include #include #include #include #defineMAX1007 usingnamespacestd; intdp[MAX]; inta[MAX]; intmain() { intn; while(~scanf("%d",&n),n) { for(inti=1;ia[j]) { dp[i]=max(dp[j]+a[i],dp[i]); ans=max(an
qq_24451605
·
2015-02-01 11:00
C++
动态规划
hdu 5119 循环数组+
简单dp
dp[i][j],在第i位上数值为j的方法数,没什么好说的,就是数据量大要用循环数组存#include #include #include #include #defineMAX2000000 usingnamespacestd; typedeflonglongLL; LLdp[2][MAX+7]; inta[MAX+7]; intn,m; intmain() { intt; scanf
qq_24451605
·
2015-01-30 01:00
C++
动态规划
poj 1953 dp(无连续1的01串个数)
思路:
简单dp
。思路1:dp[i][0]表示以0结尾长度为i的串的个数;dp[i][1]表示以1结尾长度为i的串的个数。
dumeichen
·
2015-01-25 17:00
【DP】 Codeforces Round #286 A - Mr. Kitayuta, the Treasure Hunter
注意到步数的改变量最多为250,然后就是
简单DP
了。。。。
blankcqk
·
2015-01-19 08:00
codeforces
BZOJ 1592 Usaco 2008 Feb Making the Grade 路面修整 DP
单调不升也一样,
简单DP
水过。。CODE:#include #include #include #include #i
jiangyuze831
·
2015-01-14 14:00
dp
USACO
bzoj
BZOJ 3831 POI 2014 Little Bird 单调队列DP
思路:
简单DP
方程:f[i]=min{f[j]+(height[i]>=height[j])}然后发现数据范围只有O(n)可以过。维护单调队列,队列中按照f单调递减,队尾按照时间往出弹。
jiangyuze831
·
2015-01-08 13:00
poi
动态规划
单调队列
bzoj
NYOJ - 716 - River Crossing --第六届河南省程序设计大赛 (
简单DP
!!)
RiverCrossing时间限制:1000 ms | 内存限制:65535 KB难度:4描述Afandiisherding N sheep acrosstheexpansesof grassland whenhefindshimselfblockedbyariver.Asingleraftisavailablefortransportation. Afandiknowsthathemustri
u014355480
·
2014-12-26 10:00
dp
ACM
河南省省赛
UVA - 672 Gangsters(
简单dp
,正解应该先离散化)
#include #include #include #include #include #include #include usingnamespacestd; constintmaxn=30100; constintN=105; intd[maxn][105]; intc[maxn][105],t[N],p[N],s[N],n,k,T; intvis[maxn][105]; intdp(int
playwfun
·
2014-12-23 10:00
UVA - 607(
简单dp
,先用贪心确定最大,限定状态)
本题目虽然比较简单,但也是一个非常好的题目;有些地方需要说明一下;本题目要先用贪心发求出最优需要多少堂课,记最少需m;然后以d[i][j]表示前i节内容分给了前j节课后的最优满意度;然后动态规划即可;一开始想到的最简单的dp为d[i][j][k]代表前i个内容占据的时间为j节课还多k分钟的时间,状态好转移;可惜复杂度太大会超时;#include #include #include #include
playwfun
·
2014-12-23 09:00
UVA - 1291(
简单dp
,跳舞机,两条腿可同时移动)
d[i][j][k]代表当前i个箭头已经跳过,左腿在j右腿在k时候的最小移动代价;注意两条腿可以同时移动;#include #include #include #include #include #include #include #include usingnamespacestd; constintmaxn=110; constintinf=1000000; intc[5][5]; voidi
playwfun
·
2014-12-23 08:00
poj1655 Balancing Act(树形dp)
题解:状态很
简单dp
[i]表示分割后子树最大的节点数,sum[i]表示顺着递归方向根节点i得到的子树中最大的节点数。
My_ACM_Dream
·
2014-12-01 19:00
dp
poj
hdu4570(区间dp)
方程很
简单dp
[i]=max{dp[i],dp[j]+a[j+1]*(i-j)}(j>=0&&j #include #include #include #include #include #include
My_ACM_Dream
·
2014-11-29 11:00
dp
HDU
(
简单DP
!)
INEEDAOFFER!TimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):17099 AcceptedSubmission(s):6831ProblemDescriptionSpeakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的
u014355480
·
2014-11-22 15:00
Algorithm
动态规划
C语言
ACM
HDU
ZOJ 3805 Machine(
简单dp
)
MachineTimeLimit: 2Seconds MemoryLimit: 65536KBInatypicalassemblyline,machinesareconnectedonebyone.Thefirstmachine'soutputproductwillbethesecondmachine'srawmaterial.Tosimplifytheproblem,weputallma
LYHVOYAGE
·
2014-11-12 16:00
动态规划
poj 2241
简单dp
(最高巴比伦塔)
题意:现有不超过三十个的立方体。给定其边长:a*b*c。已知每种立方体的个数不限。现在欲堆放立方体,两个立方体能够堆叠的条件是上面的立方体的底面长和宽严格小于放在其下面的立方体。问由这些立方体最高能够堆叠多高。思路:将每个立方体按照abc的排列看成6个立方体,ab看成底面的长和宽,c看成高。对a排序。此后dp[i]表示以第i个立方体作为底能堆叠的最高高度。#include#include#incl
dumeichen
·
2014-11-05 14:10
动态规划——1D/1D
poj 2241
简单dp
(最高巴比伦塔)
题意:现有不超过三十个的立方体。给定其边长:a*b*c。已知每种立方体的个数不限。现在欲堆放立方体,两个立方体能够堆叠的条件是上面的立方体的底面长和宽严格小于放在其下面的立方体。问由这些立方体最高能够堆叠多高。思路:将每个立方体按照abc的排列看成6个立方体,ab看成底面的长和宽,c看成高。对a排序。此后dp[i]表示以第i个立方体作为底能堆叠的最高高度。#include #include #in
dumeichen
·
2014-11-05 14:00
2014上海全国邀请赛 解题报告
article/details/40711559BeamCannon线段树陈题http://blog.csdn.net/u012774187/article/details/40712359SeamCarving
简单
u012774187
·
2014-11-04 15:00
HDU 5074 Hatsune Miku 2014 Asia AnShan Regional Contest dp(水
简单dp
#include #include #include #include usingnamespacestd; typedefunsignedlonglongull; constintN=105;
qq574857122
·
2014-10-27 09:00
Ural 2018The Debut Album(DP)
题目地址:Ural2018
简单DP
。用滚动数组。
u013013910
·
2014-10-25 15:00
编程
算法
dp
C语言
ACM
[ACM] HDU 5074 Hatsune Miku (
简单DP
)
HatsuneMikuProblemDescriptionHatsuneMikuisapopularvirtualsinger.ItisverypopularinbothJapanandChina.Basicallyitisacomputersoftwarethatallowsyoutocomposeasongonyourownusingthevocalpackage.Todayyouwantto
sr19930829
·
2014-10-23 10:00
dp
ACM
474D - Flowers
简单dp
,有一个字符串,规则要这样,RWWWR,其中W必须会是K个字符连续出现的,如K=2,可以使WWRRWWWW,不能是WWWR。现在给定字符串的长度a,b。
赵王军
·
2014-10-18 23:00
hdu1207 汉诺塔II
简单dp
本文出自:http://blog.csdn.net/svitter题意:汉诺塔,多了一根柱子,问你寻找最快的移动次数。dp[n]=dp[n-j]*2+pow(2,j)-1;就是把j个汉诺塔移到一根上dp[n-j],然后就是普通的汉诺塔问题,即2^n-1次移动,然后把剩下的移动过去dp[n-j].注意pow(2,j)可能超出longlongint范围。写二的次方的时候也可用移位算法。#include
svtter
·
2014-10-17 23:00
C++
dp
ACM
上一页
8
9
10
11
12
13
14
15
下一页
按字母分类:
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
其他