题目描述
给定一个n次多项式 ,求它在a[n]x^n+a[n-1]x^(n-1)+a[n-2]x^(n-2)+...+a[0],求它在x=x0处的导函数。
输入
有多组测试数据。
第一行一个正整数T。
接下来3T行,对于每组数据,
第一行一个正整数n,表示多项式的次数;
第二行n+1个整数,表示这个多项式。第i个整数表示ai。
第三行一个整数x0,表示你需要求当x=x0时,该多项式的导函数。
接下来3T行,对于每组数据,
第一行一个正整数n,表示多项式的次数;
第二行n+1个整数,表示这个多项式。第i个整数表示ai。
第三行一个整数x0,表示你需要求当x=x0时,该多项式的导函数。
输出
输出共T行。
对于每组数据,输出一行一个整数,表示x=x0时,该多项式的导函数对998244353取模的结果。保证答案是有理数。
若答案取模后<0,请输出答案加998244353后的结果。
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const ll p=998244353; 5 ll t,n,a[200000],x,x1,k,ans; 6 int main() { 7 scanf("%lld", &t); 8 while (t--) { 9 scanf("%lld", &n); 10 for (ll i = 0; i <= n; i++) { 11 scanf("%lld", &a[i]); 12 } 13 scanf("%lld", &x); 14 x1 = 1; 15 ans = 0; 16 for (ll i = 1; i <= n; i++) { 17 k = a[i] * i % p; 18 k = k * x1 % p; 19 ans = (ans + k+p) % p; 20 x1 = x1 * x % p; 21 } 22 printf("%lld ", ans); 23 } 24 }