CSP历年复赛题-P1062 [NOIP2006 普及组] 数列 原题链接:https://www.luogu.com.cn/problem/P1062 题意解读:给定一个序列,计算第N个。 解题思路: 仔细观察序列:1,3,4,9,10,12,13,… 再看展开式:30,31,30+31,32,30+32,31+32,30+31+32,不正是一个3进制数的计算公式吗? 用三进制表示为:1, 1...
输出文件为计算结果,是一个正整数(在所有的测试数据中,结果均不超过2.1*109)。(整数前不要有空格和其他符号)。 输入输出样例 输入样例#1: 3 100 输出样例#1: 981 说明 NOIP 2006 普及组 第四题 分析:这个数列是非常有规律的:1,10,11,100,101,110,111,也就是把N转化为2进制后的排列,然后搞一搞就好了....
思路:先将拆分后最大次幂为i的个数用组合数搞出来,放进数组dp中,以缩小搜索范围。 然后跑前缀和,找出满足条件时最大次幂是多少(单调增),然后跑一波dfs,把得到的结果排序。 只放思路了…代码略长但易懂,仅供参考 【代码】 //数列 #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #...
[洛谷P1062NOIP2006普及组]数列 [洛⾕P1062NOIP2006普及组]数列 ⾸先题⾯是这样的:给定⼀个正整数 k(3≤k≤15) ,把所有k的⽅幂及所有有限个互不相等的k的⽅幂之和构成⼀个递增的序列,例如,当 k=3 时,这个序列是:1,3,4,9,10,12,13,…因为所有的底数k都是相同的,所以⾃然要想到...
洛谷P1062 数列[解法二:二进制] 题目描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13,… (该序列实际上就是:3^0,3^1,3^0+3^1,3^2,3^0+3^2,3^1+3^2,3^0+3^1+3^2,…)...
1|1大于第n-1项但是小于目前能生成的任意一项,所以很容易想到:每确立一个数,就从数列的第一项开始逐个加上这一项,就造成了递增的效果。 但是这样做还有很大的缺陷,因为在前n-1项中,难免会有重复的项,举个最简单的例子: 0,1,0+1,2,0+2,1+2; 如果确立了第三项(0+1)的时候,对前面2项进行加法操作,...
【luogu】p1062 数列 题目链接: https://www.luogu.com.cn/problem/P1062 题目描述 给定一个正整数)k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13,……
Java实现洛谷 P1062 数列 P1062 数列 importjava.util.ArrayList;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[] args){Scannersc=newScanner(System.in);intnum=sc.nextInt();intn=sc.nextInt(); sc.close(); ArrayList<Integer> list =newArrayList<Integer>();while(n!=0){...
P1062 数列 题目地址 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include<cstdio> #include<iostream> #define int long long using namespace std; int poww(int a,int b){ int ans=1,tmp=a; while(b){ if(b&1)ans*=tmp; tmp*=tmp; ...
洛谷P1062 数列 题目描述 给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是: 1,3,4,9,10,12,13,… (该序列实际上就是:3^0,3^1,3^0+3^1,3^2,3^0+3^2,3^1+3^2,3^0+3^1+3^2,…)...