最新要闻
- 天天讯息:索尼要爆发了!明年有望推出新款PS5:独占大作护航
- 每日播报!疯狂裁员后 曝马斯克正为推特寻找新买家
- 环球最资讯丨“三连跌” 明晚油价迎年内“最后一调”:92号汽油或回归7元时代
- 世界头条:豆瓣8.3分!《阿凡达:水之道》票房破3亿:会是救市之作吗
- 全球热推荐:低温蓝色预警!这些地方最低温较历史同期低7℃以上:南方网友瑟瑟发抖
- 克罗地亚2-1战胜摩洛哥夺世界杯季军 37岁莫德里奇告别世界杯赛场
- 环球滚动:女子开特斯拉被查酒驾 罚2000元记12分:本人称吃醉蟹 交警回应
- 销售开特斯拉撞了顾客的特斯拉 拒赔5万元:直言刹车了停不住
- 史上口碑最好的小米旗舰!小米13京东好评率接近100%
- 全球快资讯:基于海拉克斯打造 丰田推出首款纯电皮卡原型车 网友:丑到我眼睛了
- 天天快资讯丨卡神离开Meta 批老东家效率低下:GPU利用率5%简直是侮辱
- 全球热点评!小米MIX Fold 2新配色下周首销:5.4mm厚度已是行业极限 8999元
- 今热点:同价位无敌手!小米万兆路由器更新
- AMD、NVIDIA齐发新品 显卡厂商的好日子来了:加速去库存
- 世界快报:男子1199元买长江存储2TB SSD吐槽是翻新 手指划痕:网友看完笑死
- 世界快消息!用户真实评价小米13:太惊艳了 这就是小米13带给我的感觉
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
当前观察:下标模意义下的多项式乘法及其应用
已知两个数组\(a,b\),求一个数组\(c\),满足\(c_i=\sum_{j+k\equiv i(MOD\ K)}a_jb_k(MOD\ M)\)。这里我们把这个东西称为下标模意义下的多项式乘法。那么这个东西怎么做呢?
先说结论:如果MOD M意义下存在K次单位根,那么把平时用NTT做多项式乘法时的原根G统一换成这个K次单位根就可以了(不能跑\(O(nlogn)\)的NTT,因为把数组长度扩充到2的倍数会导致出错)。
复习一下单位根的定义
(资料图片仅供参考)
这是为什么呢?
举个例子,当K=17,M=998244353的时候。此时MOD M意义下是存在K次单位根的,它的值是503044,令其为\(w\)。假设现在有一个多项式\(a\),且项数不止17个,令它对\(x^{17}\)取模之后的多项式为\(b\),\(b\)只有\(17\)项,且\(b_i=a_i+a_{i+17}+a_{i+34}\cdots\)。以503044作为单位根的值对\(a,b\)分别做一次DFT(系数转点值),得到\(c,d\)。由于\(w^{17}=1\),所以\(c,d\)都有长度为17的循环节,并且容易发现\(c=d\)。这时候截取\(c\)的前17项做IDFT,就可以得到\(b\),也就是下标取模之后的多项式。这说明只要对一个多项式先DFT,取前17项再IDFT,就可以完成一次下标的取模。
那么两个多项式相乘也是一样的,最后把点值相乘的结果IDFT回去的时候只取前17项就行了。
但是注意到\(O(nlogn)\)的NTT不能这么搞,因为NTT会把数组长度先扩充到2的倍数,但是这个问题里数组长度不是17就不对了。
放一张毛啸2016年候选队论文的截图,仅供参考:
例题
n 个点 m 条带权无向边,权值是 0 到 16。问多少种方案选择一些边(不选重边),使得图联通,且边权和模 17 正好为 x。对每个 0≤x≤16 都求答案。\(2 \le n \le 17,1\le m\le 10^5\)。
解法
前置知识:
- 二维FFT(高维FFT)。有两个矩阵\(a,b\),现在要求一个新的矩阵\(c\)满足\(c_{i,j}=\sum_{u+v=i,x+y=j}a_{u,x}b_{v,y}\)。做法
- 子集exp和子集ln。一个子集幂级数指的是一个数组\(f_s\),下标\(s\)是一个"子集",可以看成是\([0,2^n-1]\)中的一个整数,用二进制的方式表示n个元素中的哪些在子集中。子集exp和ln则类似EGF的exp和ln。子集exp的组合意义:如果\(g=e^f\),且\(f_s\)表示将子集\(s\)中所有的元素进行操作A的方案是,则\(g_s\)表示把\(s\)进一步分成若干子集,每个子集进行A操作的总方案数。子集ln则是子集exp的逆运算,用来把g变成f的。关于子集exp和ln的实现方法和证明具体见这里。
首先令\(f_{i,s}\)表示子集\(s\)内部的边全部乱选,且不能选重边,和MOD 17为i的方案数。\(s\)内部的边指的是两段都在\(s\)中的边。同样定义\(g_{i,s}\)表示只选\(s\)中的边,图连通,没有重边且和MOD 17为i的方案数。观察得到转移式:令\(l\)表示\(s\)中的最低的1,则\(g_{i,s}=f_{i,s}-\sum_{t\subsetneq s,l\in t,j+k=i(MOD\ 17)}g_{j,t}\cdot f_{k,s \ xor \ t}\),也就是枚举l所在的连通块。直接写这玩意儿能做到\(O(3^n\cdot17^2)\)。
如果所有边的权值都为0,那就可以把\(f,g\)的第一维去掉,只留下子集那一维。根据子集exp的组合意义,很容易发现\(f=e^g\),\(g=ln(f)\)。根据上面链接里的子集ln求法,直接\(O(2^n\cdot n^2)\)求\(f\)的ln即可。\(f\)本身可以通过简单的dp求出,复杂度是\(O(2^n\cdot n\cdot 17^2)\)。在所有边权都为0的时候则可以直接\(O(2^n\cdot n)\)求出。
边权值不全为0的情况则需要加上第一维。注意到第一维是一个上面说的"下标模意义下的多项式乘法"。可以根据二维FFT的方法依葫芦画瓢,先把第一维以503044位单位根进行DFT,然后把第二维子集ln,最后再把第一维IDFT。这样套娃的正确性我不会证明,感性理解。
\(n\le 17\),所以把n用17表示了。总复杂度\(O(17^3\cdot 2^n)\)。
#include #define rep(i,n) for(int i=0;i#define fi first#define se second#define mpr make_pair#define pb push_backvoid fileio(){ #ifdef LGS freopen("in.txt","r",stdin); freopen("out.txt","w",stdout); #endif}void termin(){ #ifdef LGS std::cout<<"\n\nPROGRAM TERMINATED"; #endif exit(0);}using namespace std;const LL MOD=998244353;const LL w=503044;LL qpow(LL x,LL a){LL res=x,ret=1;while(a>0){if(a&1) (ret*=res)%=MOD;a>>=1;(res*=res)%=MOD;}return ret;}LL n,m,es[20][20][20],f[20][140000],g[20][140000],dp[20][20],modv[20][20],inv17,inv[20];//f:乱选(但不选重边);g:连通vector DFT(vector v){ LL cur=1; vector ret; rep(i,v.size()) { LL curr=1,res=0; rep(j,v.size()) { (res+=v[j]*curr)%=MOD; (curr*=cur)%=MOD; } (cur*=w)%=MOD; ret.pb(res); } return ret;}vector IDFT(vector v){ LL cur=1,ww=qpow(w,MOD-2); vector ret; rep(i,v.size()) { LL curr=1,res=0; rep(j,v.size()) { (res+=v[j]*curr)%=MOD; (curr*=cur)%=MOD; } (cur*=ww)%=MOD; ret.pb(res); } rep(i,ret.size()) (ret[i]*=inv17)%=MOD; return ret;}void add(LL &x,LL y){x+=y;if(x>=MOD) x-=MOD;}LL cur[140000],h[20][140000],fr[20],to[20];void subsetLn(){ rep(i,18) rep(j,1<=0;--j) rep(k,1<>n>>m; LL x,y,z; rep(i,m) { scanf("%lld%lld%lld",&x,&y,&z);--x;--y; if(x>y) swap(x,y); ++es[x][y][z]; } rep(i,n) for(int j=i+1;j0) { int lowbit=msk&(-msk),lft=msk^lowbit,id=__builtin_ctz(msk); if(lft==0) f[0][msk]=1; else { vector nds;rep(j,n) if(lft&(1< vv; rep(j,17) vv.pb(f[j][i]); vv=DFT(vv); rep(j,17) g[j][i]=vv[j]; } //子集ln rep(i,17) { rep(j,1< vv; rep(j,17) vv.pb(g[j][i]); vv=IDFT(vv); rep(j,17) g[j][i]=vv[j]; } rep(i,17) printf("%lld ",g[i][(1<
-
【世界聚看点】go-micro v3 rpc服务一次改造经历
地址:https: github com go-micro go-microgrpc-test-demo:https: gitee com jn-shao go-gmicro-rpc-test
来源: 当前观察:下标模意义下的多项式乘法及其应用
【世界聚看点】go-micro v3 rpc服务一次改造经历
天天讯息:索尼要爆发了!明年有望推出新款PS5:独占大作护航
MyBatis核心配置文件详解
每日播报!疯狂裁员后 曝马斯克正为推特寻找新买家
环球最资讯丨“三连跌” 明晚油价迎年内“最后一调”:92号汽油或回归7元时代
世界头条:豆瓣8.3分!《阿凡达:水之道》票房破3亿:会是救市之作吗
全球热推荐:低温蓝色预警!这些地方最低温较历史同期低7℃以上:南方网友瑟瑟发抖
克罗地亚2-1战胜摩洛哥夺世界杯季军 37岁莫德里奇告别世界杯赛场
焦点关注:[PingCTF2022] guess what - S1gMa
环球滚动:女子开特斯拉被查酒驾 罚2000元记12分:本人称吃醉蟹 交警回应
销售开特斯拉撞了顾客的特斯拉 拒赔5万元:直言刹车了停不住
智慧树视频课件课程下载工具,如何在电脑端下载智慧树视频课件PDF,PPT到本地
史上口碑最好的小米旗舰!小米13京东好评率接近100%
VUE组件
【世界时快讯】安全多方计算:(2)隐私信息检索方案汇总分析
全球快资讯:基于海拉克斯打造 丰田推出首款纯电皮卡原型车 网友:丑到我眼睛了
天天快资讯丨卡神离开Meta 批老东家效率低下:GPU利用率5%简直是侮辱
全球热点评!小米MIX Fold 2新配色下周首销:5.4mm厚度已是行业极限 8999元
今热点:同价位无敌手!小米万兆路由器更新
全球观热点:第八天 循环的花里胡哨的用法
重学c#系列——linq(4) [三十]
【速看料】400行的象棋程序
AMD、NVIDIA齐发新品 显卡厂商的好日子来了:加速去库存
世界快报:男子1199元买长江存储2TB SSD吐槽是翻新 手指划痕:网友看完笑死
世界快消息!用户真实评价小米13:太惊艳了 这就是小米13带给我的感觉
精彩看点:北欧品质 口感清爽:OATLY燕麦奶4.1元/斤新低(商超29.8元)
【天天新视野】男子称买到过期3月沐浴露获赔5元:看不起谁呢
焦点信息:java基础面试题
【报资讯】Docker的资源控制管理
全球热资讯!BBA的禁脔 垂涎者不止蔚来
当前通讯!Docker网络模式
环球热点评!冬天空调取暖不热 可能是这些问题
环球观速讯丨小米13成了!线下门店卖断货 供不应求
热点!web项目的开发---第二天
世界今头条!SpringCloud-Ribbon学习笔记
世界速看:挑战行业多项不可能 一加11即将发布:最强性能旗舰
世界动态:python语法笔记
令人气愤!女子曝无良汽修店为赚钱高速路上撒钉子专扎车胎
天天视讯!刘作虎:OPPO一加正式开启双品牌战略 100亿投资扶植一加
环球观速讯丨义乌开始生产阿根廷夺冠球衣 还是三颗星 阿根廷辟谣:假的 侵权
世界快播:“顶级大众” 宾利Batur公布工艺细节:210克黄金3D打印
老人手指被卡:消防员用开塞露救了差点被剪的蓝宝石戒指
全球快资讯:一文了解 Dubbo 的代码架构
今日报丨关于整数二分的详解
滚动:预编译#error的使用
全球要闻:YoloV7 标签匹配机 loss 计算详解
安全多方计算(1):不经意传输协议
每日快讯!元旦假期首日火车票今开抢!迎出行小高峰:五大热门目的地出炉
观天下!Find N2系列发布背后:OPPO再次展示对产品精益求精态度
天天要闻:全国冻哭预警地图来了:周末20余省份或被冻哭 冷到破纪录
热议:售价超300万!乔布斯亲手编号Apple-1电脑落锤成交:46年后 开机画面眼前一亮
世界最大独立圆柱体水族馆爆裂:1500多条鱼全军覆没
世界杯决战前夕 法国又有两大主力倒下!5人感染神秘流感
【环球热闻】被加价千元:AMD喊话正加大RX 7900系生产!NV 4080笑而不语
世界简讯:VUE数据双向绑定
第一百一十四篇: JS数组Array(三)数组常用方法
世界上最大的鱼缸今日突然破裂:100万升水泄露 1500条鱼死亡
放假3天不调休!2023年元旦假期首日火车票开售 除夕票这一天就能买
天天报道:学谁不好学特斯拉!几十万的宝马车 容不下一个收音机
观天下!骗子诈骗1250万 买彩票中1450万:已退还给39名聋哑人
全球热讯:XSX性能比PS5强 但为何游戏性能总是输?
天天速看:Python函数/动态参数/关键字参数
天天热点!女子发烧敷20分钟面膜揭下变3D立体面具 医生提醒:影响退热 当心面瘫
方便面消费第一大国是我们:超6成人每周吃三次
世界速读:注解在Android中的使用场景
热推荐:锂金属电池爱长枝晶?韩国科学家找到破解之法
【当前独家】确认了!《阿凡达2:水之道》没有片尾彩蛋
天天观速讯丨1152分区+4K 144Hz 联合创新32寸miniLED显示器首发5399元
终于修好了!Win11新补丁解决22H2大文件复制缓慢Bug
首款第二代骁龙8游戏旗舰!红魔8 Pro来了
今日最新!王思聪投资百万成立新公司 经营范围包括动漫游戏开发
全球最资讯丨全自动门锁比半自动更人性化!但半自动更受青睐 真相终于揭开
世界简讯:Hessian2序列化支持这一点,让重构dubbo接口更容易了
【热闻】-真正的国产亲民MPV 新款传祺M6 PRO上市:11.98万起
看点-旗下新作首月收入超4.8亿!腾讯成为《妮姬》开发商Shift Up第二大股东
女子高烧39.8度喊妈 妈妈以为鸭子叫没搭理 网友:怎么又变异了
观察-《三体》动画明天开播第3集 官方公布史强、古筝行动档案
【天天聚看点】微信小程序报错“getLocation:fail the api need to be declared in the requiredPriva
【全球快播报】记录--三分钟打造自己专属的uni-app工具箱
视点!小米万兆路由器用上企业级处理器!卢伟冰:降维打击
【天天报资讯】LCD面板价格连连下跌!LG P7 LCD工厂停产
环球关注:中国高速看山东!山东高速施工用上北斗卫星:精度达到毫米级
世界要闻:三大板卡品牌之一的微星缺席RX 7900首发 原因揭晓:直接非公版
世界快消息!女生手捏温度计度数直线飙到38度!腋下一测39.5度
天天日报丨项目经理的核心价值:以目标为导向做正确的事
环球热点评!Vue3项目-生成Cron表达式组件
世界今亮点!MIUI 14终于再次成为最好用的操作系统
ChatGPT已经牛到取代谷歌了?测试结果来了
男子每天点赞上万次被处罚 当庭演示一分钟才点赞91个
【当前独家】“智轨列车”亮相咸阳:可识别虚拟轨道 载客达300人
全球新动态:研究揭示马桶不盖盖后果多严重:致病菌满屋乱飞
全球滚动:Java 反射概念的引入
天天热议:小米13太火爆了 博主准点抢购结果秒没:最后等了20分钟捡漏 成功上车
【天天速看料】“火流星”掉落 专家判断陨石来自46亿年前:比地球上所有石头都古老
当前速看:《阿凡达2》成2022进口片首日票房冠军!时隔69天单日再破亿 豆瓣8.4分
价格能顶半套正版Win11 老牌压缩软件WinZip 27发布 你会买吗?
快播:44岁的泰国长公主因心脏问题失去知觉:紧急送医
渗透实录-01
要闻:Nacos 2.2 正式发布,这次更新太炸了!