北信科1011 K. paulzhou和方程 [组合数学+差分序列]【数学】
题目链接:http://acm.hdu.edu.cn/diy/contest_showproblem.php?cid=31989&pid=1011
———————————————————————————————————————————
K. paulzhou和方程
Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/102400K (Java/Other)
Total Submission(s) : 28 Accepted Submission(s) : 7
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
众所周知,paulzhou的数学不太好。现在他有一个问题,希望你帮他解答:
给定一元n次方程 fx=c0+c1∗x+c2˙x2+...+cn˙xn f_x=c_0+c_1*x+c_2\dot{}{}x^2+...+c_n\dot{}{}x^n
定义 fi f_i的前k项和
s_k\sum_{i=0}^{k-1}f_i
现给出n、n+1个各项的系数 ci c_i以及k,求 sk%10007 s_k\%10007
其中
Input
第1行输入T(1≤T≤10),代表有T组数据。
紧接着每3行分别为n,各项系数,k,输入数据均为正整数。
Output
每组测试数据输出一行,输出 fx f_x的前k-1项和
s_k\sum_{i=0}^{k-1}f_i 并对10007取模。
Sample Input
1
4
1 -2 3 1 0
3
Sample Output
21
Author
Kirai
———————————————————————————————————————————
这题用到了差分序列 详情见《组合数学(原书第5版)》翻译版 P169
查分序列:
设有一个序列 h0,h1,h2,,,,hn h_0,h_1,h_2,,,,h_n
它的一阶差分序列是
△h_i=h_{i+1}-h_i
对应二阶差分序列为
△^2h_i=△h_{i+1}-△h_i
由此得到差分表(看起来很难看啊 意思意思就行了)
h_0\ \ \ \ h_1\ \ \ \ h_2\ \ \ \ h_3 .....\\△h_0\ \ \ \ △h_1\ \ \ \ △h_2.....\\...
根据性质能够得到(证明看书吧..)
h_x=\sum_{i=0}^{n}C(x,i)*△^ih_i
\sum_{i=0}^{n} \sum_{j=0}^{k-1}C(j,i)*△^ih_0
由
\sum_{i=0}^{n}C(m,i) = C(n+1,m+1)
故
\sum_{i=0}^{n} \sum_{j=0}^{k-1}C(j,i)*△^ih_0\\ =\sum_{i=0}^{n}C(k,i+1)*△^ih_0
注:取模的时候最好都(x%MOD+MOD)%MOD
附本题代码
———————————————————————————————————————————
#include <bits/stdc++.h>
typedef long long int LL;
using namespace std;#define abs(x) (((x)>0)?(x):-(x))const LL N = 1e5+10;
const LL M = 10007;/******************************************/
LL n,a[N],h[N],b[N];
LL k;LL fac[M],inv[M];LL qmod(LL a,LL b){LL res=1;while(b){if(b&1) res=res*a%M;b>>=1,a=a*a%M;}return res;
}void init(){fac[0]=1;for(LL i=1;i<M;i++) fac[i]=fac[i-1]*i%M;inv[M-1]=qmod(fac[M-1],M-2);for(LL i=M-2;i>=0;i--) inv[i]=inv[i+1]*(i+1)%M;
}LL C(LL n,LL m){return fac[n]*inv[m]%M*inv[n-m]%M;
}LL Combination(LL n, LL m){if(n<m) return 0;if(n<M&&m<M) return C(n,m);return Combination(n/M,m/M)*Combination(n%M,m%M)%M;
}int main(){init();LL _;scanf("%lld",&_);while(_--){scanf("%lld",&n);for(LL i=0;i<=n;i++) scanf("%lld",&a[i]),a[i]=a[i]%M;scanf("%lld",&k);for(LL i=0,j,x;i<=n;i++){for(h[i]=j=0,x=1;j<=n;j++){h[i]=(h[i]+a[j]*x%M)%M;h[i]=(h[i]%M+M)%M;x=x*i%M;}}b[0]=h[0];for(LL i=1;i<=n;i++){for(LL j=0;j<=n-i;j++)h[j]=(h[j+1]-h[j]+M)%M;b[i]=h[0];}LL ans = 0;for(LL i=0;i<=n;i++){ans = ans + b[i]*Combination(k,i+1)%M;ans = (ans%M+M)%M;}printf("%lld\n",ans);}return 0;
}
北信科1011 K. paulzhou和方程 [组合数学+差分序列]【数学】相关推荐
- 如何在北信科宿舍安装Wifi
如何在北信科宿舍安装Wifi 太多同学问我如何在宿舍接路由器,我就直接把在宿舍上网会遇到的问题全写出来好了. 宿舍网口少,推荐直接买个无线路由器,一步到位,再买个小型交换机或者集线器,当然推荐交换机, ...
- 北信科计算机系校区,北信科2016高招政策解读 二本可转一本
<教育面对面>--2016北京高招直播咨邀请到北京信息科技大学的招生老师为大家权威解读招生政策! 今年在北京的招生计划总数是1515人,比去年增加了11人.理科在北京一本.二本都有招生,文 ...
- 2019北信科 题解
北京信息科技大学第十一届程序设计竞赛(重现赛) 这场比赛是我有史以来打过最简单的一场 十分简单 最复杂的名词也就只是简单线段树(区间修改)和记忆化搜索. 题目概况 A,记忆化搜索.n=1e18,得开l ...
- 北大信科计算机考研复试,【盛世清北】2021年北大信科考研复试指南、复试分析、复试成功经验...
原标题:[盛世清北]2021年北大信科考研复试指南.复试分析.复试成功经验 北大信息科学技术学院招生专业: 物理电子学.电路与系统.微电子学与固体电子学.电磁场与微波技术.电子科学与技术(量子电子学) ...
- Gut:北京生科院赵方庆团队揭示人体口腔菌群的稳定性和动态变化规律
人体口腔菌群的稳定性和动态变化规律 追踪体内人类口腔微生物组的积累,阐明了胃肠道入口的微生物群落动态变化 Tracing the accumulation of in vivo human oral ...
- 【产业互联网周报】奇安信科创板IPO过会;声网Agora登陆纳斯达克;国产光刻机双工件台供应商华卓精科科创板IPO获受理...
关注ITValue,看企业级最新鲜.最价值报道! 图片来源@视觉中国 | [产业互联网周报是由钛媒体TMTpost发布的特色产品,将整合本周最重要的企业级服务.云计算.大数据领域的前沿趋势.重磅政策 ...
- 【个人总结】2020计算机保研经历(北大信科、上交、浙大、南大、中科院)
前言 在推免系统上确认录取已经过去一周了,心里的一块大石头也终于落下.几个月的跌宕起伏到现在还有些后劲,经历过迷茫与抑郁最终还是走了过来,也算是人生的一个转折点.想了想还是写点东西记录一下,调整好状态 ...
- 北大计算机科学与技术保研率,北大信科---我的保研路
又到一年保研时,想想去年的这个时候,我也曾为保研到处咨询学长学姐,反复刷保研论坛,各种求取经验.最近,很多学弟学妹问到我,诸如保研如何联系老师,到底选哪些研究方向,以及7月夏令营和9月推免如何准备巴拉 ...
- 北大信科计算机考研专业真题,【状元的血泪史】2019PKU信科ee跨考cs经验贴
当你用尽全力去做一件事,为之做好充分的准备时,一切结果的到来都显得那么的顺其自然.希望我的经历能够为学弟学妹少走弯路,提供更多的帮助... 关键词:计应.跨考cs.初试.复试.导师先说一下大致情况: ...
最新文章
- oracle与mysql创建表时的区别
- 发布了!2020年AI人才发展报告,最高补助1000万!
- S5PV210开发 -- 启动流程
- ubuntu19.10安装codeblocks20.03
- OOD面向对象设计浅谈
- Android中libs目录下armeabi和armeabi-v7a的区别
- Docker基本使用(一)
- 图像处理:透镜畸变及校正模型
- Android OTA相关博文
- Machine type的匹配
- 沙箱环境和测试环境区别_带你一图了解iOS应用内购买流程,掌握测试环境搭建与测试方法...
- papers for mac 破解版永久激活方法
- pc临时调起QQ临时会话
- Android x86 镜像 安装到 PC 机上
- NoSQLBooster for MongoDB 算法注册机
- AppleScript开机自动登录ChinaUnicom
- [全解] 刷机, BL 锁, Bootloader, Recovery, Magisk, Root, ADB, 线刷, 卡刷, 9008, 绕过 FRP
- 送戒指创意 让婚礼不再单调
- oracle cmd命令导入,oracle使用cmd命令导入数据库
- 国产芯片、数字人体……今年的服贸会正上演一场“科技大秀”