Update

  • \(\texttt{2021.6.24}\) 修改了一处格式上的错误和一处笔误。

Content

已知用 LED 灯来显示 \(0\sim9\) 这十个数字分别需要 \(6,2,5,5,4,5,6,3,7,6\) 段 LED 灯管组成,现在,你需要点亮正好 \(n\) 段 LED 灯管,使得组成的数字的和最大。

数据范围:\(2\leqslant n\leqslant 2\times 10^5\)。

Solution

我们不妨用 \(\dfrac{\text{数字}}{\text{灯管段数}}\) 来衡量点亮这些数的价值,得到的表格如下:

数字 \(0\) \(1\) \(2\) \(3\) \(4\) \(5\) \(6\) \(7\) \(8\) \(9\)
价值(保留 \(2\) 位小数) \(0\) \(0.5\) \(0.4\) \(0.6\) \(1\) \(1\) \(1\) \(2.33\) \(1.14\) \(1.5\)

不难发现这样的话,尽可能多地组成 \(7\) 的价值是最大的,所以我们多组成 \(7\),假设组完以后的数的和为 \(ans\)。然后对剩下的灯管数量,也就是 \(n\mod 3\),进行分类讨论。

  1. \(n\mod 3=0\),此时的答案就是 \(ans\)。
  2. \(n\mod 3=1\),此时无法再组成数,然而题目限制我们要正好 \(n\) 段灯管,所以我们考虑把一个 \(7\) 给去掉,然后剩下 \(4\) 段灯管,此时可以组成一个 \(4\)。因此答案就是 \(ans-7+4=ans-3\)。
  3. \(n\mod 3=2\),此时可以再组成一个 \(1\),不需要再去舍弃了(舍弃了很明显不是最优方案),那么此时答案就是 \(ans+1\)。

那么这道题目就做完了。

Code

int n;
long long ans; int main() {
scanf("%d", &n);
ans = n / 3 * 7;
n %= 3;
if(n == 1) printf("%d", ans - 3);
else if(n == 2) printf("%d", ans + 1);
else printf("%d", ans);
return 0;
}

LuoguP7019 [NWRRC2017]Auxiliary Project 题解的更多相关文章

  1. NEERC训练实录

    听说这里可以做一些idea比较好的题.. 那就做做吧 2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest A. Auxiliary Proj ...

  2. 2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest

    A. Auxiliary Project 完全背包. #include<stdio.h> #include<iostream> #include<string.h> ...

  3. 「题解」NWRRC2017 Joker

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:洛谷 P7028.gym101612J. 题意概述 有一个长度为 \(n\) 的数列,第 \(i\) 个元素的值为 \(a ...

  4. 「题解」NWRRC2017 Grand Test

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:洛谷 P7025.gym101612G. 题意概述 给你一张有 \(n\) 个点 \(m\) 条边的无向图,无重边无自环, ...

  5. 省选模拟赛 project

    solution: 最小割问题. 建如下边: (S,i,Ai)代表选用A语言编写第i个项目: (i,T,Bi)代表选用A语言编写第i个项目: 其后注意要反向连边 (i,j,D)代表选用B语言编写第i个 ...

  6. Pintos-斯坦福大学操作系统Project详解-Project1

    转载请注明出处. 前言:  本实验来自斯坦福大学cs140课程,只限于教学用途,以下是他们对于Pintos系统的介绍:  Pintos is a simple operating system fra ...

  7. 【LeetCode题解】225_用队列实现栈(Implement-Stack-using-Queues)

    目录 描述 解法一:双队列,入快出慢 思路 入栈(push) 出栈(pop) 查看栈顶元素(peek) 是否为空(empty) Java 实现 Python 实现 解法二:双队列,入慢出快 思路 入栈 ...

  8. project euler 169

    project euler 169 题目链接:https://projecteuler.net/problem=169 参考题解:http://tieba.baidu.com/p/2738022069 ...

  9. ZOJ - 3946-Highway Project(最短路变形+优先队列优化)

    Edward, the emperor of the Marjar Empire, wants to build some bidirectional highways so that he can ...

随机推荐

  1. Python的数据解析

  2. 【Azure 环境】在Windows环境中抓取网络包(netsh trace)后,如何转换为Wireshark格式以便进行分析

    问题描述 如何在Windows环境中,不安装第三方软件的情况下(使用Windows内置指令),如何抓取网络包呢?并且如何转换为Wireshark 格式呢? 操作步骤 1) 以管理员模式打开CMD,使用 ...

  3. vue-cli的安装步骤

    1.安装Node.js 在Node.js官网 https://nodejs.org/zh-cn/下载安装包,修改安装路径到其它盘,如 G:\Program Files 2.设置 cnpm的下载路径和缓 ...

  4. Feed系统设计分析(类似微博的用户动态分享问题)

    Feed系统 最近在研究一个个人动态分享平台,对动态的推送方式有些疑惑,于是研究到了以下结果. 简介 在信息学里面,Feed其实是一个信息单元,比如一条朋友圈状态.一条微博.一条资讯或一条短视频等,所 ...

  5. 使用Docker编译OpenResty支持国密ssl加密

    编译环境 执行编译操作环境如下 #操作系统 CentOS Linux release 7.4.1708 (Core) #docker版本 Version: 19.03.5 编译过程 Dockerfil ...

  6. Yarn 生产环境核心配置参数

    目录 Yarn 生产环境核心配置参数 ResourceManager NodeManager Container Yarn 生产环境核心配置参数 ResourceManager 配置调度器 yarn. ...

  7. adjective

    形容词用来描述名词或代词:副词用来描述剩下的(动词.形容词.副词和整句).adverb: to word. Adjectives are used almost exclusively to modi ...

  8. day04 Linux基础命令

    day04 Linux基础命令 查看帮助信息命令 1.man命令:man命令的功能是查看指定命令的详细解释. 格式:man [具体需要被查看的命令] [root@localhost ~]# man r ...

  9. Identity Server 4 从入门到落地(八)—— .Net Framework 客户端

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  10. API接口设计之token、timestamp、sign 具体架构与实现(APP/小程序,传输安全)

    Java生鲜电商平台-API接口设计之token.timestamp.sign 具体设计与实现 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃 ...