题目链接 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k〈w≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个"0"或"1"组成),S对应于上述条件(3)中的q…
C - Pashmak and Buses Codeforces Round #261 (Div. 2) C. Pashmak and Buses time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Recently Pashmak has been employed in a transportation company. The…
传送门 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W< span>≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q.将S从右…
P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W< span>≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3…
(不会敲键盘惹qwq) 2^k进制数[传送门] 算法标签: (又是一个提高+省选-的题) 如果我说我没听懂你信吗 代码qwq: #include<iostream> #include<cstring> #include<cstdio> using namespace std; ][][],tot[],mmax; int pow(int a,int b) { ,with=a; while(b) { ) ans*=with; with*=with; b>>=;…
1649:[例 2]2^k 进制数 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 原题来自:NOIP 2006 提高组 设 r 是个 2k 进制数,并满足以下条件: 1.r 至少是个 2 位的 2k 进制数. 2.作为 2k 进制数,除最后一位外,r 的每一位严格小于它右边相邻的那一位. 3.将 r 转换为 2 进制数 q 后,q 的总位数不超过 w. 在这里,正整数 k 和 w 是事先给定的. 问:满足上述条件的不同的 r 共多少个? [输入] 输入…
P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W< span>≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3…
题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W< span>≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q.将S从右起划分为…
[luogu]P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q…
我们知道任意进制转换为十进制,都是乘以基数的多少次方,然后相加: 十进制转换为任意进制,都是除以基数,然后倒着取余数: 所以这里是用十进制数中转,实现任意进制数的转换 #include<iostream> #include<algorithm> #include<math.h> #include<stack> #define ll long long #define M 0x3f3f3f3f3f using namespace std; ll change1…
[codevs1157]2k进制数 试题描述 设r是个2k 进制数,并满足以下条件: (1)r至少是个2位的2k 进制数. (2)作为2k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<w≤30000)是事先给定的.问:满足上述条件的不同的r共有多少个?我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个"0"或"1"组成),S对应…
设r是个2k进制数,并满足以下条件: (1)r至少是个2位的2k进制数. (2)作为2k进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W< span>≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个"0"或"1"组成),S对应于上述条件(3)中的q…
https://www.luogu.org/problemnew/show/P1066(题目传送) (题解)https://www.luogu.org/problemnew/solution/P1066: 首先普及一下知识:一个2^k进制n位数转换成2进制数时最多有n*k位:一个n进制数的每位数字属于集合{0,1,……,n-1}. 这样我们就知道给出w.k后r的位数最多为wei=w/k向上取整,但要注意,如果w%k有余,则r在最高位上不能把集合{0,1,……,n-1}的数都取一遍. 又知道r的位…
题目描述 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0. 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0. 例: 1010230 是有效的7位数 1000198 无效 0001235 不是7位数, 而是4位数. 给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数. 假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18. 输入 两个十进制整数N和K 输出 十进制表示…
题面 传送门:https://www.luogu.org/problemnew/show/P1066 Solution 这是一道神奇的题目,我们有两种方法来处理这个问题,一种是DP,一种是组合数. 这题需要高精度,以下省略此声明 . 如果你对数学不感兴趣/喜欢写DP/(不想虐待自己),这里是DP做法. 首先,我们可以发现,这个数最多有w/k位(向上取整),如下图所示: 那么,我们就可以以这个特性做DP啦. 设f[i][j]表示枚举到第i位(指2^k进制下的),最后一位数为j. f[i][j] =…
发现自己推得组合数好像不太一样 先把这个复杂的柿子写一遍 \[\sum_{i=2}^{\left \lfloor\frac{n}{k}\right \rfloor}C_{2^k-1}^{i}+\sum_{i=1}^{2^{n\text{ } \text{mod} \text{ }k}-1}C_{2^k-1-i}^{\left \lfloor\frac{n}{k}\right \rfloor}\] 感觉这个柿子非常蛇皮 但是非常好求啊 由于\(2^k-1\)非常小,最大仅仅是\(511\),所以我…
算法提高 进制转换 时间限制:1.0s 内存限制:256.0MB 问题描述 程序提示用户输入三个字符,每个字符取值范围是0-9,A-F.然后程序会把这三个字符转化为相应的十六进制整数,并分别以十六进制,十进制,八进制输出. 输入格式:输入只有一行,即三个字符. 输出格式:输出只有一行,包括三个整数,中间用空格隔开. 输入输出样例 样例输入 FFF 样例输出 FFF 4095 7777 import java.math.BigInteger; import java.util.Scanner; p…
原题链接 大力猜结论竟然猜对了.. 对于一对\(k,w\),我们可以把\(w\)位划分成\(k\)位一段的形式,每一段就是转换成十进制后的一位,这个从题面的解释中应该可以理解. 先不考虑可能多出(即剩余不足以划成\(k\)位)的一段,这样使得每一位的枚举上界都是\(2 ^ k - 1\),然后我们枚举几位数. \(2\)位数 十位为\(1\),显然个位只能为\(2\sim 2 ^ k - 1\),共\(2 ^ k - 2\)种. 十位为\(2\),显然个位只能为\(3\sim 2 ^ k - 2…
分两种情况:$k|n$和$k$不整除$n$ 如果$k|n$,那么长度为$n$的二进制数就能被恰好分成$n/k$个块:所以若某个数长度是$x$个块,由于每个块内能填不同的$2^k-1$个数,那么就有$C_{2^k-1}^{x}$ 所以整除时答案是$\sum_{i=2}^{n/k} \space C_{2^k-1}^{i}$ 如果$k$不整除$n$,那么一共会分成$\lfloor \frac{n}{k} \rfloor+1$块,而最后一个不完整的块只有$n\text{mod} k$位,能选择的数还是…
洛谷P1066:https://www.luogu.org/problemnew/show/P1066 思路 挺难的一道题 也很复杂 满足题目要求的种数是两类组合数之和 r的最多位数m为 w/k(当w mod k=0 时) w/k+1(当 w mod k=1 时) First: 位数为2~m的种数 即从2k-1中不重复地取i个的组合数(只取到2k-1是因为2k会进位) 即C(2k-1,2)+C(2k-1,3)+...+C(2k-1,m) Second: 位数为m+1的种数 因为要每个数严格小于左…
题目 https://ac.nowcoder.com/acm/contest/907/D 做法 \((x)_k\)定义编号,如果\(a+b\)加到一起能进一位,\(a+b\rightarrow 1+(a+b-k)=a+b-(k-1)\),故\(d(a_{l,r})=\sum\limits_{i=l}^r a_i\% k-1\) 但我们发现\(k-1\)这一块缺失了,显然为\(0\)当且仅当区间均为\(0\),其他情况得出\(0\)的时候实际结果为\(k-1\) \(b=0\):全\(0\)区间个…
算法训练 K好数 时间限制:1.0s 内存限制:256.0MB 提交此题 锦囊1 锦囊2 问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = 4,L = 2的时候,所有K好数为11.13.20.22.30.31.33 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L. 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入…
2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后,则q的总位数不超过w. 在这里,正整数k(1≤k≤9)和w(k<W< span>≤30000)是事先给定的. 问:满足上述条件的不同的r共有多少个? 我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q.将…
问题描述 如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数.求L位K进制数中K好数的数目.例如K = ,L = 2的时候,所有K好数为11...... 共7个.由于这个数目很大,请你输出它对1000000007取模后的值. 输入格式 输入包含两个正整数,K和L. 输出格式 输出一个整数,表示答案对1000000007取模后的值. 样例输入 样例输出 数据规模与约定 对于30%的数据,KL <= : 对于50%的数据,K <= , L <= : 对…
华电北风吹 天津大学认知计算与应用重点实验室 日期:2015/8/24 先说一下结论 有k进制数abcd,有abcd%(k−1)=(a+b+c+d)%(k−1) 这是由于kn=((k−1)+1)n=∑ni=0Cin(k−1)i 因此kn 对(k-1)取余的话为1 比如10进制1425%9=3,(1+4+2+5)=12%9=3. 这个性质眼下我在两个地方见到了 (一)算法导论第11章讲散列表的时候,除法散列的时候 h(k)=kmod m 对于m的选取,若m取2p或者2p−1 均是不合适的选择,前者…
//编写一个函数:从传入的num个字符中找到最长的一个字符,并通过max传回该串地址. //重点:切记这里a[0]就是一个地址. #include<conio.h> #include<stdio.h> #include<string.h> #include<stdlib.h> ], int num, char *max) { max = a[];//切记这里a[0]就是一个地址. ; i < num; i++) { if (strlen(a[i]) &…
题目链接 题目描述 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0. 考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0. 例: 1010230 是有效的7位数 1000198 无效 0001235 不是7位数, 而是4位数. 给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数. 假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18. 输入 两个十进制整数N和K 输出…
1813. M进制数问题 Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description 试用 C++的类来表示一般进制数. 给定 2 个n位m进制整数A和B,计算m进制数整数P = A / B (向下取整)与 Q = A % B的值. Input 输入包含多个测试点.第一行为一个整数T,表示测试点数. 对于每个测试点第 1 行是进制 m .第 2 行和第 3 行分别给出 m 进制整数 A 和 B. 所有 m 进制数的10进制表示均…
这是一篇用来卖萌的文章QAQ 考虑以下三类卷积 \(C_k = \sum \limits_{i \;or\;j = k} A_i * B_j\) \(C_k = \sum \limits_{i\;and\;j = k} A_i * B_j\) \(C_k = \sum \limits_{i\;xor\;j = k}A_i * B_j\) 由于前两种可以用FMT(高维前缀和)解决,那我们就谈谈第三种吧 下文中的\(n\)都是形如\(2^i - 1\)的数 下标的开与闭是根据好不好写来定的,但是还是…
正解:数论 解题报告: 行吧那就让我一点点推出来趴QAQ…