ZOJ 3956——Course Selection System(01揹包)
因為c的值很小,所以以c看做重量,把h當做價值
01揹包,取儘可能大的h
因為當c固定時,這個式子只需要看前面 h*h-h*c=h*(h-c)
h大於c時,肯定h越大越好
h小於c時,表示式的值必定小於零,肯定是不考慮的
#include <cstdio>
#include <cmath>
#include<vector>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<stack>
#include<string>
#include<iostream>
#include<set>
#include<vector>
using namespace std;
struct node{
int a,b;
}s[510];
long long dp[50010];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
long long sum=0;
memset(dp,0,sizeof(dp));
for(int i=0;i<n;i++)
{
scanf("%d%d",&s[i].a,&s[i].b);
sum+=s[i].b;
}
for(int i=0;i<n;i++)
{
for(int j=sum;j>=s[i].b;j--)
{
dp[j]=max(dp[j],dp[j-s[i].b]+s[i].a);
}
}
long long maxn=0;
for(int i=0;i<=sum;i++)
{
maxn=max(maxn,dp[i]*dp[i]-dp[i]*i-i*i);
}
printf("%lld\n",maxn);
}
return 0;
}
相關文章
- 【模板】01揹包、完全揹包
- 01 揹包
- 揹包問題(01揹包與完全揹包)
- 01揹包、完全揹包、多重揹包詳解
- 01揹包、有依賴的揹包
- 01揹包問題
- 01 揹包問題
- POJ 2184 (01揹包)
- 01揹包和完全揹包問題解法模板
- 01 揹包的變形
- javascript演算法基礎之01揹包,完全揹包,多重揹包實現JavaScript演算法
- 2. 01揹包問題
- 01揹包面試題系列(一)面試題
- 01揹包問題的解決
- 用各種方法解01揹包
- 你真的懂01揹包問題嗎?01揹包的這幾問你能答出來嗎?
- 從【零錢兌換】問題看01揹包和完全揹包問題
- 動態規劃--01揹包問題動態規劃
- 動態規劃 01揹包問題動態規劃
- 01揹包優先佇列優化佇列優化
- 動態規劃-01揹包問題動態規劃
- 【動態規劃】01揹包問題動態規劃
- 01揹包詳解第一版
- 【動態規劃】01揹包問題【續】動態規劃
- 揹包DP——完全揹包
- 揹包DP——混合揹包
- 【ACPC2013】馬里奧賽車(01揹包)
- 01揹包動態規劃空間優化動態規劃優化
- OpenJ_Bailian - 2773 採藥(01揹包板題)AI
- 分組揹包、完全揹包
- 關於01揹包個人的一些理解
- 動態規劃系列之六01揹包問題動態規劃
- 揹包
- 動態規劃-揹包01問題推理與實踐動態規劃
- CF 577 B. Modulo Sum 鴿巢原理/01揹包 (*1800)
- Day 37 | 01揹包問題 、416. 分割等和子集
- 01揹包問題理解動態規劃演算法動態規劃演算法
- 揹包DP