题目背景

白露横江,水光接天,纵一苇之所如,凌万顷之茫然。——苏轼

真程海洋近来需要进购大批赛斯石,你或许会问,什么是赛斯石?

首先我们来了解一下赛斯,赛斯是一个重量单位,我们用sisi作为其单位。比如11赛斯就是1si1si。

而赛斯石有这样一个性质,它本来是一赛斯一赛斯单独存在的,但是用自然枪将其精化之后,它就会与其它经过精化的赛斯石进行合并,合并到合适的重量之后,便将其钝化,使其不再合并其它赛斯石,如果合错了,也可以用金刚刀将其切开(神奇的是你只能切成整数赛斯重量)。赛斯石的重量只能是整数赛斯重量,而不同赛斯重量的赛斯石的价格也是不一样的。

题目描述

现需上市NeedNeed赛斯重量的赛斯石,卖家想算出这些赛斯石经过某种合并方式来获得的最大收益。然而目前有一个问题,市场在真程大殿附近(真程海洋中心位置),卖家需要租船送赛斯石过去(即不考虑卖家自己租船过去的费用),目前有十种船可以租,载重量从1si1si到10si10si,每艘船的租价也是有所不同的,如下表所示:

由于真程大殿附近有强烈的赛斯力,导致无法对赛斯石进行任何操作,商家将赛斯石运过来之后就只能按照之前合并好的卖。假设卖家不返回,且这些赛斯石全部能卖出去。现在卖家他要计算总盈利(设总盈利=赛斯石的总收益-租船所需总费用),请你设计一个程序,算出一种最佳方案,以获得最大总盈利。

输入输出格式

输入格式:

输入一共有两行

第一行有一个数据NeedNeed(赛斯石的总量,单位:sisi)

第二行有十个数据a_{1}\ ...\ a_{10}a1​ ... a10​(分别为1si1si到10si10si的赛斯石市场价格,单位:元)

输出格式:

输出仅一行,包含一个整数,表示最大总盈利。

输入输出样例

输入样例#1: 复制

11
1 6 11 17 23 27 33 35 38 43
输出样例#1: 复制

32
输入样例#2: 复制

7
1 5 14 18 20 28 31 34 39 42
输出样例#2: 复制

21

说明

样例一说明:

将1111个单位赛斯石合并为一个4si4si的赛斯石和一个7si7si的赛斯石并且租两个载重分别为4si4si和7si7si的船,这样做为最佳方案,那么最大总盈利就是3232元。

注意:

对于所有输入数据,均在区间(0, 100000)(0,100000)中,并且为整数;

保证卖家最大总盈利为正;

同一行中,每两个数据之间有一个空格。

赛后强化版于20172017年1111月99日88点1010分已强化完毕。


一开始以为是多重背包,实际上不是

因为装进船之后也是可以切割的,就是说可以几块小的拼起来一起放入船中

这样可以先强制使用第i艘船,然后枚举一下。

 #include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#define MAXN 100005
using namespace std;
int s[]={,,,,,,,,,,},v[];
long long p[];
long long f[MAXN];
int n;
int main()
{
scanf("%d",&n);
for(int i=;i<=;i++){
scanf("%d",&v[i]);
}
for(int i=;i<=;i++){
p[i]=v[i];
for(int j=;j<i;j++){
p[i]=max(p[i],p[i-j]+p[j]);
}
}
for(int i=;i<=;i++){
p[i]-=s[i];
}
for(int i=;i<=n;i++){
for(int j=;j<=min(,i);j++){
f[i]=max(f[i],f[i-j]+p[j]);
}
}
printf("%lld\n",f[n]);
return ;
}

noip模拟题-赛斯石的更多相关文章

  1. 【入门OJ】2003: [Noip模拟题]寻找羔羊

    这里可以复制样例: 样例输入: agnusbgnus 样例输出: 6 这里是链接:[入门OJ]2003: [Noip模拟题]寻找羔羊 这里是题解: 题目是求子串个数,且要求简单去重. 对于一个例子(a ...

  2. NOIP模拟题汇总(加厚版)

    \(NOIP\)模拟题汇总(加厚版) T1 string 描述 有一个仅由 '0' 和 '1' 组成的字符串 \(A\),可以对其执行下列两个操作: 删除 \(A\)中的第一个字符: 若 \(A\)中 ...

  3. 9.9 NOIP模拟题

    9.9 NOIP模拟题 T1 两个圆的面积求并 /* 计算圆的面积并 多个圆要用辛普森积分解决 这里只有两个,模拟计算就好 两圆相交时,面积并等于中间两个扇形面积减去两个三角形面积 余弦定理求角度,算 ...

  4. 8.22 NOIP 模拟题

      8.22 NOIP 模拟题 编译命令 g++ -o * *.cpp gcc -o * *.c fpc *.pas 编译器版本 g++/gcc fpc 评测环境 位 Linux, .3GHZ CPU ...

  5. NOIP模拟题17.9.26

    B 君的任务(task)[题目描述]与君初相识,犹如故人归.B 君看到了Z 君的第一题,觉得很难.于是自己出了一个简单题.你需要完成n 个任务,第i 任务有2 个属性ai; bi.其中ai 是完成这个 ...

  6. noip模拟题题解集

    最近做模拟题看到一些好的题及题解. 升格思想: 核电站问题 一个核电站有N个放核物质的坑,坑排列在一条直线上.如果连续M个坑中放入核物质,则会发生爆炸,于是,在某些坑中可能不放核物质. 任务:对于给定 ...

  7. NOIP 模拟题

    目录 T1 : grid T2 : ling T3 : threebody 数据可私信我. T1 : grid 题目:在一个\(n*n\)的方格中,你只能斜着走.为了让问题更简单,你还有一次上下左右走 ...

  8. 9.22 NOIP模拟题

    吉林省信息学奥赛 2017 冬令营                                                                                    ...

  9. 6.19 noip模拟题(题目及解析转自 hzwer 2014-3-15 NOIP模拟赛)

    Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...

随机推荐

  1. Java作业-多线程

    未完成,占位以后补 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 书面作业 本次PTA作业题集多线程 源代码阅读:多线程程序BounceThread 1.1 Ball ...

  2. 201621123050 《Java程序设计》第1周学习总结

    1.本周学习总结 java历史概述 java特点:1.简单 2.面向对象 3.健壮 4.跨平台 5.类库众多 JDK.JRE.JVM JDK:JAVA 开发工具包 ,包含JRE JRE: JAVA运行 ...

  3. 个人技术博客(alpha)

    APP的权限校验不同于web网页端,web一般使用session记录用户的状态信息,而app则使用token令牌来记录用户信息.有这样一个场景,系统的数据量达到千万级,需要几台服务器部署,当一个用户在 ...

  4. Linux之用户与用户组

    1.Linux是一种 多用户多任务分时操作系统. 2.Linux的用户只有两个等级:root用户和非root用户.   Linux系统默认 内置了root用户 和一些非root用户,如nobody,a ...

  5. php的开发的apache的配置及伪静态的应用

    1.Apache之所以能够解析php代码是游览器首先发送数据到模版页面,然后模版页提交数据到php页面,然后php代码经过Apache解析过后生成结果的,所以是 在Apache的配置文件中是可以看到开 ...

  6. 新概念英语(1-113)Small Change

    Lesson 113 Small Change 零钱 Listen to the tape then answer this question. Who has got some change?听录音 ...

  7. SpringCloud应用入库后乱码问题

    一.现象 1.请求 2.入库后 二.解决过程 1.配置application.properties 2.代码配置 3.数据库(关键!!) 3.请求 三.验证过程 1.win10 - 本地验证通过 2. ...

  8. PyMySQL模块的使用

    PyMySQL介绍 PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2系列中则使用mysqldb.Django中也可以使用PyMySQL连接MySQL数据库. ...

  9. SpringBoot(二):设置springboot同一接口程序启动入口

    根据上一篇文章中搭建了一个springboot简单工程,在该工程中编写HelloWordController.java接口类,并在该类中写了一个main函数,做为该类的接口服务启动入口.此时如果新增多 ...

  10. Hibernate(一):安装hibernate插件到eclipse环境

    离线安装hibernate插件到eclipse 为什么需要安装hibernate插件到eclipse?在开发eclipse时,很多配置文件信息如果有了hibernate插件集成进来就会有自能提示,方便 ...