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

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

[CSP-J2020] 优秀的拆分--DFS+剪枝

摘要: # 题解没有搜索解法所以写了个 ###### 其实根本没必要,老老实实位运算不香嘛 #### tip-1: 1 当前凑的数已经大……

天才的写法

摘要:解题思路:拆分为不同的2的幂次数,可以先算出来比n小的2的所有幂次,在进行取数操作注意事项:参考代码:n = int(input())i = 1a = []b = []while 2**i <= n:……

2548: [CSP-J2020] 优秀的拆分

摘要:解题思路:注意事项:参考代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;char s[1000];char a[……

2548:优秀的拆分

摘要:解题思路:利用二进制注意事项:参考代码:n=int(input())a=list(str(bin(n)))#二进制a=a[2:]#去掉0ba.reverse()z=[]if int(a[0])==1:……
优质题解

[CSP-J2020] 优秀的拆分(递归)

摘要:解题思路:注意两件事,一个是奇数不存在优秀的拆分,因为2的正整数次方都是偶数,偶数+偶数=偶数另一个是拆分出的数要用 2 的正整数次幂表达,当它本身就是2 的正整数次幂的时候就可以打印自己了这里采用p……

优秀的拆分

摘要:解题思路:1.奇数不存在优秀的拆分,因为2的正整数次方都是偶数,偶数+偶数=偶数2.题目求一个数拆成2的正整数次方相加,使用位运算可以很简便的完成注意事项:1.<<是左移,左移一位相当于*2,左移两位……