记忆化搜索
文章平均质量分 55
chen_minghui
这个作者很懒,什么都没留下…
展开
-
codeforces 797e Array Queries 部分dp+暴力
题意:一个长度为n的数组,ai ,1= 思路:部分dp,k较大时,路径较短,可以暴力,k较小时,路径可能很深,记忆化搜索. #include #include using namespace std; const int maxn = 100010; int a[maxn]; int f[maxn][420]; int n; int dfs(int q,int k) { if(q>n)ret原创 2017-05-01 20:50:10 · 354 阅读 · 0 评论 -
hdu 1619 Unidirectional TSP 记忆化搜索
题意:一个n*m的矩阵,从第一列任意位置处出发,求走到最右端的最小权重值。往右走的规则为,对角线和水平方向都可以,如果超过最上面,则认为与下面相邻,如果超过最下面,则认为与最上面相邻. 有些类似树塔,每个位置都有一个dp[I][j],代表从当前点走到最右方需要的最少步数,据说是《算法竞赛入门经典》中的例题,打印路径为书上的代码,自己写的太长了 #include #include #includ原创 2017-03-14 23:00:00 · 601 阅读 · 0 评论 -
hdu 1078 FatMouse and Cheese
题意:有n*n大小的网格,每个格子中有一定量的奶酪,一只老鼠从(0,0)开始沿着水平和垂直两个方向走,并且要求目标格子的奶酪数目大于当前格子的奶酪数,每次最多走k格,问到它无法走动时,获得的奶酪的最大数目是多少 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1078 #include #include #define Max(a,b) a>b?a原创 2017-03-12 20:20:34 · 201 阅读 · 0 评论 -
POJ 3592 Instantaneous Transference 强连通缩点+dp最长路
题目链接:http://poj.org/problem?id=3592题意在一个n*m的方格中,方格可以填三种类型的字符, 1.数字 2.’*’ 3.’#’ 数字代表他到达这儿所能获得的价值,*表示这点为传输机,走到这儿可以选择传送与它绑定的某个点,#代表墙壁,不能走到这儿。一个人从左上角走到右下角,在每个点只能往下或往右,在传输机位置处,可以选择传送或不传送,每个点的价值只能获得一次,问原创 2017-08-18 20:28:27 · 244 阅读 · 0 评论 -
hdu 1142 A Walk Through the Forest 最短路+记忆化搜索
题意:每天下班后,某人都要从他的办公室,深林的一端,结点编号为1,走到深林的另一端,结点编号为2,为了放松心情,并且能尽快到家,他想知道有多少路满足条件的路能够到家。 条件:当前在A点,与A相连的B点如果满足,A到2的最短距离大于B到2的最短距离,那么A可以从B走,否则不能走。按照这样的规则走到终点,算一条路径,一开始也以为是求最短路的条数= = 思路:dijstra求最短路,然后记忆化搜索原创 2017-04-17 20:50:57 · 340 阅读 · 0 评论 -
HDU 2833 WuKong 求两条最短路间最多公共点数
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=2833题意两个人从两个点出发(不一定是同一个点),到达两个点(不一定是同一个点),问他们的最短路间最多可以有几个公共点。思路dp[i][j] 代表I到j这条最短路中最多有几个点。#include<cstdio> #include<queue> #include<iostream> #include<vect原创 2017-09-14 19:27:02 · 265 阅读 · 0 评论