优秀的拆分(power)
【题目描述】
般来说,一个正整数可以拆分成若干个正整数的和。例如,1=1,10=1+2+3+4等。对于正整数n的一种特定拆分,我们称它为“优秀的",当且仅当在这种拆分下,n被分解为了若干个丕同的2的正整数次幂。注意,一个数x能被表示成2的正整数次幂,当且仅当x能通过正整数个2相乘在一起得到。
例如,10=8+2=23+21是一个优秀的拆分。但是,7=4+2+1=2+21+20就不是一个优秀的拆分,因为1不是2的正整数次幂。现在,给定正整数n,你需要判断这个数的所有拆分中,是否存在优秀的拆分。若存在,请你给出具体的拆分方案。
【输入格式】
输入文件名为 power.in.
输入文件只有一行,一个正整数n,代表需要判断的数。
【输出格式】
输出文件名为power.out.
如果这个数的所有拆分中,存在优秀的拆分。那么,你需要从大到小输出这个拆分中的每一个数,相邻两个数之间用一个空格隔开。可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。若不存在优秀的拆分,输出"-1"(不包含双引号)。
【样例1输入】
6
【样例1输出】
4 2
【样例1解释】
6=4+2=22+21是一个优秀的拆分。注意,6=2+2+2不是一个优秀的拆分,因为拆分成的3个数不满足每个数互不相同。
【样例2输入】
7
【样例2输出】
-1
【样例3】
见选手目录下的power/power3.in与power/power3.ans
【数据范围与提示】
对于20%的数据,n<=10.
对于另外20%的数据,保证n为奇数。
对于另外20%的数据,保证n为2的正整数次幂。
对于80%的数据,n<=1024.
对于100%的数据,1<=n<=1x10^7.

题目解析:
一个数本来就可以拆分成2的正整数次幂, 因为利用它的二进制即可得到。例如:6的二进制是 1 1 0,分别代表22,21,20
所以6可以看成22+21=4+2。对n进行二进制分解,然后倒序输出即可。参考程序:

#include <bits/stdc++.h>
using namespace std;
int main() {freopen("power.in", "r", stdin);freopen("power.out", "w", stdout);int n;cin >> n;if (n & 1)puts("-1");else {for (int i = 30; i >= 0; i--) {if (n >> i & 1) {printf("%d ", 1 << i);}}}return 0;
}

第二题 直播获奖(live)
【题目描述】
NO12130即将举行。为了增加观赏性,CCF决定逐一评出每个选手的成绩,并直播即时的获奖分数线。本次竞赛的获奖率为w%,即当前排名前w%的选手的最低成绩就是即时的分数线。
更具体地,若当前已评出了p个选手的成绩,则当前计划获奖人数为max(1,[p*w%]),其中w是获奖百分比,[x]表示对x向下取整max(x,y)表示x和y中较大的数。如有选手成绩相同,则所有成绩并列的选手都能获奖,因此实际获奖人数可能比计划中多。
作为评测组的技术人员,请你帮CCF写一个直播程序。
【输入格式】
输入文件名为live.in.
第1行两个正整数n,w,分别代表选手总数与获奖率。
第2行有n个非负整数,依次代表逐一评出的选手成绩。
【输出格式】
输出文件名为live.out.
只有一行,包含n个非负整数,依次代表选手成绩逐一评出后,即时的获奖分数线。相邻两个整数间用一个空格分隔。
【样例1输入】
10 60
200 300 400 500 600 600 0 300 200 100
【样例1输出】
200 300 400 400 400 500 400 400 300 300
【数据范围与提示】
对于20%的数据,n<=10
对于另外20%的数据,保证n为奇数。
对于另外20%的数据,保证n为2的正整数次幂。
对于80%的数据,n<=1024
对于100%的数据,1<=n<=10^7
【数据范围与提示】
测试点编号 n
1~3 =10
4~6 =500
7~10 =2000
11~17 =10000
18~20 =100000
对于所有测试点,每个选手的成绩均为不超过600的非负整数,获奖百分比w是一个正整数目1<=w<=99.
在计算计划获奖人数时,如用浮点类型的变量(如C/C++中的float double,Pascal中的real,double,extended等)存储获奖比例w%,则计算5x60%时的结果可能为3.000001,也可能为2.999999,向下取整后的结果不确定。因此,建议仅使用整型变量,以计算出准确值。

题目解析:
50分程序:对于每个选手,把之前的数据进行sort排序,选择max(1, ⌊

2020CSP复赛赛试题答案相关推荐

  1. 2016蓝桥杯b组java试题及答案_2016年第七届蓝桥杯java B组省赛试题

    2016年第七届蓝桥杯java B组省赛试题 1-3.结果填空 4-5.代码填空 6-7.结果填空 8-10.程序设计 1.煤球数目  (结果填空) 有一堆煤球,堆成三角棱锥形.具体: 第一层放1个, ...

  2. 2015年蓝桥杯省赛B组C/C++(试题+答案分析)

    2015年蓝桥杯省赛B组C/C++(试题+答案分析) 第一题 结果填空 (3分) 奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就觉得不吉利 ...

  3. 2016届蓝桥杯 Java C组 省赛试题及答案

    在之前其实写了一篇2015年决赛的文章,但是发现每一条我感觉都要去翻阅别人的代码,这样子的效率太低了,所以赶紧开始做2016届的省赛题 结果填空 有奖猜谜 题目 小明很喜欢猜谜语. 最近,他被邀请参加 ...

  4. 高中计算机省赛试题,全国青少年信息学奥林匹克竞赛(高中组)初赛试题及答案...

    全国青少年信息学奥林匹克竞赛(高中组)初赛试题及答案 NOI'95 "同创杯"全国青少年信息学(计算机)奥林匹克竞赛分区联赛初赛试题(高中组) 竞赛用时:2 小时一.基础题:执行 ...

  5. 第十四届蓝桥杯第一期模拟赛试题与题解 C++

    第十四届蓝桥杯第一期模拟赛试题与题解 C++ 试题 A 题解:位运算 试题 B 题解:日历模拟 试题 C 题解:double 求和 试题 D 题解:枚举 试题 E 题解:二维前缀和 试题 F 题解:两 ...

  6. 49-2017年第八届蓝桥杯国赛试题及详解(Java本科B组)

    蓝桥杯历年真题题目及题解目录汇总(推荐) 蓝桥杯算法模板常用套路及API等个人总结 ---------------------------------------------------------- ...

  7. NOIP 提高组 复赛 历年 试题

    NOIP 提高组  复赛  历年 试题 NOIP 2017 提高组 复赛  试题 https://wenku.baidu.com/view/70de9e29854769eae009581b6bd97f ...

  8. 2022年Python技术类面试题总结(面试题+答案解析)

    前言: 这是一位有着五年 Python 经验的好友最近对 Python 岗位面试后的一篇经验总结,从 Python 就业方向到 Python 面试题. Python 就业方向: 网络爬虫: 顾名思义, ...

  9. 2019第十届蓝桥杯c++A组省赛试题及个人解法

    第十届蓝桥杯2019年C/C++ 大学A组省赛试题 2019年蓝桥杯第十届软件类省赛# C/C++ 大 学 A 组# 试题 A: 平方和#(暴力) 本题总分:5 分 [问题描述] 小明对数位中含有 2 ...

最新文章

  1. 财务 计算机网络,计算机网络技术在财务系统中的应用
  2. BM惊爆:EOS一周年工作KPI
  3. 疫情之下的科技普惠:阿里云科技驱动中小企业数字化
  4. python求n的阶乘_python求n的阶乘
  5. Python类私有方法的陷阱
  6. python编辑七段数码管引脚图_初识原理图
  7. linux命令行模式下实现代理上网 专题
  8. git 修改tag 备注_【Git】第十二章:Git高级实战技巧
  9. ROS indigo在Ubuntu上的安装教程
  10. DataSetProvider的Option属性
  11. PMP项目管理全套表格史上最全,建议收藏
  12. 利用sql循环语句实现基本的数据累加和阶乘
  13. 复化科特斯公式matlab_牛顿科特斯公式要点分析.ppt
  14. AXI总线学习-------从零开始详细学-------------连载(6)读写处理架构,burst介绍,burst细节定义(burst size burst length)
  15. 码蹄集 - MT2165 - 小码哥的抽卡之旅1
  16. java 新特性-TWR(Try-with-resources)
  17. com.sun.mail.smtp.protected void rcptTo() 方法
  18. 在线编辑excel文件实现服务器后台存储,及页面还原
  19. 上传文件资料并生成缩略图
  20. c# 溢出抛异常_C#捕获堆栈溢出异常

热门文章

  1. 计算机一级考试个人小结作文,期中考试个人总结范文精选五篇
  2. Intel CET 安全防御机制深度解析
  3. 03-关系模型之基础概念测试题
  4. 初游青云山——温泉之旅
  5. 女生适合学Java吗?
  6. 论文结论的写作类型和注意事项
  7. 微软中国裁员曝光:在CD结束后!薪酬不变!
  8. 飞蛾火焰优化(MFO)算法——原理分析
  9. 中国十大系统软件外包公司排名:互联网十大外包公司
  10. java中乱码产生的原因_java出现乱码的原因与解决方法详解