完全背包問題

我們可以將數組內每個元素看成一個物品,這樣問題就轉化成:

現有n個物品,每個物品可以取a[i]~b[i]個,價值為d[i],費用為c[i],問怎麼樣取讓費用為0且價值最大

我們可以先每種物品取a[i]個,這樣每個物品變成了可取0~b[i]-a[i]個

記之前c總和為va,則現在我們要取-va才能使總和為0

多重背包即可,要加二進制優化

#include<bits/stdc++.h>
using namespace std;
#define N 2000010
int a[N],b[N],c[N],d[N],n,ans,p[N],va,ct,f[N],v[N];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
		ans+=a[i]*d[i];
		va+=a[i]*c[i];
		int rrr=b[i]-a[i];
		for(int j=1;j<=rrr;j*=2){
			rrr-=j;
			p[++ct]=c[i]*j;
			v[ct]=d[i]*j;
		}
		if(rrr)p[++ct]=(rrr)*c[i];
		if(rrr)v[ct]=(rrr)*d[i];
	}
	va=-va;
	memset(f,-63,sizeof(f));
	f[0]=0;
	for(int i=1;i<=ct;i++)
		for(int j=va;j>=p[i];j--)
			f[j]=max(f[j],f[j-p[i]]+v[i]);
	printf("%d",ans+f[va]);
}

jzoj100044的更多相关文章

随机推荐

  1. spring boot2.03 spring cloud Finchley.RELEASE遇到的问题

    1.spring cloud bus 本地不能更新 原因是@RefreshScope注解要加在需要更新的controller上 2.No instances found of configserver ...

  2. YAML教程

    一.简介 YAML是一种人们可以轻松阅读的数据序列化格式,并且它非常适合对动态编程语言中使用的数据类型进行编码.YAML是YAML Ain't Markup Language简写,和GNU(" ...

  3. [SoapUI] Datasink怎么显示每次循环的结果

    https://www.soapui.org/reporting/the-report-datasink.html

  4. 电商类Web原型制作分享——聚美优品

    这是一家化妆品限时特卖商城.作为美妆电商类网站的佼佼者,网站以用户体验为核心,画面主色调符合女性消费者审美.排版整齐,布局合理.网站用弹出面板实现点击弹出内容,鼠标悬停文字按钮颜色改变等交互效果. 本 ...

  5. Devexpress VCL Build v2013 vol 14.1.5 发布

    What's New in 14.1.5 (VCL Product Line)   New Major Features in 14.1 What's New in VCL Products 14.1 ...

  6. jsoup Java HTML解析器:使用选择器语法来查找元素

    jsoup Java HTML解析器:使用选择器语法来查找元素 使用选择器语法来查找元素 问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select( ...

  7. 2018.07.22 洛谷P3047附近的牛(树形dp)

    传送门 给出一棵n" role="presentation" style="position: relative;">nn个点的树,每个点上有C ...

  8. 第三章 形容词(Les adjectifs)

    ★形容词的性(Le genre de l'adjectif ) ()一般规则是在阳性形容词后加-e:         français ➞francaise法国的         content ➞c ...

  9. Python 析构方法__del__

    class Car: def __init__(self): print('---ok---') def __del__(self): print('----deconstrcut-------') ...

  10. 记录:Web相关政策之备案号、视频播放

    (一)备案号链接: 服务器在国内的网站受工信部监管,并受其颁布的<管理办法>约束.根据<互联网信息服务管理办法>及<非经营性互联网信息服务备案管理办法>的法律法规, ...