超级水的题还wa了一次

首先很容易发现其实就只有两个值并存

然后 要注意把数组初始化啊。。。可能后面有多余的元素(对拍的时候由于从小到大就没跑出错)

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int a[],b[],a1[],a2[],x1[],x2[];
  4. bool t;
  5. char s[];
  6. void cf(int *a)
  7. {
  8. int x=;
  9. for (int i=;i>=;i--)
  10. {
  11. b[i]=(x*+a[i])/;
  12. x=(x*+a[i])%;
  13. }
  14. memcpy(a,b,sizeof(b));
  15. }
  16. void calc1(int *a,int *b)
  17. {
  18. int x=;
  19. for (int i=;i<=;i++)
  20. {
  21. b[i]=(a[i]+x)%;
  22. x=(a[i]+x)/;
  23. }
  24. }
  25. void calc2(int *a,int *b)
  26. {
  27. int x=;
  28. for (int i=;i<=;i++)
  29. {
  30. if (x==)
  31. {
  32. if (a[i]==) b[i]==;
  33. else b[i]=a[i]-,x=;
  34. } else b[i]=a[i];
  35. }
  36. }
  37. int pd(int *a)
  38. {
  39. int u=;
  40. for (int i=;i>=;i--)
  41. if (a[i]>) u=;
  42. if (!u)
  43. {
  44. if (a[]==) return();
  45. else if (a[]==) return();
  46. }
  47. return();
  48. }
  49. void cc(int *a1,int *a2)
  50. {
  51. int x=;
  52. for (int i=;i<=;i++)
  53. {
  54. b[i]=(a1[i]+a2[i]+x)%;
  55. x=(a1[i]+a2[i]+x)/;
  56. }
  57. memcpy(a1,b,sizeof(b));
  58. }
  59. void dfs()
  60. {
  61. while (true)
  62. {
  63. int tmp=pd(a1);
  64. if (tmp==)
  65. {
  66. memcpy(x1,x2,sizeof(x2));
  67. return ;
  68. } else if (tmp==)
  69. {
  70. cc(x1,x2);
  71. return ;
  72. }
  73. if (!pd(x2))
  74. {
  75. if (a1[]%==) cf(a1); else
  76. {
  77. cf(a1);
  78. calc1(a1,a2);
  79. memcpy(x2,x1,sizeof(x1));
  80. }
  81. } else
  82. {
  83. if (a1[]%==)
  84. {
  85. cf(a1);
  86. calc1(a1,a2);
  87. cc(x1,x2);
  88. } else
  89. {
  90. cf(a2);
  91. calc2(a2,a1);
  92. cc(x2,x1);
  93. }
  94. }
  95. }
  96. }
  97. int main()
  98. {
  99. int T;
  100. cin>>T;
  101. for (int i=;i<=T;i++)
  102. {
  103. cin>>s;
  104. memset(a,,sizeof(a));
  105. for (int i=;i<strlen(s);i++)
  106. a[i+]=s[strlen(s)-i-]-'';
  107. memset(x1,,sizeof(x1));
  108. memset(x2,,sizeof(x2));
  109. x1[]=;
  110. memcpy(a1,a,sizeof(a));
  111. dfs();
  112. int j;
  113. for (j=;j;j--) if (x1[j]) break;
  114. for (int k=j;k;k--) cout<<x1[k];
  115. if (j==) cout<<;
  116. cout<<endl;
  117. }
  118. return ;
  119. }

[ZJOI2012]数列的更多相关文章

  1. [BZOJ2656][codevs1207][Zjoi2012]数列(sequence)

    [BZOJ2656][codevs1207][Zjoi2012]数列(sequence) 试题描述 小白和小蓝在一起上数学课,下课后老师留了一道作业,求下面这个数列的通项公式: 小白作为一个数学爱好者 ...

  2. 【BZOJ 2656】2656: [Zjoi2012]数列(sequence) (高精度)

    2656: [Zjoi2012]数列(sequence) Time Limit: 2 Sec  Memory Limit: 128 MBSubmit: 1499  Solved: 786 Descri ...

  3. bzoj 2656 [Zjoi2012]数列(sequence) 递推+高精度

    2656: [Zjoi2012]数列(sequence) Time Limit: 2 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Descri ...

  4. 洛谷 P2609 [ZJOI2012]数列 解题报告

    P2609 [ZJOI2012]数列 题目描述 小白和小蓝在一起上数学课,下课后老师留了一道作业,求下面这个数列的通项公式: A(0)=0 A(1)=1 A(2i)=A(i) (对于任意 i>0 ...

  5. BZOJ2656 [Zjoi2012]数列

    Description 小白和小蓝在一起上数学课,下课后老师留了一道作业,求下面这个数列的通项公式: $$\begin{aligned}A_0 &= 0\\A_1 &= 1\\A_{2 ...

  6. 【bzoj2656】[Zjoi2012]数列(sequence) 高精度

    题目描述 给出数列 $A$ 的递推公式如下图所示,$T$ 次给定 $n$ ,求 $A_n$ . 输入 输入文件第一行有且只有一个正整数T,表示测试数据的组数.第2-T+1行,每行一个非负整数N. 输出 ...

  7. [BZOJ 2656][ZJOI2012]数列(递归+高精度)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2656 分析: 很容易想到递归分治,但遇到奇数时候f[i]=f[i/2]+f[i/2+1 ...

  8. bzoj 2656 [Zjoi2012]数列(sequence)(高精度)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2656 [题意] 计算大数递推式 [思路] 高精度 [代码] #include<c ...

  9. bzoj2656 [Zjoi2012]数列(sequence)

    题目链接 好久没写高精度了,调了很久QAQ 如果直接递归计算答案的话肯定会T 发现一个数不管是分成一奇一偶还是直接>>1,都会重复计算很多东西 我们只需要在递归的时候实时维护一个xx(an ...

随机推荐

  1. java中CRUD(增删查改)底层代码的实现

    java中CRUD(增删查改)底层代码的实现: package com.station.dao; import com.station.model.Product; import java.sql.* ...

  2. DNS缓存欺骗攻击

    1.受影响的无线网络设备 一些D-link.TP-Link.Belkin.Linksys及IPTime等品牌无线路由器存在安全隐患. 2.漏洞描述 攻击者向DNS服务器注入非法网络域名地址,如果服务器 ...

  3. .net 加密与解密

    public class Encrypts { /// <summary> /// 构造方法 /// </summary> public Encrypts() { } /// ...

  4. JavaScript之12306自动刷新车票[待完善]

    function refresh(){ var search_btn = document.getElementById("query_ticket"); var result_t ...

  5. 解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.

    http://www.cnblogs.com/yixius/articles/6971054.html

  6. mysql 索引无法使用问题

    今天碰到一个问题,表中有一个索引不使用,怎么强制也没用 ,force index都没用, 后来才发现是类型不对, 比如索引字段是int,如果参数使用varchar,那么是无法使用索引的,参数类型最好统 ...

  7. SpringBoot整合Jest操作ES

    (1).添加依赖 <dependency> <groupId>io.searchbox</groupId> <artifactId>jest</a ...

  8. Python|绝不乱入的靠谱书单

  9. 董事局主席董事长总裁首席执行官CEO总裁董事监事区别

    董事长是公司的最大股东:董事长是董事会的主席,一般是企业的所有者,掌握企业的股权并且决定企业的发展策略. 董事局主席通常是在大财团中才会出现,董事局主席管数个董事长,一个大财团涉及很多方面的业务,因此 ...

  10. /etc/fstab文件详解【转】

    ******************************************************************************* 有很多人经常修改/etc/fstab文件 ...