首页 > 其他分享 >P7071 [CSP-J2020] 优秀的拆分 题解

P7071 [CSP-J2020] 优秀的拆分 题解

时间:2024-10-23 22:21:35浏览次数:6  
标签:int 题解 优秀 30 二进制 拆分 include P7071 CSP

二进制

"优秀的拆分"如果存在,则代表 $n$ 的二进制最低位不是 $1$.

$\because 2^0 = 1$

$\therefore$ 当 $n$ 的二进制最低位为 $1$ 时,不存在优秀的拆分.

即 $n$ 不是奇数.

上述条件判断完后,就可以从 $2$ 的 $30$ 次方开始模拟( int 的上限是 $2^{31}-1$).

代码

#include<iostream>
#include<cstdio>
#include<cmath>

using namespace std;

int n;

int main() {
	scanf("%d", &n);
	if (n % 2 == 1) printf("-1"); // n 为奇数不存在优秀的拆分
	else {
		int p = 30;
		while (n) { // 从 2^30 开始枚举
			int power = pow(2, p);
			if (power <= n) { // n 能够减去 power
				printf("%d ",power);
				n -= power;
			}
			p--; // 次数降低
		}
	}
	return 0;
}

标签:int,题解,优秀,30,二进制,拆分,include,P7071,CSP
From: https://www.cnblogs.com/panda-lyl/p/18498503

相关文章

  • P7072 [CSP-J2020] 直播获奖 题解
    暴力使用$\Theta(n^2)$的时间复杂度来解决这题大约能拿到$60pts$.即枚举$p$,再枚举每个选手的分数.正解桶是个好东西.我们开一个桶,记录当前分数有多少人.然后计算获奖人数,分数从大到小进行枚举,直到当前人数$\ge$获奖人数.代码#include<iostream>#include<cstdio>#i......
  • [CSP-J2020] 表达式 题解
    短路这道题目中所含的运算符只有3个:与、或、非.在与运算和或运算中有2个性质.进行与运算时,若其中有一个值为0,则这个运算的结果就为0,即无需判断另1个数是否是0或1.进行或运算时,若其中有一个值为1,则这个运算的结果就为1,也无需判断另一个数是否是0或1.表达式树根据短路的性......
  • 题解 SS241023D【数颜色】/ ZROI3029【静态邻域数颜色】
    静态邻域数颜色-题目-ZhengruiOnlineJudge题目描述静态树上邻域数颜色。给一棵\(n\)个点的无根树,第\(i\)个点颜色为\(a_i\)。有\(q\)次询问,每次询问如下:给定\(x,d\),考虑所有距离\(x\)不超过\(d\)的点,求有多少种不同的颜色。形式化地,给定\(x,d\),求\(|\{a......
  • 题解 P5326【[ZJOI2019] 开关】/ SS241023B【判断题】
    已经沦落为可以随便搬进模拟赛的模板题了。。。题目描述当前有\(n\)道判断题,初始全选的错。初始给出每道题的正确答案,设\(0\)表示错,\(1\)表示对。每道题有一个参数\(p_i\),每轮会以\(\frac{p_i}{\sum_{j=1}^{n}p_j}\)的概率选择第\(i\)道题并修改(flip)这道题的答......
  • CSP-J 2024 游记
    CSP-J2024游记Day\(-3\)忐忑不安地期待。做了一套模拟。ProblemScoreDifficultiesA\(100\)入门B\(50\)(贪心策略错了)普及-C\(50\)(双重循环\(n<=10^5\))普及D\(20\)(dp+前缀和,我写的DFS)普及+B题交完废了,幸好后面\(2\)题还行,总分......
  • [COCI2009-2010#4] PALACINKE 题解
    前言题目链接:洛谷。题意简述\(n\)个点,\(m\)条边。每条边上有商店,经过一条边花费\(1\)单位时间,如果在边上的商店购物,额外花费\(1\)单位时间。需要购买\(4\)种物品,每个商店售出\(1\sim4\)种物品不等。请问,在\(T\)个单位时间内,从\(1\)出发购物,得到这\(4\)种物品......
  • CSP模拟赛 #43
    A一棵树,每次加入一条路径,或者查询一条给定路径包含的路径个数。\(n,m,q\le10^5\)矩形加法,单调查询,三维偏序,cdq分治。B一棵树,有\(n+1\)层,第\(i\)层有\(i\)个点。对于第\(i(1\lei\len)\)层,点的编号分别为\(\frac{i(i-1)}2+1\sim\frac{i(i+1)}2\),该层的第......
  • 信息学奥赛复赛复习20-CSP-S2019-01格雷码-数据类型范围、unsigned 关键字、无符号范
    PDF文档回复:202410231P5657[CSP-S2019]格雷码[题目描述]通常,人们习惯将所有n位二进制串按照字典序排列,例如所有2位二进制串按字典序从小到大排列为:00,01,10,11。格雷码(GrayCode)是一种特殊的nn位二进制串排列法,它要求相邻的两个二进制串间恰好有一位不同,特别地......
  • 信息学奥赛复赛复习20-CSP-S2019-01格雷码-数据类型范围、unsigned 关键字、无符号范
    PDF文档公众号回复关键字:202410231P5657[CSP-S2019]格雷码[题目描述]通常,人们习惯将所有n位二进制串按照字典序排列,例如所有2位二进制串按字典序从小到大排列为:00,01,10,11。格雷码(GrayCode)是一种特殊的nn位二进制串排列法,它要求相邻的两个二进制串间恰好有一位不同......
  • [算法题解] Codeforces round 979 --D. QED's Favorite Permutation
    题目链接:https://codeforces.com/contest/2030/problem/D题目:题解:FavotitePermutation即每个数满足i=p[i];此题中,p数组每次询问后保持不变,s根据询问而改变。因此每次需要进行交换的数的位置是相同的,只需要检验s变更后,操作能否满足交换需求与否。故创建需数组need,预处理nee......