考虑01背包,把智商看成体积,情商看成价值。为了处理负数部分,将数组偏移一下。在负数的时候需要注意转移的顺序。
从这道题中的一个小trick,就是求两个数组里选数求最值,可以用背包处理出一个值固定时另一个值的最值。
#include<bits/stdc++.h>
using namespace std;
int n;
const int N=400000,M=800000;
int a[401],b[401],dp[810001];
int main()
考虑01背包,把智商看成体积,情商看成价值。为了处理负数部分,将数组偏移一下。在负数的时候需要注意转移的顺序。
从这道题中的一个小trick,就是求两个数组里选数求最值,可以用背包处理出一个值固定时另一个值的最值。
#include<bits/stdc++.h>
using namespace std;
int n;
const int N=400000,M=800000;
int a[401],b[401],dp[810001];
int main()