【题目链接】

  http://www.lydsy.com/JudgeOnline/problem.php?id=2656

【题意】

  计算大数递推式

【思路】

  高精度

【代码】

 #include<cstdio>
#include<cstring>
#include<iostream>
using namespace std; const int maxn = ;
const int base = 1e4; struct Bign {
int len,N[maxn];
int& operator[](const int& i){
return N[i];
}
void init() {
len=;
memset(N,,sizeof(N));
}
};
Bign tmp; char s[maxn];
void read(Bign& A)
{
A.init(),tmp.init();
scanf("%s",s+);
int i,j;
tmp.len=strlen(s+);
for(int i=;i<=tmp.len;i++)
tmp[i]=s[tmp.len+-i]-'';
A.len=(tmp.len-)/ +;
for(i=;i<=A.len;i++) {
for(j=;j<=;j++)
A[i]=A[i]*+tmp[(i-)*+(-j)];
}
}
void print(Bign A)
{
printf("%d",A[A.len]);
for(int i=A.len-;i;i--)
printf("%04d",A[i]);
puts("");
}
Bign operator + (Bign A,Bign B)
{
A.len=max(B.len,A.len);
for(int i=;i<=A.len;i++) {
A[i]+=B[i];
A[i+]+=A[i]/base;
A[i]%=base;
}
while(A[A.len+]) A.len++;
return A;
}
Bign operator + (Bign A,int x)
{
Bign B; B.init(); B[]=x;
return A+B;
}
Bign operator / (Bign A,int p)
{
for(int i=;i<=A.len;i++) {
if(A[i]&) A[i-]+=base/p;
A[i]/=p;
}
while(!A[A.len]&&A.len) A.len--;
return A;
} Bign p,q,n; void F(Bign x)
{
if(x.len== && x[]==) {
p=x; q.init(); return ;
}
F((x+)/);
if(x[]&) p=p+q;
else q=p+q;
} int main()
{
int T; scanf("%d",&T);
while(T--) {
p.init(),q.init();
read(n);
F(n);
print(p);
}
return ;
}

Ps:每次做高精度都会涨姿势 >_<

bzoj 2656 [Zjoi2012]数列(sequence)(高精度)的更多相关文章

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

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

  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]数列(递归+高精度)

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

  4. 2656: [Zjoi2012]数列(sequence)(递归+高精度)

    好久没写题了T T NOIP 期中考双血崩 显然f(x)=f(x>>1)+f((x>>1)+1),考虑每次往x>>1递归,求出f(x),复杂度O(logN) 我们设 ...

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

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

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

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

  7. bzoj2656 [Zjoi2012]数列(sequence)

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

  8. BZOJ2656 [Zjoi2012]数列(sequence)[模拟]

    这个递推式子可以发现$i$是偶数下标可以缩一半,是奇数下标就可以拆成两个下标,$\lfloor \frac{i}{2} \rfloor$以及$\lfloor \frac{i}{2}+1 \rfloor ...

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

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

随机推荐

  1. 1176: [Balkan2007]Mokia - BZOJ

    Description维护一个W*W的矩阵,每次操作可以增加某格子的权值,或询问某子矩阵的总权值. 修改操作数M<=160000,询问数Q<=10000,W<=2000000.Inp ...

  2. hdu 4662

    将U全部转化为I   因为 I 的个数一定是2的n次方  有可能消除了一定数量的 2U  所以I的个数加上一个6的整数倍是2的n次方 #include <iostream> #includ ...

  3. firefly 框架 结构图

    原地址:http://www.9miao.com/question-15-54838.html 系统结构:

  4. Pie Charts

    Default pie chart   The default pie chart with no options set. Source Code $.plot('#placeholder', da ...

  5. EasyUI combotree值的设置 setValue

    如果combotree的json数据如下: [ { "id":"2", "text":"wwwww", "st ...

  6. java内存模型分析2

    不同线程之间无法直接访问对方工作内存中的变量,线程间变量值的传递均需要在主内存来完成,线程.主内存和工作内存的交互关系如下图所示,和上图很类似. 这里的主内存.工作内存与Java内存区域的Java堆. ...

  7. JixiPix 各种图像软件,很不错的说,还有affinity designer

    http://jixipix.com/purchase.html https://www.board4allcz.eu/showthread.php?t=639107 https://affinity ...

  8. GPS(2)关于位置的3个示例,实时获取GPS定位数据,求两个经纬点距离,邻近某个区域圆时警告

    实时获取GPS定位数据 import android.app.Activity; import android.content.Context; import android.location.Loc ...

  9. 1220. Stacks

    1220 又一神题啊  卡内存可以卡到这种地步 省得不行了 开两个[N]数组 一个来记录前驱  一个存数 记录前驱的用unsigned short类型 最大可达65535 不过可以标记一下是否比这个数 ...

  10. 学习Android之内部类

    java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类.内部类又分为:常规内部类.局部内部类.匿名内部类和静态嵌套类四种.我们内部类的知识在Android手机开发中经常用到. 一.常规内部 ...