2020CSP-J复赛题解 2020CSP-J复赛题解 ⾝为⼀名⾼中⽣,却还是不知廉耻地做了⼀遍普及组的题⽬,体验⼀把AK的感觉 T1 优秀的拆分 T1还是⼀如既往的⽔。根据题意,奇数直接-1,偶数就从⼀个很⼤的2的幂开始枚举,n⽐这个数⼤就输出这个数并且n减去这个数,然后这个数/2。#include<...
P7071 [CSP-J2020] 优秀的拆分 题解 二进制 "优秀的拆分"如果存在,则代表 $n$ 的二进制最低位不是 $1$. $\because 2^0 = 1$ $\therefore$ 当 $n$ 的二进制最低位为 $1$ 时,不存在优秀的拆分. 即$n$ 不是奇数. 上述条件判断完后,就可以从 $2$ 的 $30$ 次方开始模拟( int 的上限是 ...
2020-csp-j 第二题 优秀的拆分#信息学奥赛 - 陈老师的编程课堂于20230930发布在抖音,已经收获了2.5万个喜欢,来抖音,记录美好生活!
可以证明,在规定了拆分数字的顺序后,该拆分方案是唯一的。 若不存在优秀的拆分,输出 -1。 样例#1 样例输入 #1 6 1. 样例输出 #1 4 2 1. 样例#2 样例输入 #2 7 1. 样例输出 #2 -1 1. 提示 样例1 解释 是一个优秀的拆分。注意, 不是一个优秀的拆分,因为拆分成的 个数不满足每个...
CSP-J2020 题解 无聊来水一发。 历年普及中最简单的几场之一,不懂为什么有人说恶心。去年考场 T3 没看到一个变量只会用一次结果 350pts 滚出。 #1:优秀的拆分: 题意: 给定正整数 \(n\),求二进制表示中为 \(1\) 的位从高往低输出(最小的位是第 \(0\) 位)。特殊地,如果 \(n\) 是奇数输出 -...
2020 CSP-J 题解1 A 优秀的拆分 题目链接 题意简述: 给定一个正整数,要求将其拆分成若干个数的和,满足这些数都可以表示为 2i2i (1≤i≤log1071≤i≤log107)。 题解: 我们都知道,任何一个正整数都可以被表示成若干个二的整数次幂的和,如 12=23+2212=23+22,18=24+2118=24+21 。但是根据题目...
https://www. 简单手写几组样例可发现,任何的偶数均存在”优秀的拆分“,所以: if(n%2!=0){cout<<"-1<<endl;return0;} 这就是20pts) 题目简化:给定一个n,若n是偶数需要不断取2的正整次幂(为方便后面用x表示),每次n需减x,直到n=0为止。反之,若n是奇数直接输出-1即可 ...
优秀的拆分(暂无数据) - 洛谷 这题需要位运算的知识。很显然,奇数的时候输出 -1,偶数就把二进制下为 1 的位输出出来(但凡学过快速幂的都应该知道这样拆吧) #include<bits/stdc++.h>usingnamespacestd;intmain(){freopen("power.in","r",stdin);freopen("power.out","w",stdout);intn;cin>>n;if(n...
CSP-J 2020 优秀的拆分(powerpowerpower) 题目描述 一般来说,一个正整数可以拆分成若干个正整数的和。 例如,1=11=11=1,10=1+2+3+410=1+2+3+410=1+2+3+4 等。对于正整数 nnn 的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,nnn 被分解为了若干个不同的222 的正整数次幂。注意,一...
原题链接:[CSP-J2020] 优秀的拆分 解题思路:注意两件事,一个是奇数不存在优秀的拆分,因为2的正整数次方都是偶数,偶数+偶数=偶数 另一个是拆分出的数要用 2 的正整数次幂表达,当它本身就是2 的正整数次幂的时候就可以打印自己了 这里采用pow函数,而这个函数的返回值是浮点型 参考代码: 1 2 3 4 5 6 ...