#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 100005;
int main()
{
LL res=0,n;
cin>>n;
cout<<n/2520;
return 0;
}
4877. 最大价值
多重背包
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 100010;
int n,m;
int f[N];
int main()
{
int v,w;
scanf("%d%d%d%d",&n,&m,&v,&w);
for(int i = v;i <= n;i++) f[i] = f[i - v] + w;//完全背包问题的公式
for(int i = 1;i <= m;i++)
{
int l,h;
scanf("%d%d%d%d",&l,&h,&v,&w);
for(int j = n;j > 0;j--)//容量
{
for(int k = 1;k <= l/h && k * v <= j;k++)//选多少个
{
f[j] = max(f[j],f[j-k*v] + k*w);
}
}
}
printf("%d\n",f[n]);
return 0;
}
4878. 维护数组
线段树/树状数组