
动态规划
几许情愁
这个作者很懒,什么都没留下…
展开
-
(hdu)饭卡问题
饭卡Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。 Input多组数据。对于...原创 2018-05-15 19:35:45 · 1003 阅读 · 0 评论 -
2019牛客多校第二场 H Second Large Rectangle 【DP+单调栈】
题目链接:https://ac.nowcoder.com/acm/contest/882/H题目大意:给出一个01矩阵,求由1构成的第二大矩阵的面积;/*dp[i][j]表示当前位置向上扩展连续是1的长度开一个结构体存每个点构成最大矩阵的宽和高,单调队列里存高递增的点,这样栈里只有比当前点高要低的元素(因为比当前高的也用不着),然后循环一变栈里的元素更新第一大和第二大的矩阵*/...原创 2019-07-23 15:07:42 · 232 阅读 · 0 评论 -
洛谷1004(HRBUST - 1214) 方格取数 【DP】
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1214题目大意:矩阵上面有一些数字,从左上走到右下,在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从左上角点到右下角点共走两次,试找出2条这样的路径,使得取得的数之和为最大。 ...原创 2019-07-16 14:39:52 · 233 阅读 · 0 评论 -
codeforce 24D Broken robot 【概率DP】
题目链接:http://codeforces.com/problemset/problem/24/D;题目大意:给出 n*m 的方格地图,机器人在 (x, y),机器人只能向下,向左,向右走,当达到边界时不能走,问到达最后一行需要的期望;思路:有两种思路,一个是通过多重的循环精确答案,另一个是找到递推式;首先对于一个不再边界的点 (i, j),从这里到最后一行需要的期望是由周围决定...原创 2019-05-28 14:19:28 · 216 阅读 · 0 评论 -
hdu 2159 FATE 【二维完全背包】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159/*题意: 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。 久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现 在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xh...原创 2019-05-17 16:53:07 · 163 阅读 · 0 评论 -
Favorite Dice【期望dp】
题目链接:https://vjudge.net/problem/SPOJ-FAVDICE/*题目大意:给出一个n个面的筛子,问要使得每个面都朝上一次,需要投掷多少次。思路:现在已经有k 个面,想要得到 k+1个面,平均需要投 n/(n-k)次骰子, 因为投一次骰子得到其他n-k 个面的期望是 (n-k)/n,那么想要得到一 个面就是得到期望为1,就需要投 ...原创 2019-05-15 21:35:56 · 204 阅读 · 0 评论 -
codeforces 159D Palindrome pairs 【manacher+递推】
题目链接:http://codeforces.com/problemset/problem/159/D;/*题目大意:求一个字符串内不覆盖的回文串对数;思路;首先可以用manacher求出一个p 序列,记录的是以当前字母为中心是回文串的长度,然后求一 下包括当前字母前面的字母形成回文串的总数(前缀和),包括后面的字母利用了前面的字母 形成的回文穿。 ...原创 2019-05-15 15:46:40 · 454 阅读 · 0 评论 -
CodeForces - 467C George and Job 【DP】
题目链接:http://codeforces.com/problemset/problem/467/C;题目大意:给一个序列,让求k个长度为m的的子序列的最大值;/*dp[i][j]表示前i个选j个子序列的最大值转移方程:dp[i][j]=max(dp[i-1][j],dp[i-m][j-1]+tmp)表示当前tmp选或不选(tmp为最右下标为i的子序列和)*/#includ...原创 2019-05-07 21:24:03 · 166 阅读 · 0 评论 -
hdu 5543 Pick The Sticks【DP】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5543题意:有长度为 len 的容器,有n种木棍,每种木棍有对应的长度和价值,容器上可以放木棍,不能重叠,如果在容器的两边,只要木棍的重心在容器内就能放的上,问最后能放的最大价值;/*做DP,要先想数组每一维代表着什么,然后想转移方程dp[i][j][k],当前处理到第 i个木棍,枚举长度...原创 2019-04-17 20:04:31 · 161 阅读 · 0 评论 -
hdu 1160 FatMouse's Speed 【LIS变形】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160题意:给出老鼠的体重和速度,求最长的序列,使得体重递增,速度递减最长下降子序列变形;思路:将老鼠的编号,速度,体重存入结构体种,按照体重递增来排序,运用LIS求最长递减子序列; 注意这道题还要输出路径,用个pre[ ]数组存;LIS模板:for(int i=...原创 2019-03-15 16:18:53 · 125 阅读 · 0 评论 -
RMQ 模板
RMQ:离线算法,求序列中一段区间的最值; //最大值用max 最小值用minvoid advan(int n){ for(int i=1;i<=n;i++) f[i][0]=a[i]; for(int i=1;(1<<i)<=n;i++) { for(int j=1;j+(1<<i)-1&...原创 2019-02-26 20:25:30 · 159 阅读 · 0 评论 -
HihoCoder - 1710 等差子数列 【RMQ】
给定N个整数A1, A2, ... AN,小Hi会询问你M个问题。对于每个问题小Hi给出两个整数L和R(L ≤ R),请你找出[AL, AL+1, AL+2, ... AR]中最长的等差连续子数列,并输出其长度。 例如[2, 3, 5, 7, 9]中最长的等差连续子数列是[3, 5, 7, 9]长度为4。Input第一行包含两个整数N和M。 第二行包含N个整数A1, A2, ...原创 2019-02-27 21:40:45 · 336 阅读 · 0 评论 -
求最长公共子序列【lcs模板】
#include<stdio.h>#include<string.h>#include<string>#include<queue>#include<stack>#include<map>#include<vector>#include<set>#include&原创 2018-12-01 17:10:58 · 140 阅读 · 0 评论 -
2019牛客多校第五场 G subsequence 【DP】
题目链接:https://ac.nowcoder.com/acm/contest/885/G;题目大意:给出 s 串和 t 串,求 s 串中有多少个子序列大于 t 串;/*子序列包括长度等于m和长度大于m的。对于长度大于m的,可以用组合数得到,枚举不为零的开头,剩下的数字再选m以上个包括m个。对于长度相同的,可以用dp得到,dp[i][j] 表示s串前i个选j个并且大于t串的前...原创 2019-08-06 10:50:21 · 210 阅读 · 0 评论