超级水的题还wa了一次

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

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

#include <bits/stdc++.h>
using namespace std;
int a[],b[],a1[],a2[],x1[],x2[];
bool t;
char s[];
void cf(int *a)
{
int x=;
for (int i=;i>=;i--)
{
b[i]=(x*+a[i])/;
x=(x*+a[i])%;
}
memcpy(a,b,sizeof(b));
}
void calc1(int *a,int *b)
{
int x=;
for (int i=;i<=;i++)
{
b[i]=(a[i]+x)%;
x=(a[i]+x)/;
}
}
void calc2(int *a,int *b)
{
int x=;
for (int i=;i<=;i++)
{
if (x==)
{
if (a[i]==) b[i]==;
else b[i]=a[i]-,x=;
} else b[i]=a[i];
}
}
int pd(int *a)
{
int u=;
for (int i=;i>=;i--)
if (a[i]>) u=;
if (!u)
{
if (a[]==) return();
else if (a[]==) return();
}
return();
}
void cc(int *a1,int *a2)
{
int x=;
for (int i=;i<=;i++)
{
b[i]=(a1[i]+a2[i]+x)%;
x=(a1[i]+a2[i]+x)/;
}
memcpy(a1,b,sizeof(b));
}
void dfs()
{
while (true)
{
int tmp=pd(a1);
if (tmp==)
{
memcpy(x1,x2,sizeof(x2));
return ;
} else if (tmp==)
{
cc(x1,x2);
return ;
}
if (!pd(x2))
{
if (a1[]%==) cf(a1); else
{
cf(a1);
calc1(a1,a2);
memcpy(x2,x1,sizeof(x1));
}
} else
{
if (a1[]%==)
{
cf(a1);
calc1(a1,a2);
cc(x1,x2);
} else
{
cf(a2);
calc2(a2,a1);
cc(x2,x1);
}
}
}
}
int main()
{
int T;
cin>>T;
for (int i=;i<=T;i++)
{
cin>>s;
memset(a,,sizeof(a));
for (int i=;i<strlen(s);i++)
a[i+]=s[strlen(s)-i-]-'';
memset(x1,,sizeof(x1));
memset(x2,,sizeof(x2));
x1[]=;
memcpy(a1,a,sizeof(a));
dfs();
int j;
for (j=;j;j--) if (x1[j]) break;
for (int k=j;k;k--) cout<<x1[k];
if (j==) cout<<;
cout<<endl;
}
return ;
}

[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. .Net进阶系列(11)-异步多线程(委托BeginInvoke)(被替换)

    一. BeginInvoke最后两个参数的含义 倒数第二个参数:指该线程执行完毕后的回调函数:倒数第一个参数:可以向回调函数中传递参数. 下面以一段代码说明: /// <summary> ...

  2. 006、容器 What、Why、How(2018-12-21 周五)

    参考https://www.cnblogs.com/CloudMan6/p/6751516.html   What - 什么是容器?       容器是一种轻量级.可移植.自包含的软件打包技术,是应用 ...

  3. C# 生成一个带数字的饼图

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D ...

  4. luogu 1064 金明的预算方案

    01背包 变形,有主附件的背包内则更改决策 original: 1) 不选   2)选,f[j-w[i]]+v[i] now :     1)不选   2)选主   3)主 附1  4)主 附2   ...

  5. python - socketserver 模块应用

    server端: import socketserver import subprocess import json import struct class MyTCPHandler(socketse ...

  6. bootstrap-table插件数据加载方式

    data-url 直接使用data-url在table标签中定义 使用load方法加载数据 $(“#finishingTask”).bootstrapTable(‘load’,data); //dat ...

  7. Mybatis进阶学习笔记——输入映射

    1.输入映射 输入映射支持的类型: 1) 基本的类型,int,String,double 等(*)2) JavaBean 类型(*)3) 包装JavaBean 类型(对象里面包含另一个对象) 1.1基 ...

  8. Java注解之Retention、Documented、Target、Inherited介绍

    先看代码,后面一个个来解析: @Retention(RetentionPolicy.RUNTIME) @Target(value = {ElementType.METHOD, ElementType. ...

  9. Kaggle 泰坦尼克

    入门kaggle,开始机器学习应用之旅. 参看一些入门的博客,感觉pandas,sklearn需要熟练掌握,同时也学到了一些很有用的tricks,包括数据分析和机器学习的知识点.下面记录一些有趣的数据 ...

  10. mysql之 innobackupex备份+binlog日志的完全恢复【转】

    前言: MySQL的完全恢复,我们可以借助于完整的 备份+binlog 来将数据库恢复到故障点. 备份可以是热备与逻辑备份(mysqldump),只要备份与binlog是完整的,都可以实现完全恢复. ...