题解列表

筛选

一维状态压缩

解题思路:1、自下而上求解(自上而下求解很难搞,用递归很容易超时)。2、注意状态转移方程:dp[t][t1]=dp[t][t1]+Max(dp[t+1][t1+1],dp[t][t1]),这个方程后面会详讲。注意事项:这道题应该写错了,应该是向下或向右下,

01背包,简单明了

解决思路(动态规划)我们假设value表示背包的总价值,k表示放进去的物品的编号(这里我规定物品编号从1开始)。C表示当前背包的当前的重量。所以我们可以用一个共识来表示value=B(k,C)。B为一个函数,可以看作将1到k的物品放入背包并且规定当前背包的容量,就可以得到他们当前最大的价值。

蓝桥杯算法提高VIP-计算时间

摘要:解题思路:分别判断时位分位跟秒位是否小于10,小于则在前面加上0注意事项:参考代码:#include <iostream>using namespace std;int main(){int n,t;……

分分钟的碎碎念 序列型动态规划

序列型动态规划**关键是寻找父亲节点,子节点长度在父亲节记录的长度+1**```cpp#include#include#includeusingnamespacestd;intn;intfa[1005];intdp[1005];intans;intmain(){cin>>n;fill(dp,

三角形 基础Dp

**题目里说的是,每一步只能由当前位置向左下或右下,结果应该是右下和正下**很基础的Dp,注意每次结算完后把数组初始化,其实也可以使用**一维Dp滚动数组优化空间**,太懒了,不想搞代码如下,将就看看吧```cpp#include#include#includeusingnamespacestd;in