Wannafly Winter Camp 2020 Day 6A Convolution - NTT
求 \(\sum_{i=1}^n \sum_{j=1}^n 2^{a_ia_j}\)
Solution
化简一下
\[
2^{a_ia_j} = p^{(a_i+a_j)^2-a_i^2-a_j^2},  \ p^2=  2(\bmod 998244353)
\]
这个 \(p\) 我们可以预先暴力找到它 \(=116195171\),计算答案
\[
\begin{align}
&\sum_i \sum_j p^{(a_i+a_j)^2-a_i^2-a_j^2}
\\
=& \sum_kp^{k^2} \sum_{a_i+a_j=k}p^{-a_i^2}p^{-a_j^2}
\end{align}
\]
设 \(f(x)=\sum_i p^{-a_i^2}x^{a_i}\),则答案即为
\[
\sum_k p^{k^2}[x^k]f^2(x)
\]
用 NTT 计算即可
Wannafly Winter Camp 2020 Day 6A Convolution - NTT的更多相关文章
- Wannafly Winter Camp 2020 Day 7E 上升下降子序列 - 数学
		神奇公式 #include <bits/stdc++.h> using namespace std; #define int long long int n,mod,c[205][205] ... 
- Wannafly Winter Camp 2020 Day 7D 方阵的行列式 - 数学
		于是去弄了个板子来 #include <bits/stdc++.h> using namespace std; #define int long long const int mod = ... 
- Wannafly Winter Camp 2020 Day 7A 序列 - 树状数组
		给定一个全排列,对于它的每一个子序列 \(s[1..p]\),对于每一个 \(i \in [1,p-1]\),给 \(s[i],s[i+1]\) 间的每一个值对应的桶 \(+1\),求最终每个桶的值. ... 
- Wannafly Winter Camp 2020 Day 6J K重排列 - dp
		求 \(K\) 是多少个 \(n\) 元置换的周期.\(T\leq 100, n\leq 50, K \leq 10^{18}\) Solution 置换可以被试做若干个环组成的有向图,于是考虑 dp ... 
- Wannafly Winter Camp 2020 Day 6I 变大! - dp
		给定一个序列,可以执行 \(k\) 次操作,每次选择连续的三个位置,将他们都变成他们的最大值,最大化 \(\sum a_i\) 需要对每一个 \(k=i\) 输出答案 \(n \leq 50, a_i ... 
- Wannafly Winter Camp 2020 Day 6H 异或询问 - 二分
		给定一个长 \(n\) 的序列 \(a_1,\dots,a_n\),定义 \(f(x)\) 为有多少个 \(a_i \leq x\) 有 \(q\) 次询问,每次给定 \(l,r,x\),求 \(\s ... 
- Wannafly Winter Camp 2020 Day 6G 单调栈 - 贪心
		对于排列 \(p\),它的单调栈 \(f\) 定义为,\(f_i\) 是以 \(p_i\) 结尾的最长上升子序列的长度 先给定 \(f\) 中一些位置的值,求字典序最小的 \(p\) 使得它满足这些值 ... 
- Wannafly Winter Camp 2020 Day 6D 递增递增 - dp,组合数学
		给定两个常为 \(n\) 的序列 \(l_i,r_i\),问夹在它们之间 ( \(\forall i, l_i \leq a_i \leq r_i\) ) 的不降序列的元素总和. Solution 先 ... 
- Wannafly Winter Camp 2020 Day 6C 酒馆战棋 - 贪心
		你方有 \(n\) 个人,攻击力和血量都是 \(1\).对方有 \(a\) 个普通人, \(b\) 个只有盾的,\(c\) 个只有嘲讽的,\(d\) 个有盾又有嘲讽的,他们的攻击力和血量都是无穷大.有 ... 
随机推荐
- Pycharm学习记录---同一目录下无法import明明已经存在的.py文件
			转自:https://blog.csdn.net/l8947943/article/details/79874180 问题描述: 如图:同目录下明明存在相应文件,在导入时却出现带有红色波浪线,说没有相 ... 
- Windows搭建IIS服务器使用NATAPP实现内网穿透
			目的:外网可以访问本地网页. 步骤: 一.实现内网访问 1.Win+Q搜索[控制面板],选择[程序],点击[启用或关闭Windows功能], 2.勾选[Internet Information Ser ... 
- 浅谈CC攻击原理与防范
			概念 CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃.CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的 ... 
- javascript 防止多次提交或执行(在规定时间段内只允许执行一次) 默认 3000ms
			"use strict" class Func{ constructor(){} isRun(id, time){//防止多次提交或执行(在规定时间段内只允许执行一次) 默认 30 ... 
- php  上传文件 示例
			<?php header("content-type:text/html;charset=utf-8"); error_reporting(E_ALL); //session ... 
- pytorch  ---神经网络语言模型 NNLM  《A Neural Probabilistic Language Model》
			论文地址:http://www.iro.umontreal.ca/~vincentp/Publications/lm_jmlr.pdf 论文给出了NNLM的框架图: 针对论文,实现代码如下: # -* ... 
- pytorch之 optimizer comparison
			import torch import torch.utils.data as Data import torch.nn.functional as F import matplotlib.pyplo ... 
- zabbix-agentd配置文件详解
			agent 端配置文件路径 :/etc/zabbix/zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid #<===指定pi ... 
- webapi使用jwt做权限验证
			考虑到很多公司目前并没有切换到.netcore,所有本文尝试使用.netframework下的webapi 首先使用Nuget 安装 jwt包 安装完成后,创建 jwt的帮助类 public clas ... 
- Laravel + Serverless Framework 快速创建 CMS 内容管理系统
			今天,为大家带来一篇 Laravel + Serverless Framework 的综合实战,里面信息量有点多,大家仔细看哦- 首先,我来介绍下主要的本地环境吧: Git:不多说,只要会敲代码就应该 ... 
