luogu1833 樱花
背包问题小合集
01背包 完全背包 多重背包混着来
对于01背包:把它想象成最大物品数为1的多重背包
对于完全背包:把它想象成最大物品数为m/w[i]的多重背包
对于多重背包:把它想象成。。。等等这本来就是个多重背包
数据比较水 但是我也写了个倍增优化
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std;
int f[];
int v[],W[],m[];
int i,j;
int main()
{
string ts,te;
int n;
cin>>ts>>te;
cin>>n;
int a1=,a2=;
int flag1,flag2;
for(i=;i<ts.length();i++)if(ts[i]==':')flag1=i;
for(i=;i<te.length();i++)if(te[i]==':')flag2=i;
for(i=;i<flag1;i++)a1=*a1+ts[i]-'';
int temp=;
for(i=flag1+;i<ts.length();i++)temp=*temp+ts[i]-'';
a1=*a1+temp;
for(i=;i<flag2;i++)a2=*a2+te[i]-'';
temp=;
for(i=flag2+;i<te.length();i++)temp=*temp+te[i]-'';
a2=*a2+temp; int w=a2-a1;
while(n--)
{
int i,j;
int Value,weight,m;
scanf("%d%d%d",&weight,&Value,&m);
if(m==)m=w/weight;
for(i=;((<<(i+))-)<=m;i++)
for(j=w;j>=(weight<<i);j--)f[j]=max(f[j],f[j-(weight<<i)]+(Value<<i));
weight=weight*m-(weight<<i)+weight;Value=Value*m-(Value<<i)+Value;
if(weight>)
for(j=w;j>=weight;j--)f[j]=max(f[j],f[j-weight]+Value);
}
printf("%d",f[w]);
}
倍增优化详见
http://www.cnblogs.com/Kong-Ruo/p/7700718.html
luogu1833 樱花的更多相关文章
- [BZOJ4027][HEOI2015] 兔子与樱花
Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接 ...
- 玉渊潭赏樱花有感:从无到有写一个jQuery开源插件
“玉渊潭公园樱花节”是每年樱花绽放时,都会在玉渊潭公园樱举办樱花节,游客前往玉渊潭公园,可以欣赏到20个品种2000株樱花.2016玉渊潭樱花节时间:3月中旬-4月中旬观赏最佳,2016年3月23日开 ...
- 【BZOJ-2721】樱花 线性筛 + 数学
2721: [Violet 5]樱花 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 499 Solved: 293[Submit][Status][D ...
- 【bzoj4027】[HEOI2015]兔子与樱花
题目描述 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它 ...
- BZOJ4027: [HEOI2015]兔子与樱花 贪心
觉得是贪心,但是一开始不太肯定...然后就A了 一个点对它的父亲的贡献就是自己的权值加儿子的个数 #include<bits/stdc++.h> using namespace std; ...
- 【BZOJ】【4027】【HEOI2015】兔子与樱花
贪心 树上贪心问题……跟APIO2015练习赛的C很像啊…… 我的思路是:从叶子向上考虑,令a[x]表示x这个节点上樱花数量与儿子个数的和(即对于任意的x,都有$a[x]\leq m$)每次从儿子的a ...
- 樱花的季节,教大家用canvas画出飞舞的樱花树
又到了樱花的季节,教大家使用canvas画出飞舞的樱花树效果. 废话少说,先看效果. 演示效果地址:http://suohb.com/work/tree4.htm 查看演示效果 第一步,我们先画出一棵 ...
- 兔子与樱花[HEOI2015]
题目描述 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接,我们可以把它 ...
- [HEOI2015]兔子与樱花
Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号从0到n-1,这n个分叉点由n-1个树枝连接 ...
随机推荐
- Android源码及repo下载——亲自测试下载源码成功!
经过一段时间煞费苦心的下载都未能成功后,如今终于把android源代码下载成功,很是兴奋! 废话不多说,直接说下步骤: 1.安装git和curl:sudo apt-get install git-co ...
- python接口自动化(四十二)- 项目结构设计之大结局(超详解)
简介 这一篇主要是将前边的所有知识做一个整合,把各种各样的砖块---模块(post请求,get请求,logging,参数关联,接口封装等等)垒起来,搭建一个房子.并且有很多小伙伴对于接口项目测试的框架 ...
- Brain Network (easy)(并查集水题)
G - Brain Network (easy) Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & ...
- zipkin环境搭建
基于jdk1.8 下载zipkin jar包 用wget下载zipkin官方最新jar包 wget -O zipkin.jar 'https://search.maven.org/remote_con ...
- LLVM编译器
LLVM 1. 说说 LLVM(Low Level Virtual Machine)到底是什么吧 先说编译器:编译器是把程序员的代码翻译成机器可以理解的语言的工具: 再谈 LLVM:一个模块化和可重用 ...
- Random Fourier Features
K-DSN 深度堆叠网络 Random Features for Large-Scale Kernel Machines To accelerate the training of kernel ma ...
- 算法设计 mac 字符串 标识 n维度 2 3维度 字符串 标识值 特征值
基向量
- php, tp5, 选中导航菜单
1. 首先定义一个函数: function nav_select($navindex){ $nav_arr = [ 1 => ['index',], 2 => ['mei',], 3 =& ...
- [luogu4755]Beautiful Pair
[luogu4755]Beautiful Pair luogu 第一次写最大值分治感觉有点丑 每次找到最大值mid,扫小的一边,主席树查大的一边小于等于\(\frac{a[mid]}{a[i]}\)的 ...
- git push问题 objects/pack/tmp_pack_XXXXXX': Permission denied
1.上传时的权限问题 在执行git push origin master之后,上传过程中报出如下错误: objects/pack/tmp_pack_XXXXXX': Permission denied ...