应该是经典题之一了。

\[[n|k]=\frac 1 n\sum_{i=0}^{n-1}w_n^{ik}
\]

有这个就可以算了。

\[\sum_{i=0}^n\binom n i x^ia_{i \mod 4}
\]

按照套路枚举余数

\[\sum_{i=0}^n\binom n ix^i \sum_{k=0}^3 a_k[4|i-k]
\]
\[\frac 1 4\sum_{i=0}^n\binom n ix^i \sum_{k=0}^3 a_k\sum_{j=0}^3w_4^{ij-jk}
\]
\[\frac 1 4\sum_{j=0}^3\sum_{k=0}^3w_4^{-jk}a_k\sum_{i=0}^n\binom n ix^iw_4^{ij}
\]

后面是二项式定理,套起来

\[\frac 1 4\sum_{j=0}^3\sum_{k=0}^3w_4^{-ik}a_k(1+xw_4^j)^n
\]

然后就可以 \(O(\log n)\) 了。

手生疏了,这么短点儿 15min 才推出来/kk

#include<iostream>
#include<cctype>
typedef unsigned ui;
const ui w[]={1,911660635,998244352,86583718},mod=998244353,MOD=mod-1;
ui n,x,a[4],f[4];char buf[1<<21|1],*p=buf;
inline char Getchar(){
return*p=='\0'&&std::cin.read(p=buf,1<<21),*p++;
}
inline ui read(){
ui n(0);char s;while(!isdigit(s=Getchar()));while(n=n*10+(s&15),isdigit(s=Getchar()));return n;
}
inline ui readll(){
ui n(0);char s;while(!isdigit(s=Getchar()));while(n=(n*10ull+(s&15))%MOD,isdigit(s=Getchar()));return n;
}
inline ui pow(ui a,ui b){
ui ans(1);
for(;b;b>>=1,a=1ull*a*a%mod)if(b&1)ans=1ull*ans*a%mod;
return ans;
}
signed main(){
ui i,j,T,ans;T=read();
while(T--){
n=readll();x=read();
for(i=0;i^4;++i)a[i]=read(),f[i]=pow(1ull*x*w[i]%mod+1,n)%mod;
ans=(a[0]*(1ull*f[0]+f[1]+f[2]+f[3])+(1ull*a[1]+a[2]+a[3])*f[0]+1ull*a[2]*f[2])%mod;
ans=(ans+(1ull*a[1]*f[3]+1ull*a[3]*f[1])%mod*911660635ull)%mod;
ans=(ans+mod-(1ull*a[2]*(f[1]+f[3])+1ull*(a[1]+a[3])*f[2])%mod)%mod;
ans=(ans+(1ull*a[1]*f[1]+1ull*a[3]*f[3])%mod*86583718ull)%mod;
printf("%u\n",748683265ull*ans%mod);
}
}

LOJ6485题解的更多相关文章

  1. 题解 LOJ-6485 【LJJ学二项式定理】

    题目 由于看到正解的单位根反演过于复杂 (也就是看不懂) 所以自己构造了一个算法,理论上这个算法应该还有成长的空间(可以变得普适性更强) 不知道和单位根反演有没有一样,就发表出来了 反正转载前记得要联 ...

  2. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  3. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  4. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  5. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  6. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  7. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  8. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  9. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

随机推荐

  1. python——三方电子邮件库pyzmail

    pyzmail比默认smtplib和mime模块简单很多. 模块首页 http://pyzmail.readthedocs.io/en/latest/ python3.2以上,pip install ...

  2. Solution -「ARC 126E」Infinite Operations

    \(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\),定义一次操作为: 选择 \(a_i<a_j\),以及一个 \(x\in\mathbb R ...

  3. Cobbler 批量安装操作系统

    文章目录 环境准备 部署cobbler cobbler语法检查以及排错 问题1 问题2 问题3 问题4 问题5 问题6 问题7 问题8 修改dhcp模板 重启服务,再次检查 镜像配置 镜像导入 kic ...

  4. OpenStack、虚拟机以及和当前流行的k8s、Docker四者之间的关系

    一.OpenStack与虚拟机之间的关系 OpenStack使用Python语言开发,是虚拟资源管理工具,他可以协助你搜集各种资源,并加以利用以及管理,实现物理资源的高效使用和安全.虚拟化物理机这个动 ...

  5. 面试题(造火箭必备技能):请举例一个最有成就感的性能bug

    当前,绝大部分招聘都有性能要求或者把其作为加分项(会性能优先),哪怕你不是面试的性能,面试的时候可能会问性能,所以大家才会有"面试造火箭,进去拧螺丝"的共鸣.至于企业为什么重视性能 ...

  6. 『无为则无心』Python基础 — 61、Python中的迭代器

    目录 1.迭代的概念 2.迭代器的概念 3.可迭代的对象(Iterable) 4.迭代器对象(Iterator) 5.迭代器的使用体验 (1)基本用法 (2)实际应用 1.迭代的概念 (1)什么是迭代 ...

  7. 商业智能BI与用户行为分析的联系

    ​什么是BI? BI(Business Intelligence)即商业智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合,分析利用企业已有的各种商用数据来了解企业的经营状况和外部环境 ...

  8. Specified cast is not valid(C#) 引发的思考(装箱,拆箱本质)

    没有很华丽的语言,直接拿代码说事情把. 这段代码,会报错吗?  结论:当然不会 这段代码会报错了.原因是为啥? 这里面的水比较深.也要提醒各位写代码的适合要引起注意.异常:System.Invalid ...

  9. 2020CCPC长春F. Strange Memory

    题目大意 一棵以 \(1\) 为根的 \(n(2\leq n\leq 10^5)\) 的树,每个节点 \(i\) 有权值 \(a_{i}(1\leq a_{i}\leq 10^6)\) ,求 \(\s ...

  10. Objective-C 基础教程第五章,复合

    目录 Objective-C 基础教程第五章,复合 什么是复合? Car程序 自定义NSLog() 存取方法get Set Tires(轮胎) 存取方法 Car类代码的其他变化 扩展Car程序 复合还 ...