链表本来想弄完的但是新题单出来了就把今天关于链表的手写笔记拿出来吧
今天还搞懂了题单中的背包问题
#include<bits/stdc++.h>
using namespace std;
long long f[10005][10005]={0};
long long w[1000007];//时间
int v[10000007];//价值
int main()
{
long long t, m;
cin >> t >> m;
for(long long i = 1; i <= m; i++)
{
long long x, y;
cin >> x >> y;
w[i] = x;//储存每个药材的所需采集时间
v[i] = y;//储存其相对应的加个
}
for(long long i = 1; i <= m; i++)
{
for(long long j = 1; j <= t; j++)
{
if(w[i] > j)//这个J表示这时所剩余的时间
{
f[i][j]=f[i-1][j];//采集这个药所需的时间不够
}
else
{
f[i][j] = max(f[i-1][j], f[i-1][j-w[i]]+v[i]);//能够采集比较采集这个药材和不采集这个药材比看哪一个价值大
}
}
}
int ma =f[1][1];
for(long long i = 1; i <= m; i++)
{
for(int j = 1; j <= t; j++)
{
if(f[i][j] > ma)
{
ma = f[i][j];//找到最大值
}
}
}
cout << ma;
return 0;
}
昨天->next->next的计划:动态规划的内容可惜了我链表才刚开始就要先歇业了