当前位置: 首页 > news >正文

LOJ #6485 LJJ 学二项式定理

QwQ

LOJ #6485


题意

求题面中那个算式


题解

墙上暴利

设$ f(x)=(sx+1)^n$

假设求出了生成函数$ f$的各项系数显然可以算出答案

因为模$ 4$的缘故只要对于每个余数算出次数模4为该余数的系数和即可

求系数和强上单位根反演即可

求模4余1相当于求模4余0之后平移一位即乘上$ x^{-1}$

好像讲的非常不清楚啊...


代码

#include<ctime>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
#define p 998244353
#define rt register int
#define ll long long
using namespace std;
inline ll read(){
    ll x=0;char zf=1;char ch=getchar();
    while(ch!='-'&&!isdigit(ch))ch=getchar();
    if(ch=='-')zf=-1,ch=getchar();
    while(isdigit(ch))x=x*10+ch-'0',ch=getchar();return x*zf;
}
void write(ll y){if(y<0)putchar('-'),y=-y;if(y>9)write(y/10);putchar(y%10+48);}
void writeln(const ll y){write(y);putchar('\n');}
int k,m,n,x,y,z,cnt,ans,a[4],w[4];
int ksm(int x,int y){
    int ans=1;
    for(rt i=y;i;i>>=1,x=1ll*x*x%p)if(i&1)
        ans=1ll*ans*x%p;
    return ans;
}
int main(){
    w[0]=1;w[1]=ksm(3,(p-1)/4);w[2]=1ll*w[1]*w[1]%p;w[3]=1ll*w[1]*w[2]%p;
    for(rt T=read();T;T--){
        n=read()%(p-1);int s=read();
        for(rt i=0;i<4;i++)a[i]=read();
        int sum=0;
        for(rt j=0;j<4;j++){
            const int v=ksm(1ll*s*w[j]%p+1,n);
            for(rt i=0;i<4;i++){
                (sum+=1ll*a[i]*v%p*w[4-i*j&3]%p)%=p;
            }
        }
        writeln(1ll*sum*ksm(4,p-2)%p);
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/DreamlessDreams/p/10266580.html

相关文章:

  • python最赚钱的4个方向,你最心动的是哪个?
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 组复制官方翻译九、Group Replication Technical Details
  • Kafka在windows下的配置使用
  • IntelliJ IDEA 18 周岁
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 马上搞懂 GeoJSON
  • 阿里国际站新外贸系统上线 助中小企业“数字化出海”
  • 2019-1-21作业
  • bug集合js1--Unexpected token o in JSON at position 1
  • 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • Android进阶(三)Activity启动
  • TCP长连接的一些事儿
  • ObjC中KVC原理简析
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • CAP理论的例子讲解
  • ES10 特性的完整指南
  • IndexedDB
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • js面向对象
  • passportjs 源码分析
  • php的插入排序,通过双层for循环
  • Redux系列x:源码分析
  • Ruby 2.x 源代码分析:扩展 概述
  • swift基础之_对象 实例方法 对象方法。
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 基于Android乐音识别(2)
  • 力扣(LeetCode)56
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • scrapy中间件源码分析及常用中间件大全
  • ​​​【收录 Hello 算法】9.4 小结
  • #### go map 底层结构 ####
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (超详细)语音信号处理之特征提取
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (数据结构)顺序表的定义
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转载)深入super,看Python如何解决钻石继承难题
  • .NET Project Open Day(2011.11.13)
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET 实现 NTFS 文件系统的硬链接 mklink /J(Junction)
  • .net(C#)中String.Format如何使用
  • .Net接口调试与案例
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [C/C++]数据结构----顺序表的实现(增删查改)
  • [Cocoa]iOS 开发者账户,联机调试,发布应用事宜
  • [codeforces]Levko and Permutation
  • [DEBUG] spring boot-如何处理链接中的空格等特殊字符
  • [docker] Docker的数据卷、数据卷容器,容器互联