![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
递推
kalilili
双眼闭三年。
展开
-
UVa 116 - Unidirectional TSP(单向TSP)
题目:给你一个n*m的数字表格,找到一条从左到右的路径,使得上面的数字和最小。输出字典序最小的行号路径 (每次可以从(i,j),走到(i,j+1),(i+1,j),(i-1,j)循环无限延伸没有边界)思路:由于要输出字典序最小的路径,所以要逆向dp,边界在n列从右到左dp说明:逆向dp保证字典序最小(后继最小),正向能保证每点前驱最小。//0原创 2015-02-17 22:58:40 · 937 阅读 · 0 评论 -
HDU5262 15年百度之星复赛1005 最强密码(神奇的dp)(好题)
Problem Description由于近来密码库被盗的现象层出不穷,度度熊决定为自己的账号找一个最强密码。在研究了密码库很久之后,它总结出了一个规律:密码库中的所有密码都是一个“密码生成串”的子序列(某个序列的子序列是从最初序列通过去除某些元素但不破坏余下元素的相对位置(在前或在后)而形成的新序列)。经过强大的计算集群夜以继日的工作,度度熊得到了这个“密码生成串”。现在它希望找到一原创 2015-06-06 20:37:17 · 1402 阅读 · 0 评论 -
POJ-2442 Sequence (K路归并问题拓展)
题意:有n行含m个元素序列,从每行取一个数得到他们的和,一共可以得到m^n个和。输出前n个最小的和。思路:可以用优先队列递归解决,当只取前两行的数,得到两个数的和的前n小的序列。这个序列就相当于把第一行和第二行合并,再解决n-1行的子问题。用优先队列解决的时候也有点小技巧,类似尺取法。//236 KB 563 ms C++ 1480 B #include#include#incl原创 2015-03-30 11:05:34 · 622 阅读 · 0 评论 -
POJ 1625 Censored!(自动机DP+高精度)
题意:给出包含n个字符的字符集,以下所提字符串均由该字符集中的字符构成。给出p个长度不超过10的字符串,求长为m且不包含上述p个字符串的字符串有多少个。数据范围:1思路:设不同的后缀为不同的状态,可以由自动机建立状态转移图DFA,确定状态转移矩阵即可由于本题没对结果取模,所以是高精度,所以m的范围很小50,不需要矩阵二分幂,否则会更麻烦,所以最多连成50次矩阵,复杂度O(n^2*m原创 2015-03-08 20:35:36 · 643 阅读 · 0 评论 -
HDU 2243 考研路茫茫——单词情结(自动机DP+矩阵)
考研路茫茫——单词情结Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3991 Accepted Submission(s): 1165Problem Description背单词,始终是复习英语的重要环节。在原创 2015-03-08 20:42:43 · 906 阅读 · 0 评论 -
POJ 2778 DNA Sequence(AC自动机确定DFA转移图+矩阵快速幂)
这道题极好的展示了AC自动机在构造转移图DFA上的应用DFA转移图就是展示状态的转移过程的图,DFA图构造出来后就可以用DP求出任何DNA长度下,任何状态的个数本题用自动机求出DFA矩阵,那么有| dp[n][0] dp[n][1] ... dp[n][m] |=|dp[1][0] dp[1][1] ... dp[1][m] | * DFA^(n-1) (m指状态总数) DP原创 2015-03-07 16:17:51 · 991 阅读 · 0 评论 -
POJ 2506 Tiling(高精度+递推)
高精度模版(bin神的)/* * 高精度,支持乘法和加法 */struct BigInt{ const static int mod = 10000; const static int DLEN = 4; int a[600],len; BigInt() { memset(a,0,sizeof(a)); len =原创 2015-03-08 12:39:27 · 617 阅读 · 0 评论 -
UVA 1625 Color Length (DP)
题意:见紫书P276思路:(设一个颜色序列为s1,另一个为s2)要把最优子结构找到是关键,状态就是天然的执行步骤,d(i,j)表示s1移走了i个元素s2移走了j个元素的状态。下一步只有两个决策,决策后的剩余的问题和原问题一样,这就是最优子结构。所以每次决策时要保证决策的产生的花费+子问题的解达到最优所以状态方程显然:dp[i][j]=min(dp[i+1][j],dp[i][j+1])原创 2015-03-04 17:53:41 · 1032 阅读 · 0 评论 -
HDU 2157 How many ways??(经典矩阵快速幂)
题意:求A经过K个点到B方案数方法一:1个0 1 的矩阵 Aa[i][j] = 1 表示i 到 j可达 或者说 i 到 j 有1条路 或者说i到j经过一个点的方案数 路可以重复走 而A2 = A* Aa[i][j] 的含义是从i到j经过2个点的方案数A的k次方 A[i,j]代表 i到j走k步的方案有a[i][j]矩阵乘法的定义居然和这个模型如此契合,佩服,所原创 2015-02-27 15:20:11 · 751 阅读 · 0 评论 -
钢条切割问题
(来自算法导论P204)问题描述:给定一段长度为n英寸的钢条和一个价格表Pi(i=1,2,3,...,n),求切割钢条方案,使收益rn最大。思路(递归):在钢条左边切割i段,再对右边剩余长度n-i段继续进行切割(递归求解),对左边的一段的则不再进行切割。所以有:若不做切割第一段长度为n,收益为pn,剩余部分长度为0,对应的收益ro=0;则求解公式:r(n)=max(1不原创 2014-12-19 17:11:24 · 999 阅读 · 0 评论 -
Hdu 3336 Count the String(DP+KMP)(好题)
题意:对于长度为len的字符串,我们知道它包含有len个前缀,现在要你统计出这个字符串里面,包含这些前缀的总个数。思路:这题可以运用KMP的next数组来解,不过也太难想了吧orz,为了用next解这题想那么多也不算是很好的方法orz。如何根据next数组的性质来解这道题,next数组的值是当前子串的后缀与前缀匹配的个数,所以根据这个性质把题待求的对象改一下:求每种字母作为结尾的串在原原创 2015-02-17 19:55:37 · 677 阅读 · 0 评论 -
uva 1347 - Tour(双调欧几里得)
题目大意:给出n个点,确定一条 连接各点的最短闭合旅程的问题。解题思路:dp[i][j]表示说从i联通到1,再从1联通到j的距离。dp[i][j] = dp[i-1][j] + dis(i,i-1);dp[i][i-1] = min (dp[i][i-1], dp[i-1][j] + dis(i, j));记忆化代码://0 KB 58 ms#includ原创 2015-02-17 22:18:08 · 582 阅读 · 0 评论 -
HDU 1058 Humble Numbers(递推)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1058题意:丑数是指只有2,3,5 or 7这几个素因数的数(所以1也是丑数),找到第n个丑数。思路:除了2,3,5,7任何一个丑数都是由另一个丑数乘上2,或3,或5,或7得到的。所以可以用优先队列,每取出一个丑数就入队他们乘上2,3,5,7得到的四个丑数,这样每个丑数都生成了。复杂度还是不原创 2015-02-12 00:08:34 · 747 阅读 · 0 评论 -
UVa 11400 Lighting System Design(DP)
题意 :设计某个地方的照明系统 一共需要n种不同类型的灯泡 接着输入 每种灯泡的电压v 对应电压电源的价格k 每个灯泡的价格c 需要这种灯泡的数量l 电压低的灯泡可以用电压高的灯泡替换 每种灯泡只需要一个对应的电源 求完成这个照明系统的最少花费dp,多阶段决策,把电压一排序,小的可以换成大的,对于每个阶段i,都有i种决策,两个dp方向均可//0 KB 145 ms原创 2015-02-17 22:00:19 · 458 阅读 · 0 评论 -
UVA 1025 A Spy in the Metro (DP)
题意:有线性的n个车站,从左到右编号分别为1~n。有M1辆车从第一站开始向右开,有M2辆车从第二站开始向左开。在0时刻主人公从第1站出发,要在T时刻回见车站n 的一个间谍(忽略主人公的换乘时间)。输出最少的等待时间,如果无解输出impossible。思路:“时间单向流逝,是天然的序,影响的决策的只有当前的时间和地点”这是lrj的第一句话,真6,已经引出了解法和阶段决策原创 2015-02-17 22:34:46 · 559 阅读 · 0 评论 -
UVA 437 The Tower of Babylon (DAG上的无源最长路 or LIS)
题目大意有n种长宽高为x,y,z的砖头,每种都有无数个。砖头可以用不同姿势的方向来盖。砖头a以某种姿势可以盖在砖头b上,当且仅当a的底部的长宽都要比b的底部长宽要小。问最高可以建多高?思路:按图论的最长路dp也可,用 LIS也可以也就相当于把DAG拓扑排序了一下//0 KB 19 ms#include#include#include#in原创 2015-02-17 22:41:38 · 783 阅读 · 0 评论 -
Codeforces Round #249 (Div. 2) D. Special Grid (递推乱搞)(好题)
time limit per test4 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an n × m grid, some of its nodes are black, the ot原创 2015-08-05 23:05:03 · 861 阅读 · 0 评论