
dp
文章平均质量分 60
SwustLpf
长得帅~~~
展开
-
HDU 1424 搬寝室
看别人博客说先排序,然后取相邻两个的疲劳值肯定最小,但是为啥喃? 先来看个证明:已知:0<a<b<c<d0<a<b<c<d0ab+cd>ac+bd>ad+bcab+cd>ac+bd>ad+bcab+cd>ac+bd>ad+bc 貌似说是个什么 排序不等式,同序>乱序>逆序 就ab+cd&原创 2018-05-06 21:05:32 · 300 阅读 · 0 评论 -
牛客练习赛47
文章目录C-DongDong跳一跳C-DongDong跳一跳https://ac.nowcoder.com/acm/contest/904/C题意:给n个数,每个数有 杆的高度 和 权值 两种属性,要求从第一个杆上跳,只能从左往右,并且高度差小于等于M,求能获得的最大的权值有想过dp,dp[x]表示高度为x的时候所获得的最大的权值,就跟背包问题差不多,但是直接这样dp是没有顺序的,而且遍历...原创 2019-06-08 00:14:30 · 480 阅读 · 1 评论 -
poj 1837 Balance
文章目录题目链接:遇到的问题①用map②初始化题目链接:http://poj.org/problem?id=1837题意:有个天平每边有N个刻度,负数代表在左边,整数代表在右边,然后有M个砝码。问挂完这M个砝码使天平平衡的有多少种方案?竟然是个dp,感觉这个转换很牛皮呀,dp[i][j]表示前i个物品挂完天平状态是j的方案数,感觉只要把这个状态构建好了转移方程其实还是挺简单的遇到的问题...原创 2018-11-27 17:19:37 · 175 阅读 · 0 评论 -
UVA1025 Thematic Contests
文章目录题目链接:题目链接:题意:有N个站台,最终时间T,然后N-1个数表示每两个站台之间需要的时间,然后再给一个M1表示有M1个发车时间,表示从左到右这个方向的火车的发车时间,以及一个M2和M2个数表示从左到右这个方向的火车的发车时间。问这个人从1站台出发,T时刻要到达N站台,但要停留在站台上的时间最少,也就是说尽可能多的时间在火车上比如第一个样例:4555 10 1540 5 ...原创 2018-11-26 22:08:29 · 227 阅读 · 0 评论 -
POJ 3046 Ant Counting(多重集组合数,归纳优化第三层循环)
http://poj.org/problem?id=3046 就是这种模型: 给 NNN 种物品,每种有 aiaia_i 个,从中选出 mmm 个,求方案数?还是直接来样例比较直接: 样例就是:有 两个 111 ,两个 222 ,一个 333,问从中选 222 个数 加上 从中选 333 个数的方案数之和 dp[i][j]dp[i][j]dp[i][j] 表示从前 iii 种物品中,选...原创 2018-11-03 15:43:24 · 295 阅读 · 0 评论 -
hdu 1506 Largest Rectangle in a Histogram
DPDPhttp://acm.hdu.edu.cn/showproblem.php?pid=1506思路就是记录下每个点大于等于他的最左边和最右边的位置就能够计算了 暴力地去找肯定不行,关键就是优化 比如找 L[i]L[i]L[i] 的时候,LLL是记录左边的东西,因此要是 L[i]L[i]L[i] 左边的就全部是已知的东西,那就能够往右边推,右边一个的信息就能够很...原创 2018-07-10 15:52:03 · 153 阅读 · 0 评论 -
poj 2184
哎,我反正是想不到是01背包。。。 最多100个物品,每个物品 价值 和 重量 都是[−1000,1000][−1000,1000][-1000,1000],所以重量最多是[−100∗1000,100∗1000][−100∗1000,100∗1000][-100*1000,100*1000]但是背包不能是负的,就加都加100000变成[0,200000][0,200000][0,200000],...原创 2018-04-25 22:30:32 · 881 阅读 · 0 评论 -
1241 特殊的排序
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1241&judgeId=548566 这道题真的是很机智啊,代码很短 就是要求 连续的 递增的 数列,然后用总的减#include"bits/stdc++.h"using namespace std;const int maxn=5e4+5;int...原创 2018-06-07 20:11:59 · 262 阅读 · 0 评论 -
51nod 1201 整数划分
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1201 又是一道不看题解我根本想不到的dp题(;´д`)ゞ dp[i][j]dp[i][j]dp[i][j]表示iii这个数是由jjj种不同的数组成的 那么怎么转移喃? 你看: 比如dp[6][3]={1,2,3}dp[6][3]={1,2,3}dp[6][3]=...原创 2018-06-05 21:20:07 · 198 阅读 · 0 评论 -
51nod 1202 子序列个数
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1202 dp[i]dp[i]dp[i]表示计算到第iii个的子序列个数 ①:如果第iii个这个数xxx是没出现过的,那么所有的子序列就是:原来i−1i−1i-1的所有子序列+++把所有原来i−1i−1i-1的子序列的最后一位换成xxx,再+x+x+x这个数单独作为一个子...原创 2018-06-05 20:54:25 · 151 阅读 · 0 评论 -
51nod 1023 石子归并 V3
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1023&amp;judgeId=542658叫做:GarsiaWachs算法 就是加入有a,b,ca,b,ca,b,c三个先合并左边两个的代价是2a+ab+c2a+ab+c2a+ab+c,而先合并右边两个的代价是a+2b+2ca+2b+2ca+2b+2c,所以只用看a...原创 2018-05-26 11:29:17 · 305 阅读 · 0 评论 -
power oj 2784: 上决╇ф人员分配问题
https://www.oj.swust.edu.cn/problem/show/2784 刚看到以为是背包,结果两边选的个数要一样多。。。就不能背包了。。。 然后问同学。。。 哎,dp题真不知道他们是怎么想到的0.0 dp[i][j][k]dp[i][j][k]dp[i][j][k]表示在前iii个物品中选jjj个的战斗力为kkk的情况是不是有 转移方程就是: dp[i][j][k]...原创 2018-05-21 16:37:17 · 360 阅读 · 0 评论 -
LCS
O(n^2): 跟背包一样,这种信息全部记录下来的好处就是阔以回溯#include"cstring"#include"algorithm"#include"iostream"using namespace std;const int maxn=1e3+5;int dp[maxn][maxn];int vis[maxn][maxn];string s1,s2;void trac..原创 2018-05-21 13:41:51 · 173 阅读 · 0 评论 -
最长上升子序列(LIS)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1134&amp;judgeId=529543/*input:85 1 6 8 2 4 5 10output:5*/#include"bits/stdc++.h"using namespace std;const int maxn=1e5+5;int ...原创 2018-05-07 13:25:33 · 204 阅读 · 0 评论 -
方格取数【多线程dp】
文章目录最普通版时间优化滚动数组空间优化最普通版第一次做这种题诶~#include"bits/stdc++.h"using namespace std;const int maxn=11;int a[maxn][maxn];int dp[maxn][maxn][maxn][maxn];//dp[i][j][k][l]表示第一条路径取到(i,j),第二条路径取到(j,k)时的最大值 ...原创 2019-08-14 14:30:25 · 199 阅读 · 0 评论