Polynomial

思路

题目给的是一个nnn次多项式,要我们求∑i=lr\sum\limits_{i = l} ^{r}i=l∑r​,也就是一个累加的形式,容易想到转换成求前缀和。

所以我们考虑求前缀和,容易得到这个多项式的前缀和一定是≥n&≤n+1\geq n \& \leq n + 1≥n&≤n+1次的多项式,

所以我们必须最少有n+2n + 2n+2个前缀和才能推导,所以我们先通过f(0)−>f(n)f(0) -> f(n)f(0)−>f(n)得到f(n+1)f(n + 1)f(n+1),

然后求个前缀和,再跑mmm次拉个朗日插值得到mmm组的询问。

由于这是一个xxx连续取值的形式,所以我们可以预处理出前缀积,后缀积,以及阶乘逆元,然后即可O(n)O(n)O(n)求得答案。

代码

/*Author : lifehappy
*/
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int inf = 0x3f3f3f3f;
const double eps = 1e-7;const int N = 1e3 + 10, mod = 9999991;ll y[N], pre[N], suc[N], fac[N], inv[N], k, m;ll quick_pow(ll a, int n) {ll ans = 1;while(n) {if(n & 1) ans = ans * a % mod;a = a * a % mod;n >>= 1;}return ans;
}ll solve(ll n) {pre[0] = suc[k + 2] = 1;for(int i = 1; i <= k + 1; i++) {pre[i] = 1ll * pre[i - 1] * (n - i) % mod;}for(int i = k + 1; i >= 1; i--) {suc[i] = 1ll * suc[i + 1] * (n - i) % mod;}ll ans = 0;for(int i = 1; i <= k + 1; i++) {ll a = 1ll * y[i] * pre[i - 1] % mod * suc[i + 1] % mod, b = 1ll * inv[i - 1] * inv[k + 1 - i] % mod;if((k + 1 - i) & 1) b *= -1;ans = (ans + 1ll * a * b % mod + mod) % mod;}return ans;
}int main() {// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);fac[0] = inv[0] = 1;for(int i = 1; i < N; i++) {fac[i] = 1ll * fac[i - 1] * i % mod;}inv[N - 1] = quick_pow(fac[N - 1], mod - 2);for(int i = N - 2; i >= 1; i--) {inv[i] = inv[i + 1] * (i + 1) % mod;}int T;scanf("%d", &T);while(T--) {scanf("%lld %lld", &k, &m);for(int i = 1; i <= k + 1; i++) {scanf("%lld", &y[i]);}y[k + 2] = solve(k + 2);k++;for(int i = 1; i <= k + 1; i++) {y[i] = (y[i] + y[i - 1]) % mod;}for(int i = 1; i <= m; i++) {int l, r;scanf("%d %d", &l, &r);printf("%lld\n",((solve(r + 1) - solve(l)) % mod + mod) % mod);}}return 0;
}

Polynomial(2019南昌邀请赛)(拉格朗日插值)相关推荐

  1. 2019南昌邀请赛游记

    第9场,湘潭西安都有遗憾,这次没啥遗憾就是菜,挂机两个半小时. 周五下午翘课火车到南昌,天啊江西师范旁边的路好宽,还有地铁商场电影院这生活也太滋润了,到哪比赛就想转学到哪系列,晚上快乐烧烤,可以排进吃 ...

  2. 【2019南昌邀请赛现场赛 - G】Winner(建图,tarjan缩点 或 贪心)

    题目大意: n个人参加竞技比赛.比赛由三种模式a,b,c,每个人在每种模式下有对应的权值a[i]b[i]c[i].举行n−1场比赛,每场比赛主办方可以选择两个人决斗,能力值低的人淘汰.这样保证n-1场 ...

  3. 【2019南昌邀请赛现场赛 - J】Prefix(STLmap,思维)

    题干: yah has n strings <s1​,⋯,sn​>, and he generates a sequence P by two steps: P=<s1​,⋯,sn​ ...

  4. 【计蒜客 - 2019南昌邀请赛网络赛 - I】Max answer(单调栈,RMQ)

    题干: Alice has a magic array. She suggests that the value of a interval is equal to the sum of the va ...

  5. 【计蒜客 - 2019南昌邀请赛网络赛 - H】Coloring Game(找规律,思维dp)

    题干: David has a white board with 2 \times N2×N grids.He decides to paint some grids black with his b ...

  6. 【计蒜客 - 2019南昌邀请赛网络赛 - M】Subsequence(字典树,dp预处理)

    题干: Give a string SS and NN string T_iTi​ , determine whether T_iTi​ is a subsequence of SS. If ti i ...

  7. 【计蒜客 - 2019南昌邀请赛网络赛 - K】MORE XOR(数学,找规律,打表)

    Given a sequence of nn numbers a_1, a_2, \cdots, a_na1​,a2​,⋯,an​ and three functions. Define a func ...

  8. 【2019南昌邀请赛现场赛 - G】Winner(思维、图论+缩点)

    题目链接: https://nanti.jisuanke.com/t/40259" Ichuan really likes to play games, so he organized a ...

  9. 2019南昌邀请赛网络赛

      A. PERFECT NUMBER PROBLEM 这题没什么要说的. #include<bits/stdc++.h>using namespace std;int main(){co ...

最新文章

  1. qt带小数点的数字串显示,Qt-自定义小数点和千位分隔符
  2. ChineseDiachronicCorpus项目,大规模中文历时语料库
  3. 20210819_Test
  4. java-字符串反转
  5. 设置php中字符编码_php如何设置字符编码
  6. 心音与心电信号分析之一--6.26--心音信号检测系统软件设计
  7. optenstack配置glance
  8. go语言基础之切片做函数参数
  9. poj1637 Sightseeing tour 混合图欧拉回路判定
  10. Node2Vec实战
  11. 聊一聊自来水营业收费系统
  12. win10重置网络命令_WIN10重置网络的操作方法
  13. 微信小程序分享小程序码的生成,多参数以及参数的获取
  14. 5个免费 UI、界面设计素材网
  15. 用计算机中的知识秀恩爱,用你的专业,说最美的情话......
  16. 锐捷服务器虚拟化技术_交换机虚拟化技术.ppt
  17. Euresys eVision 加载和保存图像
  18. Unity中Obi绳子设置
  19. 关键词搜图、截图小助手——有了它妈妈再也不用担心我数据集啦
  20. Leecode101_isSymmetric

热门文章

  1. arduino代码_纯纯小白开发arduino--我的调试经验
  2. 女朋友竟然提出这种奇怪的要求......
  3. PS比狠大赛!看看谁家的照片更丑!
  4. 轮子,辛苦你了。 | 今日最佳
  5. 孙悟空都服输!波士顿动力最新逆天机器人视频,翻筋斗连拿大顶!
  6. 通过听力写代码?盲人程序员就是这样做的
  7. 【直观理解】为什么梯度的负方向是局部下降最快的方向?
  8. hive sql 怎么实现循环_不出办公室就能无水造纸?让废纸“秒循环再生”怎么实现的...
  9. mysql connector c编程_MySQL数据库之MySQL Connector 编程
  10. 东南大学计算机网络_东南大学,2020年东南大学高考录取分数线分析