随笔分类 - 算法合集 / 动态规划
摘要:背包问题的更深层次的动态规划,有各种变形,建议配合动态规划dp那一章先了解背包再食用 这节我估计要学习15个学时左右,还是挺重要的 day 01: //动态规划学习记录二 背包问题 //0-1背包:只有一个物品,只能选择选或不选; //多重背包:每个物品有次数限制; //完全背包:可以选无限次,也是
阅读全文
摘要:重新学习dp的第一步,计划学习dp用时40个学时,砥砺前行吧大伙 //最长上升子序列问题 #include<bits/stdc++.h> using namespace std; const int N=1e5+10; int f[N],a[N],n,res; int main() { cin>>n
阅读全文
摘要:题目描述 宇航员 Bob 有一天来到火星上,他有收集硬币的习惯,于是他将火星上所有面值的硬币都收集起来了,一共有 种,每种只有一个:面值分别为 a1,a2,…,an。Bob 在机场看到了一个特别喜欢的礼物,想买来送给朋友 Alice,这个礼物的价格是 X元。Bob 很想知道为了买这个礼物他的哪些硬币
阅读全文
摘要:题目描述 北大信息学院的同学小明毕业之后打算创业开餐馆。现在共有 nnn 个地点可供选择,小明打算从中选择合适的位置开设一些餐馆。这 nnn 个地点排列在同一条直线上。我们用一个整数序列 m1,m2,…,mnm_1, m_2, \dots , m_nm1,m2,…,mn 来表示他们的相对位置。
阅读全文
摘要:蒟蒻的我在这个题上花了40分钟还超时了(悲 不说了先上超时的代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 int res,n,a[]={1,2,5,10,20,50,100},x; 4 void dfs(int st,int num,i
阅读全文
摘要:///关于下标问题,当在计算时运用到i-1的时候,可以使用i从1开始,就没有越界的风险 ///如果没有,一般从0开始比价好; 1.要想明白动态规划路线 ->第一步写出动态集合,第二步开始动态计算; 1-1 0-1背包问题: #include<bits/stdc++.h> using namespac
阅读全文