题意:

n个人,每两个人要比一次赛,赢了得一分,输了不得分,给出一种比完赛之后每个人的分数,你可以给一个人加上一些分,或者减去一些分,使得分数序列合法,求最小花费(加一分或者减一分花费就是1)。

思路:

给分数序列从小到大排序,只考虑前i个人是否合法,前i个人的总分应该是tmpfen=(i-1)*i/2,如果总分大于tmpfen,那么我们不做修改,如果小于,我们就给第i个人加上差值,最后边界要处理一下,就ok了。

代码:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<cstdlib>
#include<cmath>using namespace std;int num[100];int main()
{int t;scanf("%d",&t);while(t--){int n;scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",&num[i]);sort(num+1,num+1+n);int ans=0;int tmpsum=0;for(int i=1;i<n;i++){int tmpfen=(i-1)*i/2;tmpsum+=num[i];if(tmpsum<tmpfen){ans+=(tmpfen-tmpsum);tmpsum=tmpfen;}}int tmpfen=(n-1)*n/2;tmpsum+=num[n];if(tmpsum<tmpfen)ans+=(tmpfen-tmpsum);else if(tmpsum>tmpfen);ans+=(tmpsum-tmpfen);printf("%d\n",ans);}    return 0;
}

uvalive5986(贪心)相关推荐

  1. 算法设计与分析第3章 贪心算法

    第4章 贪心算法 贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择. 贪心算法的基本要素 1.贪心选择性质 所谓贪心选择性质是指所 ...

  2. 贪心算法单源点最短路径例题c语言源代码,Dijkstra算法是解单源最短路径问题的一个贪心算法...

    问题描述 给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数. 另外,还给定 V 中的一个项点,称为源. 现在我们要计算从源到所有其他各项点的最短路径长度. 这里的长度是指路上各边权之 ...

  3. Too Many Segments CF595D 贪心乱搞

    传送门! 比赛的时候没有时间写了,看看了看大佬的代码,学习学习. 一开始实验室大佬说是用差分写的,但是看了代码发现打cf的人大家都是stl狂魔! 贪心思路:区间按照左端点排序,从1~2e5遍历每一个点 ...

  4. Roundgod and Milk Tea 贪心

    这个题好像可以用一种类似与置换的贪心方法来做~ sum记为剩余奶茶,一开始sum等于奶茶和 ans记录已经喝的奶茶数 不用排序,我们就从前往后直接处理,考虑的是每一个班最多可以喝多少杯奶茶 就是从剩余 ...

  5. 贪心算法简单实践 -- 分糖果、钱币找零、最多区间覆盖、哈夫曼编解码

    1. 贪心算法概览 贪心算法是一种算法思想.希望能够满足限制的情况下将期望值最大化.比如:Huffman编码,Dijkstra单源最短路径问题,Kruskal最小生成树 等问题都希望满足限制的情况下用 ...

  6. 贪心:expedition 最优加油方法

    已知一条公路上,有一个起点与一个终点,这之间有n个加油站;已知从这n个加 油站到终点的距离d与各个加油站可以加油的量l,起点位置至终点的距离L与起 始时刻油箱中汽油量P;假设使用1个单位的汽油即走1个 ...

  7. 贪心:Burst Balloons 最少次数完成射击气球

    已知在一个平面上有一定数量的气球,平面可以看作一个坐标系,在平面的x轴的不同位 置安排弓箭手向y轴方向射箭,弓箭可以向y轴走无穷远;给定气球的宽度 xstart ≤ x ≤ xend,问至少需要多少弓 ...

  8. 贪心:jump 游戏(获取最少跳跃的次数以及跳跃路径)

    一个数组存储了非负整型数据,数组中的第i个元素a[i],代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置,返回最少 ...

  9. 贪心:Jump Game 跳跃游戏

    一个数组存储了非负整型数据,数组中的第i个元素a[i],代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置,返回是t ...

最新文章

  1. java b2b2c shop 多用户商城系统源码- eureka集群整合hystrix框架
  2. 安装class-dump
  3. mui汉字图标_MUI从入门到项目实战(三)增加自定义icon图标
  4. linux下开启程序崩溃生成core文件开关之ulimit详解
  5. 《Adobe Illustrator CS4中文版经典教程》目录—导读
  6. CCF201809(Java)
  7. Levenshtein Distance算法(编辑距离算法)
  8. python示例_Python中的缩进示例
  9. Web前端开发必备工具推荐
  10. 简单演示matlab生成三维平面的命令mesh
  11. Android View框架总结(七)View事件分发机制
  12. PPT自定义内容/PPT自定义放映/PPT自定义文件等编辑说明
  13. 基于Python开发WebService-2:客户端(suds、zeep)
  14. 无锡旅游景点古文化的调研报告
  15. 官方太空射击游戏总结
  16. IE安全系列:IE浏览器的技术变迁(上)
  17. 荣耀Magic2:用最简单的方法解决最复杂的问题
  18. Python数据可视化第 9 讲:matplotlib极坐标图绘制函数polar
  19. 【Bison学习笔记】1:生成简易的语法分析程序,使Bsion和Flex协同工作
  20. 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记...

热门文章

  1. 云炬60s看世界20211119
  2. 用于文档上下文感知推荐的卷积矩阵分解
  3. C/C++实现读取当前文件夹下的文件-popen
  4. docker desktop一直starting不变化
  5. python编程题三
  6. 汇编语言串指令经典题目
  7. SpringMVC拦截器HandlerInterceptor原理及使用
  8. Spring Session使用
  9. Spring Cache
  10. springboot整合shiro-关于登出时,redis中缓存没有清理干净的问题