动态规划
我们教练不会签到
neuq人 签到只会stl,dp只会背包,数据结构只会入门,乱搞假算法折磨队友
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【每日一题】二维费用的背包问题
acwing上的一道板子题加一层状态解决问题,最近打算开数位dpac代码:#include<bits/stdc++.h>using namespace std;int dp[1005][1005];//左边体积 右边重量int main(){ int n,v,m; cin>>n>>v>>m; int vi,mi,wi; for(int i=1;i<=n;i++){ cin>>vi>>mi&.原创 2021-10-08 00:23:25 · 115 阅读 · 0 评论 -
【每日一题】洛谷 p1433 吃奶酪 状压dp
- [P1433 吃奶酪](https://www.luogu.com.cn/problem/P1433)换一种类型,这次求长度最小值,(n<15)接着状压题目:房间里放着nn块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)(0,0)点处。梳理状态:1吃了几个,2吃了哪几个(dp[i个][吃完第i个是什么状态])写出递推式dp[j][i]=min(dp[j][i],dp[p][i-(1<<(j-1))]+a[p][j]);/...原创 2021-10-06 17:00:07 · 398 阅读 · 0 评论 -
【每日一题】2019 ICPC Malaysia National F 状压dp
这题有点意思,卡了不少时间题目大意就是有两行正整数按照从1到n的顺序排列,两行数之间两两匹配,有两个条件要满足,1是两数之间不能超过e,2是有k组数不能匹配。看到e的取值不大我们直接选择状压dp[当前位置][当前状态]+=dp[上个位置][上个状态]for(int i=1;i<=n;i++){//选一个人 for(int p=0;p<(1<<(2*e+1));p++){//上一个人的所有状态 for(int j=-e;j<=e;j++){/.原创 2021-10-04 12:05:33 · 228 阅读 · 0 评论 -
背包优化方式和困惑(第二期)
各位国庆快乐哈,祝各位玩的开心,我们明天就开学了,就多放一天枯了55555.愿有情人苦尽甘来最终两不辜负,愿保研边缘党成功上岸,愿我少掉几根头发╮(๑•́ ₃•̀๑)╭这回讲完背包中的完全背包和多重背包和混合问题。完全背包问题:每件物品无限多个,我们可以回想上次提到的01背包为什么从后向前遍历,是因为从后向前更新,后面的数组更新不会影响前面的排列。遇到完全背包可以反过来思考,让数组从前向后更新,就可以多次使用同一个物品。基础的依然是滚动数组优化空间复杂度:O(VN)还有一种...原创 2021-10-03 00:53:01 · 215 阅读 · 0 评论 -
【每日一题】P1220 关路灯 区间dp
经典区间dpP1220 关路灯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)败犬二人组大意:一个村庄有一条路,有一个人关灯,每个灯的功率不一,要怎么关灯才能使耗电最小看到题目之后先分析,假如两侧只有两盏灯、三盏灯、四盏灯。。。。一直到n盏灯,属于递推关系(每多一盏灯多两次判断),递推式和数量相关,存在两种状态(位于已经关掉一定数量的灯的左边,或者右边)梳理一下状态,(左端点,右端点,所在位置(0在左,1在右)dp[i][j][0]/dp[i][j][1]得到递原创 2021-09-30 16:04:55 · 244 阅读 · 0 评论 -
每日一题 股票买卖V 【acwing】状态机模型
一道拿来练手的dp,思维不深但是可以练习动态规划中寻找状态,确定递推式。原创 2021-09-27 22:52:59 · 242 阅读 · 0 评论
分享