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&&记忆化搜索
hdu 1398
记忆化搜索
题目简单,直接贴代码 /* * hdu1398/win.cpp * Created on: 2011-10-23 * Author : ben */#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#inclu
·
2015-11-11 15:55
HDU
hdu 1521
记忆化搜索
应该说,就是道DP题,最近用
记忆化搜索
用得老爽了,就用了~ /* * hdu1521/win.cpp * Created on: 2011-10-3 * Author : ben */#include
·
2015-11-11 15:45
HDU
hdu 1799
记忆化搜索
我用
记忆化搜索
做的,觉得
记忆化搜索
写起来就是简捷啊~ /* * hdu1799/win.cpp * Created on: 2011-10-3 * Author : ben */#include
·
2015-11-11 15:43
HDU
hdu 1078
记忆化搜索
我的第一道
记忆化搜索
题。这题是一个经典问题,网上搜解题报告大多是直接说用
记忆化搜索
,然后就贴代码了。我花了老大劲才弄明白
记忆化搜索
是咋回事。
·
2015-11-11 15:40
HDU
POJ 3592 Instantaneous Transference(Tarjan缩点 +
记忆化搜索
)
题意: 一辆坦克从 N*M 矩阵的左上角出发,每次往右或往 下走一格,每格可以是 '#' (表示不可以走), '*' 表示传送门,或者是数字, 表示在该格可以获得的值(只能取一次),传送门可以传送到指定位置,你可以选择被传送或者走相邻的格,问坦克可以获得的值的和最大为多少。 思路: 1. 本题是由几个比较基本的问题组合而成的,关键的问题是在于建图,感谢前面几个网络流题目所培养的建
·
2015-11-11 14:03
ant
POJ 3249 Test for Job(
记忆化搜索
)
建立反图,于是问题比较清晰:<已知出发状态,未知值> 然后根据边进行
记忆化搜索
。 2.
·
2015-11-11 14:02
test
hdu1978How many ways (
记忆化搜索
+DFS)
Problem Description 这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m)。游戏的规则描述如下: 1.机器人一开始在棋盘的起始点并有起始点所标有的能量。 2.机器人只能向右或者向下走,并且每走一步消耗一单位能量。 3.机器人不能在原地停留。 4.当机器人选择了一条可行路径后,当他走到这条路径的终点时,他将只有终点所标记的
·
2015-11-11 14:09
HDU
hdu 1078(
记忆化搜索
)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1078 //dp[i][j]表示从点i,j处开始能获得的最多cheese #include <iostream> #include <string.h> #include <stdio.h> using namespace std; int n,
·
2015-11-11 14:41
HDU
POJ 1088 滑雪 (
记忆化搜索
)
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 77134 Accepted: 28672 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑
·
2015-11-11 13:54
poj
cdoj Dividing Numbers 乱搞
记忆化搜索
//真tm是乱搞 但是(乱搞的)思想很重要 解:大概就是
记忆化搜索
,但是原数据范围太大,不可能记下所有的情况的答案,于是我们就在记下小范围内的答案,当dfs落入这个记忆范围后,就不进一步搜索,直接返回记下来的答案
·
2015-11-11 13:43
number
cdoj 秋实大哥带我飞 最短路走法 含0权边
做完这题以后终于理解白书上的边为什么要那样定义了 可以很方便的在o(1) 时间内找到反向边 解法:先跑一边最短路,然后检查最短路上有没有0权边(dfs就好,但是每条边只能走一次,这里就需要用异或找反向边),最后
记忆化搜索
一遍
·
2015-11-11 13:42
最短路
coj 1224 ACM小组的古怪象棋
DP相对容易一些(
记忆化搜索
),要注意的一点是可能出现马永远无法到达将的位置,这时可能会出现两个状态相互调用以致出现死循环,解决的办法是:初始化时所有状态都定义为-1(将的位置定义为0,因为不许
·
2015-11-11 12:50
ACM
csu 1141 节能
记忆化搜索
,dp; 前面WA的原因是状态转移时,对机器人位置的转移考虑补充分,使用vis[]标记只能保证相邻的状态的转移是正确的; 需要增加一个额外的参数标记机器人所在位置,这样在递归时才能保证状态的转移是正确的
·
2015-11-11 12:43
su
UVa 437 - The Tower of Babylon
和之前的 Stacking Boxes 很像,但是这里求的是最大高度,并且盒子成了立体状,因此对每个盒子有三种不同的高度,分别为x, y, z,相当于增加两个盒子;
记忆化搜索
。
·
2015-11-11 12:42
uva
UVa 348 - Optimal Array Multiplication Sequence
记忆化搜索
,打印那里想来想去不知道怎么把几种情况统一起来,也忘了书上怎么处理的。 1 /* 348 - Optimal Array Multiplicati
·
2015-11-11 12:37
sequence
UVa 10003 - Cutting Sticks
记忆化搜索
; 需要判断当前状态是否被更新。
·
2015-11-11 12:30
uva
【HDU1198】Farm Irrigation(回溯+
记忆化搜索
)
数据流小,深搜即可。有些暴力。看其他人的题解用二维转换成一维做的并查集很巧妙,马上去研究一下!! 1 #include <iostream> 2 #include <cstring> 3 #include <cstdlib> 4 #include <cstdio> 5 #include <cmath>
·
2015-11-11 12:00
HDU
Codeforces 55D Beautiful Number (数位统计)
把数位dp写成
记忆化搜索
的形式,方法很赞,代码量少了很多。
·
2015-11-11 11:51
codeforces
hdu1142(最短路+
记忆化搜索
)
http://acm.hdu.edu.cn/showproblem.php?pid=1142 题目意思挺模糊 大致思路,以终点为源点,做一次单源最短路 深搜一遍图(下一步到达的位置 比现在位置 离终点更近) 记录每个节点上可行数 1 #include <bits/stdc++.h> 2 3 struct Edge 4
·
2015-11-11 11:06
HDU
hdu1428
每走一步需要保证 (走完之后所到区域)距离实验室的最短距离 < (当前区域)距离实验室的最短距离 问,从宿舍到实验室有多少条路可以走 单源最短路 +
记忆化搜索
1 #include &
·
2015-11-11 11:04
HDU
poj_1141
括号匹配,结果为匹配后的串 一、
记忆化搜索
(search with finger): 从[0, strlen(s)-1] 开始搜索,缩短区间,期间记录搜索过的值,防止重复 cut[
·
2015-11-11 11:03
poj
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
uva 10911 - Forming Quiz Teams(
记忆化搜索
)
题目链接:10911 - Forming Quiz Teams 题目大意:给出2 * n个选手的坐标, 要求将所有的选手分成n组, 每组两个人, 所有组的两个人之间的距离之和要最小, 输出最小值。 解题思路:网络赛的时候写过类似的题目, 只不过是选4个点做正方形,所以思路很明确,每次选取任意两个点配对,递归搜索,并记录下来。然后我不是用未运算来记录点的状态,而开了个数组,因为位运算
·
2015-11-11 10:10
form
POJ 1191 棋盘分割(DP)
其他就是注意搞一个in数组,这样
记忆化搜索
,貌似比较快。
·
2015-11-11 10:08
poj
hdu 2151 DP
很简单的DP,我用
记忆化搜索
打的~~ /* * hdu2151/win.cpp * Created on: 2012-11-2 * Author : ben */ #include
·
2015-11-11 10:33
HDU
POJ 2948 Martian Mining(DP)
思路 :
记忆化搜索
。也可以用递推。 //2948 #include <stdio.h> #include <string.h> #inclu
·
2015-11-11 10:49
poj
UVA 10285 Longest Run on a Snowboard(
记忆化搜索
)
Problem C Longest Run on a Snowboard Input: standard input Output: standard output Time Limit: 5 seconds Memory Limit: 32 MB Michael likes snowboarding. That'
·
2015-11-11 09:35
long
poj1088-滑雪 【dfs
记忆化搜索
】
http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 79806 Accepted: 29701 Description Michael喜欢滑雪百这
·
2015-11-11 09:25
poj
CDOJ 631 敢说敢做
记忆化搜索
and动规
//跟沈爷学的 传送门http://www.cnblogs.com/Xiper/p/4639636.html 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring>
·
2015-11-11 07:18
搜索
DFS专题 Zipper
这道题放在 DFS 里不太合适,我刚开始就想到了 DP 却没写,DFS 超时后看了题解才发现就是
记忆化搜索
(白书认为记忆化就是DP); 1TLE 2WA,把 lens 写成了 lent 后来才发现的。
·
2015-11-11 07:15
zip
[HDOJ] 小兔的棋盘
cid=13094&pid=1003
记忆化搜索
,不要要清空 f[][],这道题打表其实更快,因为打表会发现有陷阱; 陷阱:n=35 时会达到10^19,当然,用 int 能通过样例; n
·
2015-11-11 07:36
OJ
POJ 1088 滑雪
简单的DP,
记忆化搜索
; dp(i, j) if f[i, j]已经计算过 return f[i, j]; f[i, j] = 1; for i = 1:k (ni, nj) = (
·
2015-11-11 07:11
poj
UVALive 4864 Bit Counting --
记忆化搜索
/ 数位DP?
题目链接: 题目链接 题意:如果一个数二进制n有k位1,那么f1[n] = k,如果k有s位二进制1,那么f2[n] = f1[k] = s. 如此往复,直到fx[n] = 1,此时的x就是n的”K值“,现在要求[L,R]内的”K值“为X的数有多少个。(1<=L<=R<=10^18) 解法:首先可以看到10^18最多只有61位左右的数,所以我们只需处理1
·
2015-11-11 05:56
count
HDU 4444 Walk (离散化建图+BFS+
记忆化搜索
) 绝对经典
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4444 题意:给你一些n个矩形,给你一个起点,一个终点,要你求从起点到终点最少需要转多少个弯 题解:因为矩形数量很少50个,可以离散化成102*102的坐标,但是人可以贴着墙壁走,但不能穿过墙壁 所以每个点要分成9等分。建筑物的边占1/3,但是这样有漏洞。 1、当两个墙壁贴在一起,中
·
2015-11-11 04:28
HDU
poj3249
记忆化搜索
View Code #include <iostream>#include <cstdlib>#include <cstring>#include
·
2015-11-11 04:21
poj
poj3036
记忆化搜索
View Code #include <iostream>#include <cstdlib>#include <cstring>#include
·
2015-11-11 04:19
poj
HDU 1501 Zipper(Dfs
记忆化搜索
)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1501 题意:前两个字符串能和能合成第三个字符串,字符串内相对顺序不变 开始用Dfs()以为用了变量标记如果失败不停的return。。。。然后超时,然后想不通为什么要用vis[i][j]来标记有没访问过该状态,我当时想Dfs(i,j,k)里面都一直在递增啊,而且如果失败了
·
2015-11-11 04:24
zip
HDU 1142 A Walk Through the Forest(Dijkstra+Dfs(第一次用
记忆化搜索
))
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1142 题意:这题的题意很重要,起点是1,终点是2,现在主人公已经知道,所有边的长度,然后他开始选择走不走某条边了。。 对于图中的每条边(A,B),他选这条边的前提是:存在一条B到终点的路径,比所有从A道终点的路径都短(即只要B到2的最短路径比A到2的最短路径短就存在了),选择完所有可以
·
2015-11-11 04:21
dijkstra
Sense of Beauty(
记忆化搜索
)
题目链接 本来暴力写个TLE了,加上记忆化就A了。 1 #include <cstring> 2 #include <cstdio> 3 #include <string> 4 #include <iostream> 5 #include <algorithm> 6 #include <cmath>
·
2015-11-11 04:18
搜索
False Mirrors (
记忆化搜索
状压DP)
题目链接 题意 : 每一颗子弹破坏了三个邻近的阳台。(第N个阳台是与第1个相邻)射击后后的生存的怪物都对主角造成伤害- 如此,直到所有的怪物被消灭,求怎样射击才能受到最少伤害。 思路 : 状压,数据不是很大,可以爆一爆,或者DFS下去就行,枚举每一种状态。 1 //1152 2 #include <cstdio> 3 #include <cstr
·
2015-11-11 04:25
ror
HDU 1142 A Walk Through the Forest(SPFA+
记忆化搜索
DFS)
思路 : 先以终点为起点求最短路,然后
记忆化搜索
。
·
2015-11-11 04:49
REST
cdoj32-树上战争(Battle on the tree) 【
记忆化搜索
】
http://acm.uestc.edu.cn/#/problem/show/32 树上战争(Battle on the tree) Time Limit: 12000/4000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Status 给一棵树
·
2015-11-11 03:18
tree
SGU 256 Balloons(
记忆化搜索
)
题目链接:m个气球n个人吹。第i个人一分钟能吹Ai个气球然后至少休息Bi分钟才能吹下一分钟。问最少需要多少分钟吹完所有气球? 思路:f[sum][a1][a2][a3][a4]表示吹sum个气球,前1,2,3,4分钟吹的人分别是a1,a2,a3,a4需要的最少时间。当题目中出现一维非常小时,此处往往就是问题的突破口。 #include <iostream> #include &
·
2015-11-11 03:47
OO
利用矩阵快速幂求斐波那契数列
我们知道如果用
记忆化搜索
逐项递推可以将复杂度降低到O(n),但是对于更大规模的输入,这个算法效率还是不够高,那么我们考虑更高效的算法: 二阶递推:f(n+2)=(1 1) f(n+1)
·
2015-11-11 03:21
矩阵
动态规划——数字三角形(递归or递推or
记忆化搜索
)
动态规划的核心就是状态和状态转移方程。 对于该题,需要用抽象的方法思考,把当前的位置(i,j)看成一个状态,然后定义状态的指标函数d(i,j)为从格子出发时能得到的最大和(包括格子本身的值)。 在这个状态定义下,原问题的解就是d(i,j). 下面看一下不同状态之间如何转移。从格子(i,j)出发有两种策略。如果向左走,则到(i+1,j)后需要求“从(i+1,j)出发能得到的最大和”这一问题,即
·
2015-11-11 03:02
动态规划
nyoj 10——skiing————————【
记忆化搜索
】
skiing 时间限制: 3000 ms | 内存限制:65535 KB 难度: 5 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域
·
2015-11-11 02:44
搜索
UVA 707 - Robbery(内存搜索)
可是也没有时刻能够能够确定小偷位置,就是不知到 思路:
记忆化搜索
。dp[x][y][ti]表示在x。y位置。ti时刻时候,小偷是否可能出如今这个位置,1表示有可能。0表示没可能,因为小偷
·
2015-11-11 00:26
uva
uva 10118 - Free Candies
dp 原本在
记忆化搜索
时想用hash来判重着,写了一个hash版本ac后,在写解题报告时发现其实不用hash也可, 直接改为
记忆化搜索
果断ac,没想到这么容易就过了,这题一开始想多了。
·
2015-11-11 00:40
free
UVA 10400 Game Show Math (dfs +
记忆化搜索
)
Problem H Game Show Math Input: standard input Output: standard output Time Limit: 15 seconds A game show in Britain has a segment where it gives its contestants a sequence
·
2015-11-10 22:47
Math
上一页
29
30
31
32
33
34
35
36
下一页
按字母分类:
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
其他