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
ACM_记忆化搜索
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
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
Vijos p1518 河流 转二叉树左儿子又兄弟
方程就不说了,程序应该能看得懂,用的
记忆化搜索
,方便理解。
abclzr
·
2016-01-02 20:00
非递归DFS
同学问了这个问题,当时的思路是
记忆化搜索
,因为这很像一棵树,计数其叶子节点。
qust1508060414
·
2015-12-29 21:00
【杭电2015年12月校赛G】【map记录 状压DP
记忆化搜索
实现 】Pick Game nm棋盘两人轮流取数 所取位置周围至少2个为空 为先手最大取得权值
PickGameTimeLimit:10000/5000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):151 AcceptedSubmission(s):31ProblemDescriptionThisisapickgame.Onan*mmatrix,eachgirdhasavalue.T
snowy_smile
·
2015-12-28 15:00
STL-map
动态规划-状压DP
常用技巧-记忆化搜索
bzoj3139: [Hnoi2013]比赛
id=3139思路:
记忆化搜索
首先每个队最多只会得27分,27^10还是没有炸longlong的,所以可以用hash存下来。
thy_asdf
·
2015-12-28 14:00
HDU 5602
记忆化搜索
HDU5603题目链接:题意:有n( #include #include #include #include #include #include #include #include usingnamespacestd; constintMAXN=3*1e5+5; constintMAXM=1e6+5; intn,m; structE { intL,R; //booloperatorrbs.R;}
beihai2013
·
2015-12-27 18:00
hdu1978 How many ways(好题 %)
常见有两种状态定义,1:定义dp[i][j]为从i,j出发到n,m有多少种路线,这个顺序就要逆序,所以选择
记忆化搜索
。
yexiaohhjk
·
2015-12-20 21:00
dp
HDU 1978How many ways dp+
记忆化搜索
。。
HowmanywaysTimeLimit:3000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):4150 AcceptedSubmission(s):2432ProblemDescription这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n
became_a_wolf
·
2015-12-18 19:00
POJ-1088 滑雪 (
记忆化搜索
,dp)
滑雪TimeLimit:1000MSMemoryLimit:65536KTotalSubmissions:86318Accepted:32289DescriptionMichael喜欢滑雪百这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数
Dacc123
·
2015-12-15 18:00
dp
搜索
HDU 1074—压缩DP
第一次写博客,感觉第一次理解dp一些,(写成了
记忆化搜索
,现在想想递推也不难理解)HDU1074,题意是安排做作业顺序,这里的压缩状态,0不做,1做了,然后搜索下一状态,类似广度搜索,然和比较可以到这一状态的最优解
xlzhang223
·
2015-12-08 17:00
LA 4794(Sharing Chocolate-
记忆化搜索
)
一个R*C的矩形,每次操作能通过一条线切割成两个长宽均为整数的矩形是否能通过切割,得到面积恰为a1,a2,...,an
记忆化搜索
1..n的子集dpr,S表示当前矩形面积为S集合的总和,矩形最小边为r注意面积和恰为
nike0good
·
2015-12-08 11:00
uva
斐波那契数列数组递推,普通递归,
记忆化搜索
,矩阵快速幂,和公式法
直接数列递推推的时候是O(n)的复杂度,查询的时候是O(1),但是当n很大的时候,数组空间可能有点力不从心#include#includeusingnamespacestd;intfb[45];intmain(){fb[0]=0;fb[1]=1;for(inti=2;i>n){cout=2)f(1)=f(0)=1斐波那契解空间其实是一棵二叉树,斐波那契在若用普通递归算法,当n比较大的时候,直接递归
Daemoonn
·
2015-12-05 10:37
其他算法
斐波那契数列数组递推,普通递归,
记忆化搜索
,矩阵快速幂,和公式法
直接数列递推推的时候是O(n)的复杂度,查询的时候是O(1),但是当n很大的时候,数组空间可能有点力不从心#include #include usingnamespacestd; intfb[45]; intmain() { fb[0]=0;fb[1]=1; for(inti=2;i>n){ cout=2) f(1)=f(0)=1斐波那契解空间其实是一棵二叉树,斐波那契在若用普通递归算法,当
EventQueue
·
2015-12-05 10:00
算法
ACM
【bzoj1093】最大半连通子图 强连通分量&
记忆化搜索
记忆化搜索
解决(当然也可以bfs顺推然而我懒-_-。
lych_cys
·
2015-12-04 19:00
DFS
强连通分量
记忆化搜索
上一页
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
其他