数学专题测试2

先放代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 const int mod=1e6+3,N=6e4+5;
 5 inline int read(int x=0,bool f=0,char ch=getchar()){
 6     for(;!isdigit(ch);ch=getchar()) f=ch==‘-‘;
 7     for(; isdigit(ch);ch=getchar()) x=(x<<3)+(x<<1)+(ch^48);
 8     return f?-x:x;
 9 }
10 int n;
11 long long a[N],b,c,d,e;
12 inline LL qpow(LL x,LL y,LL ans=1){
13     for(;y;y>>=1,x=x*x%mod) if(y&1) ans=ans*x%mod;
14     return ans;
15 }
16 int main(){
17     n=read(),b=read(),c=read(),d=read(),e=read();
18     for(int i=0;i<n;++i) a[i]=read();
19     for(int i=0;i<n;++i){
20         LL x=(b*qpow(c,4*i)+d*qpow(c,2*i)+e)%mod,X2=x*x%mod,X3=X2*x%mod,
21         X4=X3*x%mod,X5=X4*x%mod,X6=X5*x%mod,X7=X6*x%mod,X8=X7*x%mod,X9=X8*x%mod,
22         X10=X9*x%mod,X11=X10*x%mod,X12=X11*x%mod,X13=X12*x%mod,X14=X13*x%mod
23         ,X15=X14*x%mod,X16=X15*x%mod,X17=X16*x%mod,X18=X17*x%mod,
24         X19=X18*x%mod,X20=X19*x%mod,X21=X20*x%mod,X22=X21*x%mod,
25         X23=X22*x%mod,X24=X23*x%mod,X25=X24*x%mod,X26=X25*x%mod,
26         X27=X26*x%mod,X28=X27*x%mod,X29=X28*x%mod,X30=X29*x%mod,
27         X31=X30*x%mod,X32=X31*x%mod,X33=X32*x%mod,X34=X33*x%mod,
28         X35=X34*x%mod,X36=X35*x%mod,X37=X36*x%mod,X38=X37*x%mod,
29         X39=X38*x%mod,X40=X39*x%mod,X41=X40*x%mod,X42=X41*x%mod,
30         X43=X42*x%mod,X44=X43*x%mod,X45=X44*x%mod,X46=X45*x%mod,
31         X47=X46*x%mod,X48=X47*x%mod,X49=X48*x%mod,X50=X49*x%mod,ans=0;
32         register int j;
33         for(j=n-1;j>49;j-=50){
34             ans=ans*X50,ans+=a[j]*X49,ans+=a[j-1]*X48,
35             ans+=a[j-2]*X47,ans+=a[j-3]*X46,ans+=a[j-4]*X45,
36             ans+=a[j-5]*X44,ans+=a[j-6]*X43,ans+=a[j-7]*X42,
37             ans+=a[j-8]*X41,ans+=a[j-9]*X40,ans+=a[j-10]*X39,
38             ans+=a[j-11]*X38,ans+=a[j-12]*X37,ans+=a[j-13]*X36,
39             ans+=a[j-14]*X35,ans+=a[j-15]*X34,ans+=a[j-16]*X33,
40             ans+=a[j-17]*X32,ans+=a[j-18]*X31,ans+=a[j-19]*X30,
41             ans+=a[j-20]*X29,ans+=a[j-21]*X28,ans+=a[j-22]*X27,
42             ans+=a[j-23]*X26,ans+=a[j-24]*X25,ans+=a[j-25]*X24,
43             ans+=a[j-26]*X23,ans+=a[j-27]*X22,ans+=a[j-28]*X21,
44             ans+=a[j-29]*X20,ans+=a[j-30]*X19,ans+=a[j-31]*X18,
45             ans+=a[j-32]*X17,ans+=a[j-33]*X16,ans+=a[j-34]*X15,
46             ans+=a[j-35]*X14,ans+=a[j-36]*X13,ans+=a[j-37]*X12,
47             ans+=a[j-38]*X11,ans+=a[j-39]*X10,ans+=a[j-40]*X9,
48             ans+=a[j-41]*X8,ans+=a[j-42]*X7,ans+=a[j-43]*X6,
49             ans+=a[j-44]*X5,ans+=a[j-45]*X4,ans+=a[j-46]*X3,
50             ans+=a[j-47]*X2,ans+=a[j-48]*x,ans+=a[j-49],ans%=mod;
51         }
52         for(;~j;--j) (ans=ans*x+a[j])%=mod;
53         printf("%lld\n",ans%mod);
54     }
55     return 0;
56 }

原文地址:https://www.cnblogs.com/hzoi-cbx/p/12150490.html

时间: 2024-08-02 22:44:04

数学专题测试2的相关文章

[考试反思]数学专题测试4:深度

高斯消元专题测试 联赛后第一次爆零???我也不知道发生了什么 感觉和放假的关系不大啊... 虽说题比平时难而且数据范围出了一点锅,但是爆零有点过了?? 一眼看T3,MatrixTree啊肯定的,然后想到之前做的那个不等式的那道题直觉是容斥. 结果又想到了那个专题里幻想乡的那道题,于是更加笃定是容斥,结果思路就阻塞了. 20分的部分分好像很难写,就往后放了放,结果最后并没有时间写. 然后看起来比较简单的是T2,直到看到数据范围之前我都认为应该不会太难. 基础式子都会写,然后组合数忘记特判不合法的0

数论与数学专题练习(一)(201802~201805)

手动博客搬家: 本文发表于20180224 00:33:28, 原地址https://blog.csdn.net/suncongbo/article/details/79357927 上次打cf的时候一道水水的数论题(强推式子)都没有做出来,于是决定开始数论专题练习. 以后将不断进行update. 刷题记录 UPD1. T1. (20180214) AC codeforces 933B http://codeforces.com/problemset/problem/933/B 题解: 略 UP

mongodb三种存储引擎高并发更新性能专题测试

背景说明 近期北京理财频道反馈用来存放股市实时数据的MongoDB数据库写响应请求很慢,难以跟上业务写入速度水平.我们分析了线上现场的情况,发现去年升级到SSD磁盘后,数据持久化的磁盘IO开销已经不是瓶颈.通过日志分析,线上单次写入(更新)请求大多在数十毫秒这个级别,数据库端观察几个主要的db在繁忙时通常有95%以上的时间在进行锁等待.线上数据库并发很高,接近1000个连接,所以怀疑是并发争用表锁导致性能不足. 我们知道MongoDB的mmap存储引擎一直是库/表级锁,因此任何写操作并发越高锁争

数学专题总结

数学总结 在感受了picks的课后,发现OI中的数学是非常难的.虽然最近考试的题目并不难,但由于我天生推不出公式想不出数学方法智商捉急的基因导致各种考试想不到,主要原因还是做题做少了,方法知识不够健全,还是有必要总结一下的. 求一个数对于mod的逆元: 费马定理: P为素数,a为正整数,a与P互质,则a^(p-1) ≡ 1 (mod p) 所以一个数的逆元就是a^(p-2) 应用:在取模的情况下做除法 拆分一个数: (1) 唯(惟)一分解定理 若整数a≥2,那么a一定能分解成若干个素数的乘积(唯

[题解]线段树专题测试2017.1.21

很单纯的一道线段树题.稍微改一下pushDown()就行了. Code(线段树模板竟然没超100行) 1 #include<iostream> 2 #include<sstream> 3 #include<cstdio> 4 #include<cmath> 5 #include<cstdlib> 6 #include<cstring> 7 #include<cctype> 8 #include<queue> 9

数论专题测试——幸运数字

1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 #include <algorithm> 6 using namespace std; 7 typedef long long int64; 8 int64 L; 9 int ca; 10 int64 phi(int64 x){ 11 int64 t=x; 12 for (int6

数论专题测试——逆元

题意:给定n,m,令k=1+sigam(inv(i,n))mod 1000000007.   n,m小于等于10^7. 求k^k^k^k....后一个k是前一个k的指数,  求这个值对m的mod,知道指数循环节,这就是个傻逼题,然而考场就是不知道这个,少了点东西,所以出题人就是个傻逼.... 指数循环节:a^b%c=>a^(b%phi(c)+phi(c))   %c (b>=phi(c)). 这个题b永远无限大,就可以使用,可以考虑预处理出10^7范围内的phi,然后递归,当c==1时,返回0

数学专题

hdu2824 欧拉函数模板 #include<bits/stdc++.h> using namespace std; const int N=3000010; int prime[N],isprime[N]; int phi[N]; void get_phi(){ int i,j,cnt=0; for(i=2;i<N;i++) { if(isprime[i]==0){ prime[cnt++]=i; phi[i]=i-1; } for(j=0;j<cnt && i

数学能力测试

1.n个人围城一圈,不同的排列方式有  (n-1)!   种. 2.编号是1,2,...,n的n封信,装入编号为1,2,...,n的n个信封,要求每封信和信封的编号不同.问有几种装法? D1 = 0,   D2 = 1, D3 = 2, D4 = 9,D5 = 44. 原文地址:https://www.cnblogs.com/cwy-blog/p/8424590.html