Usaco Training 刷怪旅 第三层 第六题:Ski Course Design

news2024/11/15 8:59:07

说实话,一开始看上一题的时候觉得太恶心就先来做这道,所以这题其实比上一题早做出来()

Farmer John has N hills on his farm (1 <= N <= 1,000), each with an integer elevation in the range 0 .. 100. In the winter, since there is abundant snow on these hills, FJ routinely operates a ski training camp.

Unfortunately, FJ has just found out about a new tax that will be assessed next year on farms used as ski training camps. Upon careful reading of the law, however, he discovers that the official definition of a ski camp requires the difference between the highest and lowest hill on his property to be strictly larger than 17. Therefore, if he shortens his tallest hills and adds mass to increase the height of his shorter hills, FJ can avoid paying the tax as long as the new difference between the highest and lowest hill is at most 17.

If it costs x^2 units of money to change the height of a hill by x units, what is the minimum amount of money FJ will need to pay? FJ can change the height of a hill only once, so the total cost for each hill is the square of the difference between its original and final height. FJ is only willing to change the height of each hill by an integer amount.

PROGRAM NAME: skidesign

INPUT FORMAT:

Line 1:The integer N.
Lines 2..1+N:Each line contains the elevation of a single hill.

SAMPLE INPUT (file skidesign.in):

5
20
4
1
24
21

INPUT DETAILS:

FJ's farm has 5 hills, with elevations 1, 4, 20, 21, and 24.

OUTPUT FORMAT:

The minimum amount FJ needs to pay to modify the elevations of his hills so the difference between largest and smallest is at most 17 units.
Line 1:

SAMPLE OUTPUT (file skidesign.out):

18

OUTPUT DETAILS:

FJ keeps the hills of heights 4, 20, and 21 as they are. He adds mass to the hill of height 1, bringing it to height 4 (cost = 3^2 = 9). He shortens the hill of height 24 to height 21, also at a cost of 3^2 = 9.

 

每日翻译(2/1)

题目大意:farmer john有n个小山丘,这些山丘都有自己的高度。税务局有一个新规定:n个山丘之间的最大差值如果大于17的话就要交税。尽人皆知farmer john不愿意交,所以他需要调整他山丘的高度。将一个山丘降低或升高x的话需要交x^2的钱,问farmer john最少交多少钱能够不交税。

还是不太难的

我们去枚举他的一个界限值,这个值需要是目前的最低,且和最高差不超过17。

第一步:很好想出,如果哪个山峰和界限值差大于17,就降低呗。这里注意一下,因为他要交最少的钱,所以差值必须为17

第二步:需要把低于他的给提上来。为什么呢?

我们就拿样例说一下

题目明确指出这个临界值是4

 

因为20和21这两个数与4的差都通过了,所以如果没有第二步就会成为现在的样子

可事实是这样吗?还有个1呢!!

这个1与20和21都不行,所以得把他提升

提到多少呢?我们目前的临界值是多少就提到多少。

这时四个数分别是:4,4,20,21

都没问题了

 

所以我们的第二步就是把低于临界值的全部提升

AC代码:

/*
ID:
TASK:skidesign
LANG:C++
*/
# include <iostream>
# include <cstdio>
# include <algorithm>
# include <cmath> 
using namespace std;
# define int long long
int a[100000],n,minn,cnt=0x3f3f3f;
signed main(){
	//freopen("skidesign.in","r",stdin);
	//freopen("skidesign.out","w",stdout);
    scanf("%lld",&n);
    for(int i=1;i<=n;i++){
    	scanf("%lld",&a[i]);
	}
    sort(a+1,a+n+1);
    for(int i=1;i<=84;i++){
        int sum=0;
        for(int j=1;j<=n;j++){
            if(a[j]-i>17){
            	sum+=(a[j]-i-17)*(a[j]-i-17);
			}
            if(a[j]<i){
            	sum+=(i-a[j])*(i-a[j]);
			}
        }
        cnt=min(sum,cnt);
    }
    printf("%lld\n",cnt);
    //fclose(stdin);
    //fclose(stdout);
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MVC MVVM架构

注&#xff1a;个人理解仅供参考1、MVC优点&#xff1a;1、模块独立&#xff0c;解耦缺点&#xff1a;1、厚重的ViewController2、遗失&#xff08;无处安放&#xff09;的网络逻辑3、较差的可测试性图2、MVVM优点1、低耦合&#xff1a;View可以独立于Model变化和修改&#xff…

【HybirdCLR】入门记录-Unity2021 + WebGL

目录前言环境案例学习先PC平台试一下转为WebGL平台动手做一个demo功能基本工作流程搭建环境构建项目补充致谢参考资料前言 之前一直有听说热更新技术&#xff0c;于是找点时间来研究一下热更新技术的使用。热更新的实现方式有很多种&#xff0c;这里笔者记录一下自己学习Hybir…

基于开源体系的云原生微服务治理实践与探索

作者&#xff1a;董艺荃&#xff5c;携程服务框架负责人 携程微服务产品的发展历程 携程微服务产品起步于 2013 年。最初&#xff0c;公司基于开源项目 ServiceStack 进行二次开发&#xff0c;推出 .Net 平台下的微服务框架 CServiceStack。 2014 年&#xff0c;公司推出 Jav…

【PhD Debate —11】矛与盾的对决——神经网络后门攻防

点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入&#xff01;2022年7月9日&#xff0c;AI TIME组织了Ph.D. Debate第十一期&#xff0c;题为“矛与盾的对决——神经网络后门攻防”的研讨活动&#xff0c;特别邀请了宾夕法尼亚州州立大学电子工程系博士生向臻、清华大学博士生…

区块链基础知识(一)

参考书籍《区块链原理、设计与应用》 基本原理 比特币网络工作流程 技术的演化与分类 分布式共识 交易性能 扩展性问题 数据库和存储系统 数据库也是区块链中重要的一环 分布式系统核心问题 单节点结构演变为分布式系统&#xff0c;首先遇到的问题就是一致性的保障。 一致性问…

小程序开发经验分享(5)-全屏展示小程序

小程序的 navigationBar,有APP开发经验的同学应该知道,navigationBar也就是程序最顶部的一条,我们同常的开发页面,也都是在navigationBar下方的主体区用标签开发UI部分 如下面两个图片,左边的翻译君官方小程序中上面就有这样一个navigationBar用于展示自己的title和菜单按…

K8s 认证工程师 CKA 考题分析和题库练习(下)

目录 10、考核知识&#xff1a;检查可用节点数量 题目内容 题目内容中文解释 做题解答 11、考核知识&#xff1a;一个 Pod 封装多个容器 题目内容 题目内容中文解释 官方文档搜索关键字&#xff1a;pod ​编辑做题解答 12、考核知识&#xff1a;持久卷 PersistentV…

Mac M1芯片 搭建RocketMQ

Mac M1芯片 搭建RocketMQ RocketMQ需要启动三个组件 1、nameserver 路由中心,为整个MQ集群提供服务协调与治理 2、broker 提供消息的转发和存储功能 3、console 控制台面板工具 1、下载RocketMQ https://rocketmq.apache.org/dowloading/releases/ 选择 Binary: rocketmq-all-4…

对外投资追踪汇率数据金融开放指数

一、2005-2020年中国全球投资追踪数据 “中国全球投资跟踪”&#xff08;China Global Investment Tracker&#xff09;数据库&#xff0c;由美国企业研究所于1月28日发布。该数据库是唯一一套涵盖中国全球投资和建设的综合数据集&#xff0c;同时使用分别记录和汇总记录两种方…

这几个算法可视化网站,太牛了!

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/Tyson0314/Java-…

深入 Android 底层服务(service)

前言 我们都知道&#xff0c;字节最近发布了PICO&#xff14;VR眼镜&#xff0c;我买了一个&#xff0c;体验还行。因为我也是做VR眼镜的Android应用层开发的&#xff0c;所以想把自己项目中遇到的一些Android技术分享给读者。近些年随着VR眼镜的兴起&#xff0c;Android的的服…

项目经理跨部门沟通,如何避免踢皮球?

软件项目干系人越多&#xff0c;沟通成本也就越高&#xff0c;非常容易出现相互提皮球的现象。那么如何高效沟通&#xff1f; 1、划分干系人 不同干系人不同策略 软件项目涉及干系人众多&#xff0c;项目不经理不可能对每一个人进行详细沟通&#xff0c;那么我们需要将干系人的…

如何把优化Docker镜像大小

什么是Docker Docker是一个开源的虚拟化平台&#xff0c;可以让开发人员将应用程序和依赖项打包在轻量级容器中&#xff0c;然后可以轻松地在任何环境中运行。这样&#xff0c;开发人员可以将容器作为独立的可移植单元在不同的环境中部署和运行应用程序&#xff0c;而不用担心环…

系统学习ElasticSearch

1.1 、ElasticSearch&#xff08;简称ES&#xff09; Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎。 能够达到实时搜索&#xff0c;稳定&#xff0c;可靠&#xff0c;快速&#xff0c;安装使用方便。 客户端支持Java、.NET&#xff08;C#&#xff09;、…

SAP FICO财务月结-外币评估

月末操作-外币评估 —文章整理自高林旭老师的《由浅入深学习SAP财务》一书&#xff0c;SAP相关从业人员值得一读。 企业的外币业务在记账的时候一般都是使用期初的汇率或者即时汇率&#xff0c;但是在月末&#xff0c;需要按照月末汇率对外币的余额或者未清项进行重估&#xf…

c语言入门-3-打印复杂类型

打印复杂类型前言上代码字符整形浮点型打印超长小数向内存中申请空间局部变量&#xff0c;全局变量使用输入函数 scanf作用域生命周期深度解析1 c语言中数据类型2 这些字段类型的大小又是多少呢3 计算机的大小单位4 scanf 报错下一篇前言 语言本身的学习&#xff0c;有两点比较…

【前端】Vue项目:旅游App-(7)city:搜索框search和标签页Tabs

文章目录目标过程与代码搜索框初步自己实现取消功能样式修改标签页效果总代码修改的文件common.csscity.vuemain.js目标 过程与代码 搜索框 初步 在Vant文档中找到搜索框&#xff1a;Search搜索 按照文档要求引入&#xff08;如果以插件的形式安装vant就不用这样引入&#x…

c语言 动态内存分配 柔性数组

常见的动态内存错误 对null指针的解引用操作 int main()//错误1 因为没有判断 {int* p (int*)malloc(10000);int i 0;for (i 0; i < 10; i){*(p i) i;}return 0; }对动态开辟空间的越界访问 int main() {int* p malloc(10 * sizeof(int));if (p NULL){return 1;}…

5G NR标准: 第16章 初始接入

第16章 初始接入 在 NR 中&#xff0c;初始接入功能包括&#xff1a; • 设备在进入系统覆盖区域时最初找到小区的功能和过程。 • 处于空闲/非活动状态的设备访问网络的功能和程序&#xff0c;通常是请求建立连接&#xff0c;通常称为随机访问。 在相当大的程度上&#xff0…

ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory

一 问题描述 无法启动数据库&#xff0c;报错&#xff1a; 二 排查思路 1.确保sga_target,sga_max_size比可用物理内存小 2.检查kernel.shmmax&#xff0c;kernel.shmall是否设置得太小 一般出现ORA-27102&#xff1a;out of memory&#xff0c;是/etc/sysctl.conf种内核参…