原题链接:https://codeforc.es/problemset/problem/1348/D

题意:给你一个体重为一克的细菌(它可以每天进行一次二分裂即一分为二体重均分;晚上体重增加1克)求最快所有细菌体重所达到n克所需最短时间。

题解:不难看出来这题要用到贪心的思想,如果每天所有细菌都进行分裂那么一天增加的体重最大,那么达到n克的天数就越少。构造一个公比是2的等比数列20,21,22,23…2x。

如果sum==n那么x即为答案;如果sum<n,就需要将n-sum加入数组中,同时天数加一。再加上每天分裂细菌数为a[i]-a[i-1],就可以得到答案。

Ac代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod1=1e9+7;
const ll mod2=0x3f3f3f3f;
const ll maxn=1e4+5;
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
vector<int>a;
int sum=0;
for(int i=1;sum+i<=n;i*=2){
sum+=i;
a.push_back(i);
}
if(sum<n) a.push_back(n-sum);
sort(a.begin(),a.end()); //排序;
cout<<a.size()-1<<endl;
//for(std::size_t i = 0;i<a.size();i++) cout<<a[i]<<" "; 帮助判断每一天需要的分裂的细菌数。
// cout<<endl;
for(std::size_t i = 1;i<a.size();i++){
cout<<a[i]-a[i-1]<<" ";
}
cout<<endl;
}
return 0;
}

codefoces D. Phoenix and Science的更多相关文章

  1. 题解 CF1348D 【Phoenix and Science】

    题目大意,每天细菌会在早上选择分裂,晚上生长. 观察题目,我们可以发现.不管我们怎么分裂细菌,这一天晚上的总质量都是前一天晚上的总质量加上今天的细菌数. 那么我们肯定希望细菌分裂的越多越好,这样我们减 ...

  2. codefoces B - Phoenix and Beauty

    原题链接:https://codeforc.es/problemset/problem/1348/B 题意:告诉我们一个数组及其长度和k,判断是否可以构造一个新数组使得每K段长度和都相等. 思路:首先 ...

  3. Codeforces1348 题解

    AC代码连接 A Phoenix and Balance 显而易见,将前\(\frac{n}{2}-1\)个和最后1个分为1组,剩下的1组即为最优方案. B Phoenix and Science 这 ...

  4. Codeforces Round #638 (Div. 2)

    Contest Info Practice Link Solved A B C D E F 4/6 O O Ø  Ø     O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Sol ...

  5. [Phoenix] 七、如何使用自增ID

    摘要: 在传统关系型数据库中设计主键时,自增ID经常被使用.不仅能够保证主键的唯一,同时也能简化业务层实现.Phoenix怎么使用自增ID,是我们这篇文章的重点. 在传统关系型数据库中设计主键时,自增 ...

  6. Apache Phoenix系列 | 从入门到精通(转载)

    原文地址:https://cloud.tencent.com/developer/article/1498057 来源: 云栖社区 作者: 瑾谦 By 大数据技术与架构 文章简介:Phoenix是一个 ...

  7. phoenix从入门到精通

      第一章.phoenix入门简介 1. Phoenix定义 Phoenix最早是saleforce的一个开源项目,后来成为Apache基金的顶级项目. Phoenix是构建在HBase上的一个SQL ...

  8. Phoenix综述(史上最全Phoenix中文文档)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/users/6cb45a00b49c/latest_articles 网上关于P ...

  9. 在DBeaver中phoenix查询报错:org.apache.phoenix.exception.PhoenixIOException: The system cannot find the path specified

    环境:Phoenix:4.4,win7系统 问题:Phoenix在查询hbase时,报"系统找不到指定路径". 解决: 请参见 https://distcp.quora.com/C ...

随机推荐

  1. MarkDown(文本编译器)

    MarkDown(一种高效的文本编译器) 推荐使用Typora 点击此处下载 使用方法 1. 首先创建一个文本文件xxx.txt. 2. 然后修改文件后缀为xxx.md.(可以记做玛德...) 3. ...

  2. 微软收购 GitHub

    微软收购 GitHub 微软收购 GitHub震惊业界:引发开发者信任问题 https://news.cnblogs.com/n/598432/ GitLab refs xgqfrms 2012-20 ...

  3. js closures all in one

    js closures all in one setTimeout 闭包,log(i, arr[¡]) var, let, closures, IIFE "use strict"; ...

  4. Twitter 分享

    Twitter 分享 Twitter Share API https://twitter.com/intent/tweet?url= &text= demo ?url= https://www ...

  5. how to make one your own promise version Ajax

    how to make one your own promise version Ajax XMLHttpRequest https://developer.mozilla.org/en-US/doc ...

  6. scrollTo & js auto scroll & scrollX & scrollY

    scrollTo & js auto scroll & scrollX & scrollY scrollX & scrollY 获取 scroll top height ...

  7. Typescript All In One

    Typescript All In One TypeScript 3.5 is now available. https://www.typescriptlang.org/#download-link ...

  8. how to group date array by month in javascript

    how to group date array by month in javascript https://stackoverflow.com/questions/14446511/most-eff ...

  9. 「NGK每日快讯」12.14日NGK公链第41期官方快讯!

  10. CF102920L Two Buildings【分治】【决策单调性】

    优秀的分治题目.是"2020-2021 ACM-ICPC, Asia Seoul Regional Contest"的一道题. Description There are \(n\ ...