应该是经典题之一了。

\[[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. Java程序性能监控工具

    系统性能监控: 确定系统运行的整体状态,基本定位问题所在 uptime命令 [root@localhost ~]# uptime23:19:38 up 244 days, 3:39, 34 users ...

  2. MySQL5.7修改登录密码的几种方式

    1.更新mysql.user表 use mysql UPDATE user SET authentication_string = password('新密码') where user = 'root ...

  3. JTAG 标准IEEE STD 1149.1-2013学习笔记(一·)Test logic architecture、Instruction register以及Test data registers

    我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和SOC设计. 关注公众号[集成电路设计教程],拉你进"IC设计交流群". 注:转载请注明出处 一.Test logic ...

  4. OSI七层协议&TCP协议(三次握手四次挥手)

    今日内容 python 基础回顾 软件开发架构 网络理论前戏 OSI 七层协议(五层) TCP协议 三次握手与四次挥手 UDP协议 内容详细 一.python 基础回顾 1.基本数据类型 整型 int ...

  5. ☆☆如何学习MATLAB☆☆

    大多数朋友第一次接触MATLAB一般都是在大学里面开设的MATLAB课程,第一次真正使用MATLAB是在自己的毕业论文中用到.所以对于MATLAB可以说是既爱又恨.爱,是因为使用MATLAB几乎可以实 ...

  6. Solution -「AGC 019E」「AT 2704」Shuffle and Swap

    \(\mathcal{Description}\)   Link.   给定 \(01\) 序列 \(\{A_n\}\) 和 \(\{B_n\}\),其中 \(1\) 的个数均为 \(k\).记 \( ...

  7. MyBatis源码环境搭建

    之前研究mybatis都是参考前面学习的人的一些经验,并没有自己搭建源码环境进行.现在以mybatis3.4.6版本搭建,搭建过程中各种failed,下面大致记录环境搭建过程. 1.mybatis3. ...

  8. Python 基于 TCP 传输协议的网络通信实现

    1.基础概念 什么是网络编程? 指在网络环境中,如何实现不在同一物理位置中的计算机之间进行数据通信 如果要保证数据通信顺利完成,则需要先了解如下几个概念: 1.1 协议 不同计算机内的进程之间进行数据 ...

  9. DevOpts 前端开发和 Spug

    DevOpts 前端开发和 Spug 朋友新工作是进行 DevOpts 前端开发,涉及 Spug. DevOps 是什么 DevOps 是一种思想.用于促进开发和运维之间的沟通.协作或整合. Tip: ...

  10. C#异步编程由浅入深(三)细说Awaiter

      上一篇末尾提到了Awaiter这个类型,上一篇说了,能await的对象,必须包含GetAwaiter()方法,不清楚的朋友可以看上篇文章.那么,Awaiter到底有什么特别之处呢?   首先,从上 ...