希希的多项式(推递推式)

链接:https://ac.nowcoder.com/acm/contest/316/B
来源:牛客网
 

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 131072K,其他语言262144K
64bit IO Format: %lld

题目描述

Nozomi 是一个可爱的女孩子。她喜欢研究一些多项式。

这次,她给你了一个多项式:

她想问你中的ap 和 ap-2各是多少。

输入描述:

输入第一行表示一个数 T(T ≤ 105) 表示输入组数。

以下 T 行一行一个数 p (1 ≤ p ≤ 105),表示 Np(x) 。

输出描述:

输出一行两个数个数,表示 Np(x) 的 ap 和 ap-2 ,以空格分隔。

示例1

输入

复制

2
1
2

输出

复制

1 0
1 -1

说明

对于样例:

N1(x) = x, N2(x) = x2-1

注意 p=1 时候并没有 ap-2 项,故我们需要输出 0 来表示 ap-2 的值。

题解:

去做一下公式的即可发现规律  前边的值为1 后边的满足a[t]=a[t-1]-(t-1);

代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>

using namespace std;
long long int a[100005];


int main() {
	a[1]=0;
	a[2]=-1;
	for(int t=3; t<100005; t++) {
		a[t]=a[t-1]-(t-1);
	}
	int n;
	cin>>n;
	int k;
	for(int t=0; t<n; t++) {
		scanf("%d",&k);
		printf("1 %lld\n",a[k]);
	}
	return 0;
}

 

posted @ 2018-12-08 22:51  black_hole6  阅读(221)  评论(0编辑  收藏  举报