(不会敲键盘惹qwq)

2^k进制数【传送门】

算法标签:

(又是一个提高+省选-的题)


如果我说我没听懂你信吗

代码qwq:

  1. #include<iostream>
  2. #include<cstring>
  3. #include<cstdio>
  4. using namespace std;
  5. int a[][][],tot[],mmax;
  6. int pow(int a,int b)
  7. {
  8. int ans=,with=a;
  9. while(b)
  10. {
  11. if(b&) ans*=with;
  12. with*=with;
  13. b>>=;
  14. }
  15. return ans;
  16. }
  17. void jiafa(int j[],int a[])
  18. {
  19. int lb=;
  20. while(lb<=j[]||lb<=a[])
  21. {
  22. j[lb]+=a[lb];
  23. if(j[lb]>=)
  24. {
  25. j[lb]%=;
  26. j[lb+]++;
  27. }
  28. lb++;
  29. }
  30. while(j[lb]>=)
  31. {
  32. j[lb]%=;
  33. lb++;
  34. j[lb]++;
  35. }
  36. while(!j[lb]&&lb>) lb--;
  37. if(lb>j[]) j[]=lb;
  38. }
  39. void jiafa1(int a[],int b)
  40. {
  41. int lb=;
  42. while(b)
  43. {
  44. a[++lb]=b%;
  45. b/=;
  46. }
  47. a[]=lb;
  48. jiafa(tot,a);
  49. }
  50. int main()
  51. {
  52. int k,w;
  53. cin>>k>>w;
  54. int g=w/k;
  55. bool youyu=;
  56. int mmax2;
  57. if(w%k)
  58. {
  59. g++;
  60. youyu=;
  61. mmax2=pow(,w%k)-;
  62. }
  63. mmax=pow(,k)-;
  64. for(int i=;i<mmax;i++) jiafa1(a[][i],mmax-i);
  65. int l=,n=;
  66. for(int i=;i<=g;i++)
  67. {
  68. if(i==g&&youyu&&mmax2<mmax)
  69. {
  70. for(int i=mmax-;i>mmax2;i--)
  71. jiafa(a[n][mmax2],a[l][i]);
  72. jiafa(tot,a[n][mmax2]);
  73. for(int j=mmax2-;j>=;j--)
  74. {
  75. memcpy(a[n][j],a[n][j+],sizeof(a[n][j+]));
  76. jiafa(a[n][j],a[l][j+]);
  77. jiafa(tot,a[n][j]);
  78. }
  79. break;
  80. }
  81. jiafa(a[n][mmax-],a[l][mmax]);
  82. jiafa(tot,a[n][mmax-]);
  83. for(int j=mmax-;j>=;j--)
  84. {
  85. memcpy(a[n][j],a[n][j+],sizeof(a[n][j+]));
  86. jiafa(a[n][j],a[l][j+]);
  87. jiafa(tot,a[n][j]);
  88. }
  89. for(int j=;j<=mmax;j++)
  90. memset(a[l][j],,sizeof(a[l][j]));
  91. n++;l++;
  92. if(n==) n=;
  93. if(l==) l=;
  94. }
  95. int lt=tot[];
  96. while(!tot[lt]&&lt>) lt--;
  97. for(;lt>;lt--) cout<<tot[lt];
  98. return ;
  99. }//装作是自己写的样子

end-

【洛谷p1066】2^k进制数的更多相关文章

  1. 洛谷 P1066 2^k进制数

    P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. ( ...

  2. 洛谷P1066 2^k进制数

    P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. ( ...

  3. 洛谷P1066 2^k进制数(题解)(递推版)

    https://www.luogu.org/problemnew/show/P1066(题目传送) (题解)https://www.luogu.org/problemnew/solution/P106 ...

  4. [NOIP2006] 提高组 洛谷P1066 2^k进制数

    题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进制数q后 ...

  5. 洛谷1066 2^k进制数

    原题链接 大力猜结论竟然猜对了.. 对于一对\(k,w\),我们可以把\(w\)位划分成\(k\)位一段的形式,每一段就是转换成十进制后的一位,这个从题面的解释中应该可以理解. 先不考虑可能多出(即剩 ...

  6. [luogu]P1066 2^k进制数[数学][递推][高精度]

    [luogu]P1066 2^k进制数 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻 ...

  7. P1066 2^k进制数

    传送门 题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数. (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位. (3)将r转换为2进 ...

  8. [Luogu P1066] 2^k进制数 (组合数或DP)

    题面 传送门:https://www.luogu.org/problemnew/show/P1066 Solution 这是一道神奇的题目,我们有两种方法来处理这个问题,一种是DP,一种是组合数. 这 ...

  9. 洛谷P1582——倒水(进制,数学)

    https://www.luogu.org/problem/show?pid=1582 题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了 ...

  10. Luogu P1066 2^k进制数 组合数学

    分两种情况:$k|n$和$k$不整除$n$ 如果$k|n$,那么长度为$n$的二进制数就能被恰好分成$n/k$个块:所以若某个数长度是$x$个块,由于每个块内能填不同的$2^k-1$个数,那么就有$C ...

随机推荐

  1. 16.0-uC/OS-III同步

    同步 uC/OS-III中用于同步的两种机制:信号量和事件标志组 . 1.信号量 信号量最初用于控制共享资源的访问.信号量可用于ISR与任务间.任务与任务间的同步. “ N”表示信号量可以被累计.初始 ...

  2. 【Java】NO.80.Note.1.Java.1.001-【Java 各种特性概念】

    1.0.0 Summary Tittle:[Java]NO.80.Note.1.Java.1.001-[Java 各种特性概念] Style:Java Series:Java Since:2018-0 ...

  3. 这10个Python项目超有趣!

    前言: Python可谓是现在很多人正在学或者想学的一个脚本语言了,提到学习自然就少不了拿项目练手,可是一般的项目根本提不起兴趣嘛,这10个项目可是非常有趣的,不信你看看. [Python 图片转字符 ...

  4. pat 1051Pop Sequence

    模拟栈的过程,一开始我是用的cin来判断每行的每一个数字,然后判断回车结束.有一个点会超时,答案用数组先记录序列的方法非常好.有一个注意点就是访问s.top()的时候先要保证s.size()>0 ...

  5. 家庭记账本之微信小程序(四)

    json的学习 JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小. ...

  6. 将指定世界中的指定位置的Block转化为箱子

    在bukkit中,block可以操作所有的三位像素方块,如果是向对block进一步操作,我们就需要得到BlockState, BlockState表示一个方块的状态,才能够对方块进行位置等状态的操作, ...

  7. COM中参数标识

  8. meterpreter 渗透用法

    获取凭证 hashdump模块(post)可以从SAM数据库中导出本地用户账号,credential_collector脚本(post/windows/gather/credentials)也可以从目 ...

  9. Vue系列之 => Watch监视路由地址改变

    第一种方式实现监听 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  10. xml 和 json 序列化忽略字段

    xml 和 json 序列化忽略字段: @JsonIgnore @XmlTransient