AOJ-AHU-OJ-662 越来越快
来源:互联网 发布:试衣间软件 编辑:程序博客网 时间:2024/06/12 00:59
越来越快
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MB
Description
Viky最近对数列有很大的兴趣,比如斐波那契数列。但研究斐波那契数列的人太多了,Viky决定用递推公式定义一种新的数列,并命名为Viky数列。Viky数列定义如下:
V(1) = X, V(2) = Y;
V(n) = A * V(n-2) + B * V(n-1), n≥3;
问:给出整数m,问Viky数列的前m项和sum。
V(1) = X, V(2) = Y;
V(n) = A * V(n-2) + B * V(n-1), n≥3;
问:给出整数m,问Viky数列的前m项和sum。
Input
第1行:测试数据组数t;
接下来依次是这t组数据,对于每一组数据:
第1行:X Y A B,有X,Y,A,B≥0;
第2行:m, m≥0。
接下来依次是这t组数据,对于每一组数据:
第1行:X Y A B,有X,Y,A,B≥0;
第2行:m, m≥0。
Output
一共t行,第i行对于第i组数据的答案。
Sample Input
OriginalTransformed11 2 1 16
Sample Output
OriginalTransformed32
Hint
所给数据及最后的结果sum均为整数,且保证取值范围都在区间[0,231)内。
————————————————————忧桑的分割线————————————————————
思路:很简单不是吗?但是,为什么你会RE这么多次?数组不够大?应该是根本存不下。
考虑A = 0且B = 0的时候,然后给你一个m = 1000000000。
对嘛,A、B是2以上的时候f[ ]递增越来越快,很快就会超过2147483647。也就是说这个时候数据中的m会很小。
反之就不一定了。加上很多的判定吧。分类讨论XYAB
代码如下:
#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>int f[50];int main(){ int cas; int X,Y,A,B; long long sum, m; scanf("%d", &cas); while(cas--){ scanf("%d%d%d%d%lld", &X, &Y, &A, &B, &m); f[0] = X; f[1] = Y; sum = X + Y; if(m == 1) printf("%d\n", X); else if(m == 2) printf("%lld\n", sum); else if(!m || !X && !Y) printf("0\n"); else if(!A && !B) printf("%lld\n", sum); else if(B == 1 && !A) printf("%lld\n", X + Y*(m-1)); else if(A == 1 && !B){ if(m%2==0) sum = (X+Y) * (m>>1); else sum = (X+Y)*(m>>1) + X; printf("%lld\n", sum); } else{ for(int i = 2; i < m; i++){ f[i] = A * f[i-2] + B * f[i-1]; sum += f[i]; } printf("%lld\n", sum); } }return 0;}
0 0
- AOJ-AHU-OJ-662 越来越快
- AOJ-AHU-OJ-2 Homework
- AOJ-AHU-OJ-9 University
- AOJ-AHU-OJ-11 Rails
- AOJ-AHU-OJ-542 Window
- AOJ-AHU-OJ-489 夺宝奇兵
- AOJ-AHU-OJ-676 投票
- AOJ-AHU-OJ-531 IPv4
- AOJ-AHU-OJ-31 Counting Sheep
- AOJ-AHU-OJ-6 Hero in Maze
- AOJ-AHU-OJ-3 Redraiment的遭遇
- AOJ-AHU-OJ-5 渊子赛马
- AOJ-AHU-OJ-7 Redraiment猜想
- AOJ-AHU-OJ-8 童年生活二三事
- AOJ-AHU-OJ-394 Fibonacci numbers
- AOJ-AHU-OJ-401 Fibonacci & GCD
- AOJ-AHU-OJ-12 Box of Bricks
- AOJ-AHU-OJ-592 神奇的叶子
- java链表 约瑟夫问题
- HDOJ 4631 Sad Love Story
- IOS开发常用的开源类库6
- jfreechart 生成折线图,饼图,柱状图,堆栈柱状图
- hdu 1425 堆排序
- AOJ-AHU-OJ-662 越来越快
- 面试题目记录
- Huffman 编码压缩算法
- 创业必读:做一些“糟糕”的工作
- 一套UI控件
- Postion定位的疑惑
- 一致性 hash 算法
- BUPTOJ 0090 字符串转换
- C++ 公有继承、保护继承、私有继承的区别