DP
文章平均质量分 60
乌鸡哈拉王
这个作者很懒,什么都没留下…
展开
-
Collatz Conjecture upc训练赛第五场
题目大概的意思是在一个二维平面上有一些点,给定起点终点,问在不浪费时间的情况下最多可以走过多少点可以把题目转化为一个求lis的问题,把符合范围的点按x排序(一定要符合起点终点的范围!!!边界以外的点万万不能加进来),在符合范围的点集里求一个lis(y坐标,x坐标以保证有序),难度不大,WA了近20发~~ 毁灭梦想的一题点击打开链接#include <bits/stdc++.h> us...原创 2018-04-26 18:12:32 · 116 阅读 · 0 评论 -
Schrödinger's Knapsack ZOJ4019
题意是有一个背包,有两类东西,每一类东西都有一个系数,每个东西的价值等于 (当前背包剩余体积-当前物品体积)*系数先考虑一下贪心 ,把两类东西按体积排个序。dp状态转移方程为 dp[i][j]=max(dp[i-1][j]+k1*as,dp[i][j-1]+k2*as); 其中as为当前剩余体积一定要把边界初始化做好 QAQhttp://acm.zju.edu.cn/onlinejudge/sh...原创 2018-04-26 18:12:17 · 169 阅读 · 0 评论 -
Treasure Map DP
题意:有n个金矿,每个金矿有一个最开始的产量,同时产量会随着天数增加而减少,金矿之间有一些边,边权是行走需要的天数,人在金矿只等待一天,但是可以离开后再返回这个金矿,问最大可以收集多少金子。思路:最开始以为需要预处理出来可达矩阵,点数为1000,很明显会T,但是后来发现想多了。。。令dp[i][j] 表示 在第i天第j个金矿可以取得的金子的最大值,dp[i][j]就可以由与j相邻的金矿并且在规定时...原创 2018-04-28 23:37:03 · 260 阅读 · 0 评论 -
LightOJ - 1422
题意:给出每一天需要穿的衣服,衣服外面还可以套衣服,问n天最少需要穿多少次衣服。比如1 2 1,可以第一天穿上1,不要脱掉,第二天穿上2,第三天脱掉2,只需要穿两次。思路:考虑区间dp,dp[i][j]代表从第i天到第j天所需要最少穿衣服次数,枚举断点k,若第i天与第k天所穿的衣服相同,这里就可以考虑重复利用这件衣服,转移方程就是dp[i][j]=min(dp[i][j],dp[i][k-1]+d...原创 2018-04-29 23:31:15 · 283 阅读 · 0 评论 -
POJ - 2955 Brackets
题意:给一个有'(' ')' '[' ']'组成的字符串,问满足括号匹配的最大长度子串。思路:区间dp,dp[i][j]代表区间i到j的ans,若i与j匹配,dp[i][j]=dp[i+1][j-1]+2,不匹配则枚举断点,dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j])点击打开链接#include<stdio.h> #include<stri...原创 2018-04-29 23:44:03 · 91 阅读 · 0 评论 -
22 dp
题:一共有 n个数,第 i 个数是 ai ai 可以取 [li , ri] 中任意的一个值。设 ,求 S 种类数。 思路:dp[i][j]代表i组数是否可以构成j这个数字,显然dp[i][j]=dp[i-1][j-k*k] li<=k<=ri,j极端情况下是1e6,看到大佬的思路是用bitset优化(说实话第一次用这玩应),如果bitset中第i位为1代表可以构造出i,这样bitse...原创 2018-07-13 20:49:13 · 222 阅读 · 0 评论