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&&记忆化搜索
ACM知识点分类
第一类:基础算法(1) 基础算法:枚举,贪心,递归,分治,递推,构造,模拟(2) 动态规划:背包问题,树形dp,状态压缩dp,单调性优化,插头dp(3) 搜索:dfs,bfs,
记忆化搜索
syuritsu
·
2016-02-26 18:00
2796: [Poi2012]Fibonacci Representation 思路题 map+
记忆化搜索
POI的题果然神。。不会做啊。。令f(n)表示斐波那契数列的第n项,则有:f(n)=f(n−1)+f(n−2)f(n+1)=f(n)+f(n−1)联立得:2f(n)=f(n+1)+f(n−2)所以如果一个数出现了两次,可以把它转化为两个不同的数,所以总存在一个合法的解,使得每个数出现最多一次。我们用F(n)表示结果为n时的答案,令f(b)表示 #include #include #include
Phenix_2015
·
2016-02-24 10:00
【SPOJ-MAIN75】BST again【计数DP】【
记忆化搜索
】
一开始写了个预处理DP,结果TLETLETLETLETLE...然后发现可以写
记忆化搜索
...当前二叉树的方案数等于左子树的方案数×右子树的方案数...然后就可以
记忆化搜索
了。
BraketBN
·
2016-02-23 21:00
dp
二叉树
记忆化搜索
棋盘分割(
记忆化搜索
)
棋盘分割TimeLimit:2000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):501 AcceptedSubmission(s):248ProblemDescription将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割
handsomecui
·
2016-02-22 16:00
09暑假培训contest 2总结
还有一道
记忆化搜索
的题,最优解是很快写出来了。不过回溯路径的时候出了点小问题。后来用来sxj的方法过了。其中犯了一个低级错误。。。调试了半天。还好sxj调试能力强。学到了很多调试的方法。
Rest
·
2016-02-21 20:03
蓝桥杯 历届试题 地宫取宝
我本来想dp的可惜dp不出来后来才知道是
记忆化搜索
至于那个返回的max_+1是因为本来返回max_的但是因为一开始代入dfs的参数是-1所以就要+1#include #include constintmod
mymilkbottles
·
2016-02-21 19:00
递归,递推,
记忆化搜索
,空间优化(数字三角形)
题目链接:http://poj.org/problem?id=11631、递归思想:第一层到最底层的最优路径可以分解为:第一层到第二层来,再加上第二层的最优路径状态: TimeLimitExceeded#include #include #defineMAX101 usingnamespacestd; intmaps[MAX][MAX]; intn; intSum(inti,i
小草的大树梦
·
2016-02-20 22:00
How many ways(
记忆化搜索
)
HowmanywaysTimeLimit:3000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4275 AcceptedSubmission(s):2499ProblemDescription这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m
handsomecui
·
2016-02-20 17:00
递归,
记忆化搜索
,(棋盘分割)
题目链接http://poj.org/problem?id=1191Problem: 1191Memory: 568KTime: 16MSLanguage: C++Result: Accepted解题报告:1、公式可以利用数学方法化简,就是求各个矩阵上的数(的和)的平方和最小。2、每一次分割都有四种情况(递归)。3、每一次分割的位置要进行比较,从而找到最佳。#include #include
小草的大树梦
·
2016-02-20 14:00
BZOJ2061 : Country
记忆化搜索
,设$f[i][j]$表示符号$i$一开始kmp指针为$j$,中间匹配了多少次,$g[i][j]$则表示匹配结束后kmp指针的位置。时间复杂度$O(nl^2)$。
Claris
·
2016-02-19 20:00
【HDOJ】4363 Draw and paint
基本思路是
记忆化搜索
然后去重,关键点是可能未切前当前块已经着色了。
Bombe
·
2016-02-19 15:00
数位DP小结
写
记忆化搜索
不错,模式性很强而且好写。省略了不少无效状态。比较难想的是状态的优化和表示。
Quack_quack
·
2016-02-18 23:00
数位dp
HDU 3652 B-number(数位dp&
记忆化搜索
)
题目链接:[kuangbin带你飞]专题十五数位DPG-B-number题意求1~n的范围里含有13且能被13整除的数字的个数。思路首先,了解这样一个式子:a%m==((b%m)*c+d)%m;式子的正确是显然的,就不证明了。那么判断数是否可以被13整除就可以分解为一位一位进行处理。当然,我们也只需要储存取余后的值。dfs(len,num,mod,flag)mod记录数字对13取余后的值len表示
to_be_better
·
2016-02-18 18:00
dp
CodeForces 283B Cows and Program
记忆化搜索
推导
题意:你有一个正整数序列{ai},大小为n,你还有2个变量x,y,执行以下程序:x=1;y=0 while(1){ y+=a[y];x+=a[x] if(xn)return y+=a[y];x-=a[x] if(xn)return }你的任务是得到一个序列a2,a3,⋯,an枚举i(1≤i≤n−1),令a1等于i,输出上面那个程序y的值,如果程序陷入死循环输出-1。Input第一行n。第二行n−1
huanghongxun
·
2016-02-18 16:00
搜索
数学
codeforces
推导
UVA-1629 Cake slicing (DP、
记忆化搜索
)
题目大意:一块n*m的矩形蛋糕,有k个草莓,现在要将蛋糕切开使每块蛋糕上都恰有一个(这意味着不能切出不含草莓的蛋糕块)草莓,要求只能水平切或竖直切,求最短的刀切长度。题目分析:定义状态dp(xa,ya,xb,yb)表示矩形左上角为(xa,ya)、右下角为(xb,yb)时需要切的最短长度。那么决策和状态转移方程就很显然了。 代码如下:#include #include #include #in
20143605
·
2016-02-18 14:00
UVA-10118 Free Candies (DP、
记忆化搜索
)
题目大意:有4堆糖果,每堆有n个,有一只最多能容5个糖果的篮子。现在,要把糖果放到篮子里,如果篮子中有相同颜色的糖果,放的人就可以拿到自己的口袋。如果放的人足够聪明,问他最多能得到多少对糖果。题目分析:很显然的多阶段决策。定义dp(a,b,c,d)为每堆糖果分别拿掉a、b、c、d块之后最多能获得得糖果对数。则决策有4个,以第一堆为例,状态转移方程为:dp(a,b,c,d)=dp(a+1,b,c,d
20143605
·
2016-02-17 23:00
bzoj2750 Road 最短路&
记忆化搜索
果然直接记忆化很慢啊。。还是spfa的缘故? 显然这种题目跟定要求多源最短路,但是首先发现n=1500所以不能用floyd了,因此只能用dijkstra+heap或者spfa了(窝比较懒所以用了spfa)。然后我们不妨对一个点i,以i为源点更新答案。先跑一遍最短路,然后统计任意一个点x,从源点i到x有多少条最短路l[x],以及从i->x之后再从x出发能够得到多少条最短路(包括到x自己)
lych_cys
·
2016-02-17 15:00
最短路
SPFA
记忆化搜索
poj 3373 Changing Digits(
记忆化搜索
)
题目链接:http://poj.org/problem?id=3373参考了网上的一篇博客,感觉讲得很详细附上传送门:http://blog.csdn.net/lyy289065406/article/details/6698787/#include #include #include #include #include usingnamespacestd; constintINF=0x3f3f
rachelsg
·
2016-02-17 10:00
POJ 3252 Round Numbers(数位dp&
记忆化搜索
)
题目链接:[kuangbin带你飞]专题十五数位DPE-RoundNumbers题意给定区间,求转化为二进制后其中0比1多或相等的数字的个数。思路将数字转化为二进制进行数位dp,因为一个二进制数的最高位必须为1,所以设置变量first记录前面位是否有1,若有1,则可任意放,否则,只可放1。同时,上面的判断决定了搜索时len的大小与二进制本身的长度不一定相等,所以需两个变量对1和0的个数进行记录。用
to_be_better
·
2016-02-14 23:00
数位dp
HDU 3555 Bomb(数位dp&
记忆化搜索
)
思路
记忆化搜索
dfs(len,pre,flag)len表示当前位数pre==0不含49且上一位不为4pre==1不含49且上一位为4pre==2含49flag表示是否可以任意取值(判断范围)。即可。
to_be_better
·
2016-02-14 22:00
数位dp
HDU 2089 不要62(数位dp&
记忆化搜索
)
题目链接:[kuangbin带你飞]专题十五数位DPC-不要62题意杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:623157341888914都属于不吉利号码。但是,61152虽然含
to_be_better
·
2016-02-14 00:00
HDU 1142 A Walk Through the Forest(spfa最短路+dfs
记忆化搜索
)
ProblemDescriptionJimmyexperiencesalotofstressatworkthesedays,especiallysincehisaccidentmadeworkingdifficult.Torelaxafterahardday,helikestowalkhome.Tomakethingsevennicer,hisofficeisononesideofaforest,
tomorrowtodie
·
2016-02-13 06:00
DFS
杭电
SPFA
CodeForces 55D Beautiful numbers(数位
dp&&
离散化)
题目链接:[kuangbin带你飞]专题十五数位DPA-Beautifulnumbers题意ps:第一道数位dp,题真好,虽然是参考大牛方法悟过才a,但仍收获不少。求一个区间内的Beautifulnumbers有多少个。Beautifulnumbers指:一个数能整除所有组成它的非0数字。例如15可以被1和5整除,所以15是Beautifulnumbers。思路Beautifulnumbers指:
to_be_better
·
2016-02-13 01:00
dp
codeforces
UVa10917 A Walk Through the Forest(SPFA+
记忆化搜索
)
题目给一张有向图,问从起点1到终点2沿着合法的路走有种走法,合法的路指从u到v的路,v到终点的距离严格小于u到终点的距离。先SPFA预处理出所有合法的路,然后这些路肯定形成一个DAG,然后DP一下就OK了,d[u]表示u到终点2的方案数。1#include 2#include 3#include 4usingnamespacestd; 5#defineINF(1LLque; 26que.
WABoss
·
2016-02-11 17:00
UVa11324 The Largest Clique(强连通分量+缩点+
记忆化搜索
)
题目给一张有向图G,要在其传递闭包T(G)上删除若干点,使得留下来的所有点具有单连通性,问最多能留下几个点。其实这道题在T(G)上的连通性等同于在G上的连通性,所以考虑G就行了。那么问题就简单了,强连通分量缩点,强连通分量必定要一起留下,从入度0到出度0的强连通分量找到一条包含最多点的通路即可。1#include 2#include 3#include 4usingnamespacestd;
WABoss
·
2016-02-10 23:00
POJ1088(
记忆化搜索
)
滑雪TimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 87128 Accepted: 32633DescriptionMichael喜欢滑雪百这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。
baneHunter
·
2016-02-09 21:00
ZOJ3795 Grouping(强连通分量+缩点+
记忆化搜索
)
那么算法很直观就能想到了,用
记忆化搜索
,d[u]表示从强连通分量u出发到出度为0的强连通分量最少要几个组(最多有几个点)。1#includ
WABoss
·
2016-02-08 14:00
hdu1078
记忆化搜索
/* hdu1078 QAQ
记忆化搜索
其实还是搜索。。
天翎月
·
2016-02-04 16:00
hdu1078
记忆化搜索
/* hdu1078 QAQ
记忆化搜索
其实还是搜索。。
天翎月
·
2016-02-04 16:00
HDU1078 FatMouse and Cheese [
记忆化搜索
DFS]
NXN的矩阵中,一直老鼠每次最多可以走K步,走到的位置只能比前一个位置大,并且获得那里的价值,问最大价值是多少;在dfs中额外加一个判定就可以了,然后每一步都取最大值就可以了#include #include #include usingnamespacestd; intn,k,dp[155][155],a[155][155]; intdir[4][2]={{-1,0},{1,0},{0,-1}
qq_33638791
·
2016-01-31 15:00
总结一下用
记忆化搜索
做数位dp的步骤
dfs有4个参数,剩余的位数len,当前的状态pos,前导0标记z(前面是否全是0),限制标记lim(前面是否都取了上限数的对应位置)首先检查lim和z是否都没有标记上,然后如果dp[len][pos]不是未定义状态的话就可以直接返回啦,但是这个地方有时候不检查z标记好像也能过的样子,不知道为啥,可能跟下面的初始条件定义有关,嘛为了规范不出差错以后还是都加上吧然后就是初值定义返回了,但是这一步跟上
the301stdoub
·
2016-01-29 14:00
UVA 437_The Tower of Babylon
最长路算法,由于长宽较大,不能直接用于表示状态,因此采用d[i][x]表示以第i块石头为最高点,以其第x个边为高所能达到的最大高度,其中i为石头标号,x代表长/宽/高,然后根据长宽高要求构造DAG,最后
记忆化搜索
求出最长路
Yukizzz
·
2016-01-27 17:00
算法
uva
bzoj1026 windy数 数位dp
记忆化搜索
bzoj1026windy数题目大意:求[A,B]相邻两位差>=2的个数1 #include #include #include usingnamespacestd; intdp[50][20],bit[50]; inta,b; //当前位置前一位是否有限制 intdfs(intpos,intpre,boollimit){ intp; if(pos=0&&!limit&&dp[pos][pre]!
yxr0105
·
2016-01-27 14:00
dp
记忆化搜索
bzoj
数位dp
POJ1651:Multiplication Puzzle(区间DP)
id=1651题意:给你一段数字序列,每次拿出来一个数(除了第一个和最后一个),然后ans+=这个数*左边的第一个数*右边的第一个数,取出除了第一个和最后一个之外的所有的数后,求最小的ans这里只写了
记忆化搜索
的版本
qq_27925701
·
2016-01-26 03:00
poj
记忆化搜索
区间DP
POJ2955:Brackets(区间DP)
给你一段括号序列,括号有两种(,)和[,](),[],(()),()[],()[()]这种括号算全部匹配的(,],)(,([)],([(]这种就是不完全匹配的比如说([)]匹配个数就是1求最多是多少个括号匹配
记忆化搜索
的方式好写得多
qq_27925701
·
2016-01-26 03:00
poj
记忆化搜索
区间DP
Unique Paths
记忆化搜索
or 组合数学
https://leetcode.com/problems/unique-paths/
记忆化搜索
的本质就是dp,但是涉及图的时候有时候思考会更顺一些constintSIZE=101; classSolution
u011026968
·
2016-01-25 20:00
HDU 1078 FatMouse and Cheese(
记忆化搜索
)
地图,老鼠初始位置在(0,0),它每次行走要么横着走要么竖着走,每次最多可以走出k个单位长度,且落脚点的权值必须比上一个落脚点的权值大,求最终可以获得的最大权值(题目很容易会理解错题意,道友小心)思路
记忆化搜索
to_be_better
·
2016-01-25 18:00
搜索
ZOJ1039
problemId=39
记忆化搜索
。
qust1508060414
·
2016-01-25 11:00
1415: [Noi2005]聪聪和可可 概率与期望
记忆化搜索
终于决定入概率与期望的大坑qwq。。做的第一道题是几天前做的奖励关。。结果做完这个题才明白那个题到底为什么那样做。。感谢PoPoQQQ大爷给我解答了许多问题。感谢汤可因的优秀论文《浅析竞赛中一类数学期望问题的解决方法》。题解:首先我们可以预处理出p[i][j]表示从聪聪在i可可在j聪聪下一步去的点是哪里,spfa或bfs都可以解决这个问题。然后我们可以用f[i][j]表示聪聪在i可可在j的期望步数
Phenix_2015
·
2016-01-24 07:00
leetcode@ [329] Longest Increasing Path in a Matrix (DFS +
记忆化搜索
)
https://leetcode.com/problems/longest-increasing-path-in-a-matrix/Givenanintegermatrix,findthelengthofthelongestincreasingpath.Fromeachcell,youcaneithermovetofourdirections:left,right,upordown.YoumayN
流白
·
2016-01-20 22:00
leetcode@ [329] Longest Increasing Path in a Matrix (DFS +
记忆化搜索
)
https://leetcode.com/problems/longest-increasing-path-in-a-matrix/Givenanintegermatrix,findthelengthofthelongestincreasingpath.Fromeachcell,youcaneithermovetofourdirections:left,right,upordown.YoumayN
流白
·
2016-01-20 22:00
leetcode@ [329] Longest Increasing Path in a Matrix (DFS +
记忆化搜索
)
https://leetcode.com/problems/longest-increasing-path-in-a-matrix/Givenanintegermatrix,findthelengthofthelongestincreasingpath.Fromeachcell,youcaneithermovetofourdirections:left,right,upordown.YoumayN
流白
·
2016-01-20 22:00
CodeForces 173C Spiral Maximum
记忆化搜索
滚动数组优化
SpiralMaximum题目连接:http://codeforces.com/problemset/problem/173/CDescriptionLet'sconsiderak × ksquare,dividedintounitsquares.Pleasenotethatk ≥ 3andisodd.We'llpaintsquaresstartingfromtheupperleftsquarei
qscqesze
·
2016-01-20 19:00
CodeForces 173C Spiral Maximum
记忆化搜索
滚动数组优化
SpiralMaximum题目连接:http://codeforces.com/problemset/problem/173/CDescriptionLet'sconsiderak × ksquare,dividedintounitsquares.Pleasenotethatk ≥ 3andisodd.We'llpaintsquaresstartingfromtheupperleftsquarei
qscqesze
·
2016-01-20 19:00
HDU 1331 Function Run Fun(
记忆化搜索
)
FunctionRunFunTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):3358 AcceptedSubmission(s):1652ProblemDescriptionWeallloverecursion!Don'twe?Considerathre
llwwlql
·
2016-01-20 16:00
BZOJ3139 HNOI2013比赛 (搜索)
均无果……开始写搜索,练习赛是只拿到了70分(暴力+剪枝),对每一场比赛搜索……看题解才发现是
记忆化搜索
。在搜索的时候可以将当前状态Hash下来。
geng4512
·
2016-01-16 00:00
搜索
cf-edu#5-C The Labyrinth-dfs记忆化搜搜
窝是直接dfs
记忆化搜索
,求出每个点“.”的联通量,然后标记在同一个联通块中的点通通为mark(唯一标记)输出的时候,判断*周围四个方向的空点”.“所含的联通量,并判断一下不要重复计算了【在同一联
viphong
·
2016-01-12 01:00
Vijos p1770 大内密探 树形DP+计数
建议大家以后编树形DP不要用
记忆化搜索
,回溯转移状态个人感觉更有条理性。
abclzr
·
2016-01-08 22:00
Vijos p1770 大内密探 树形DP+计数
建议大家以后编树形DP不要用
记忆化搜索
,回溯转移状态个人感觉更有条理性。
abclzr
·
2016-01-08 22:00
Vijos p1518 河流 转二叉树左儿子又兄弟
方程就不说了,程序应该能看得懂,用的
记忆化搜索
,方便理解。
abclzr
·
2016-01-02 20:00
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
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
其他