链接:https://www.nowcoder.com/acm/contest/80/D
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

最可爱的applese生日啦,他准备了许多个质量不同的蛋糕,想请一些同学来参加他的派对为他庆生,为了不让一部分同学感到不爽,他决定把每个蛋糕都分割成几份(也可以不分割),使得最小的蛋糕的质量与最大的蛋糕的质量的比值不小于一个值。但是applese的刀功并不是很好,所以他希望切尽量少的刀数使得所得到的蛋糕满足条件。由于applese为了保证每一块蛋糕的质量和期望的没有偏差,所以他一刀只能切下一块蛋糕,即将一块蛋糕分成两块,同时,他不能一刀同时切两块蛋糕,也就是说,applese一次只能将一块蛋糕分割成两块指定质量的蛋糕,这两块蛋糕的质量和应等于切割前的蛋糕的质量。Applese还急着准备各种派对用的饰品呢,于是他把这个问题交给了你,请你告诉他至少要切割几次蛋糕

输入描述:

第一行包括两个数T,n,表示有n个蛋糕,最小的蛋糕的质量与最大的蛋糕的质量的比值不小于T
接下来n行,每行一个数wi,表示n个蛋糕的质量

输出描述:

输出包括一行,为最小切割的刀数
数据保证切割次数不超过500

题意:切分蛋糕,使得最小块和最大块的比值大于一个数T。
思路:每块蛋糕应当均匀切分,此外每次选择最大的切,使得它逼近最小的。

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
double siz[1005];
double unit[1005],cut[1005];
double T;
int n;
int main()
{while(~scanf("%lf%d",&T,&n)){memset(cut,0,sizeof(cut));double minx=0x3fffffff,maxx=0;int maxp;for(int i=0;i<n;i++){scanf("%lf",&siz[i]);unit[i]=siz[i];minx=min(minx,siz[i]);if(siz[i]>maxx){maxx=siz[i];maxp=i;}}int t=0;while(true){if(minx/maxx>=T){printf("%d\n",t);break;}cut[maxp]++;unit[maxp]=siz[maxp]/(cut[maxp]+1);t++;minx=min(minx,unit[maxp]);maxx=0;for(int i=0;i<n;i++){if(unit[i]>maxx){maxx=unit[i];maxp=i;}}}}
}

牛客网wannafly挑战赛13-D(贪心)相关推荐

  1. 牛客网 Wannafly挑战赛8 A.小Y和小B睡觉觉

    写了一会不想写了... A-小Y和小B睡觉觉 链接:https://www.nowcoder.com/acm/contest/57/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制 ...

  2. 题解——牛客网Wannafly挑战赛23 B-游戏 (SG函数)

    前言 比赛的时候没学过SG函数的蒟蒻以为是道结论题,但是不是QwQ 和dummyummy巨佬一起推了快三个小时的规律 最后去问了真正的巨佬__stdcall __stdcall面带微笑的告诉我们,这是 ...

  3. 牛客网 Wannafly挑战赛20 A-染色

    链接:https://www.nowcoder.com/acm/contest/133/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524 ...

  4. 牛客网 Wannafly挑战赛27 蓝魔法师

    蓝魔法师 链接: https://www.nowcoder.com/acm/contest/215/C 来源:牛客网 题目描述 "你,你认错人了.我真的,真的不是食人魔."--蓝魔 ...

  5. 牛客网wannafly挑战赛13-E(线段树)

    链接:https://www.nowcoder.com/acm/contest/80/E 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  6. 牛客网Wannafly挑战赛15 B车辆安排(模拟)AND C 出队(规律)

    传送门 :B题:点我 C题: 点我 题目描述 有n个队伍,每个队伍的人数小于等于5,每辆车最多坐5个人,要求一个队伍的人都在一辆车上,求最少的车数 输入描述: 第一行n 第二行n个数,表示每个队伍的人 ...

  7. [牛客网Wannafly挑战赛24F]wyf的超级多项式

    Description 已知 F i = ∑ j = 1 k a j v j i F_i=\sum_{j=1}^{k}a_jv_j^i Fi​=∑j=1k​aj​vji​ 给出 v 1.. k v1. ...

  8. 牛客网Wannafly挑战赛29 B - 白井黑子 乱搞

    Description kuroko 作为常盘台唯一的空间系能力者,在每年例行的能力测试中可绝对不能让 misaka 失望哦,但是由于她的等级只是 level 4「大能力者」,在能力测试中会遇到不少困 ...

  9. 牛客网Wannafly挑战赛4(割草机)

    点击打开链接 思路:不管怎么走,都必须从第一个有'W'的行走到最后一个有'W'的行,对于每一行,都必须处理完这行所有的'W',如果在奇数行,那就应该走到这行和下一行有W的最右边,再往下走,如果在偶数行 ...

最新文章

  1. 执行高性能任务的强大桌面计算机是,用于高性能任务的强大的桌面计算机是一个______。...
  2. ISP【三】———— raw读取、不同格式图片差异
  3. 谷歌浏览器chrome 清除记住密码
  4. sklearn之XGBModel:XGBModel之feature_importances_、plot_importance的简介、使用方法之详细攻略
  5. 你应该知道的那些Android小经验
  6. 哪些人不适合去做科研(转)
  7. python基础:序列(列表、元组、字符串)、函数、字典、集合
  8. python numpy数组动态写入csv文件_python - 将NumPy数组转储到csv fi中
  9. jquery html dom方式创建新html元素
  10. Gephi教程实战:从入门到精通
  11. windows取色器(吸取颜色,获取颜色的rgb信息)
  12. 摄影测量学 :基于python的双像空间前方交会实验
  13. 公众号快速注册并认证小程序
  14. 64位Win7 服务器运行失败
  15. mipi接口 1280(RGB)*720 LCD屏开发驱动笔记帖
  16. Unity中的Transform Gizmo中的Pivot和Center
  17. C#,数值计算,基础函数——任意位数π的数值算法源程序与数据可视化
  18. neon 指令 c语言,NEON初步使用
  19. 【数据挖掘】葡萄酒质量分析及异常值检测
  20. linux 中的top命令的介绍

热门文章

  1. 不同坐标系BIM模型导出参数配置
  2. 5 HTML标签基础
  3. 录音文件下载_录音转文字别烦恼,收下这份锦囊,几种方法任你选!
  4. php微信开发查询分组,微信开发之用户组的介绍
  5. 用爬虫做字典(网络搜索作业):selenium+xlrd
  6. 百万年薪背后 是人工智能领域泛起的人才泡沫 2017年07月04日 06:30 PingWest 微博 微信 空间 分享 添加喜爱 //d1.sina.com.cn/201706/26/14587
  7. java erc 2.0_如何使用Web3j库管理Java中的ERC20令牌
  8. 35 个非常实用的 Shell 拿来就用脚本实例!
  9. 简单来说,我们常听到的 22nm、14nm、10nm 究竟是什么意思?
  10. Linux 下的截屏并编辑的工具-flamshot安装及使用