#P9919. 「RiOI-03」A Journey to the Moonlight

    ID: 9086 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>洛谷原创O2优化二分图生成函数,GF分块快速数论变换 NTT洛谷月赛

「RiOI-03」A Journey to the Moonlight

题目背景

(图片来自 phigros 曲绘,侵删。)

加强版链接

KDOI 的业务发展到月亮上了。但是月亮上网速很慢,他们需要解决网速问题。

KDOI 的工作人员研发了一种新型无线局域网模块 Wife(WIreless Fidelity Extend),每个模块最多连接两个用户,并且可以选择为其中一位客户提供 11 单位带宽。不过,无论有多少个模块同时为一位客户提供带宽,他的总带宽永远是 11

公司的员工都很懒,经常 ppt 一鸽就是一个月。因此,他们也懒得为 Wife 贴上标签,也就是所有模块间不做区分。另外,为了节省电费,不能有两个模块的工作客户范围完全相同。

现在有 nn 个用户购买了服务。当 Wife 系统正式启动时,鹿由器发现了一个问题:可能有些用户没有宽带可以使用!快斗现在手里没有 Wife,只能抢来一个,牺牲一个用户的利益,按一定顺序给所有包括有宽带的用户使用。然而,没有宽带的用户们要求很苛刻,只要没有给他们按注册顺序连续地提供宽带,他们就会威胁鹿由器退钱。

快斗已经忘了他们的注册时间了,只能随机选一个 1n1\sim n 的排列来决定提供宽带的顺序。为了让尝试的次数尽量小,他会调整 Wife 连接的用户。他想知道,要让这些顾客平息愤怒,需要尝试的最小期望次数是多少。

特别的,Wife 有两种型号。型号 11 可以选择只连接一位,型号 22 则只能连接两个不同客户。你需要分别计算出这两种型号的答案。

快斗自己肯定会做,所以他要让你求出所有 i[0,n]i\in[0,n] 的结果 ansians_i。考虑到你如果一个一个汇报会累死的,仁慈的鹿由器会给你数组 aa,让你输出 ai×ansi\sum a_i\times ans_i

题目描述

【形式化题意】

对于一个右部点为 mm 个的二分图 GG,定义它的权值 w(G)w(G) 如下:

  • 选择一种匹配方案,标记第一个已匹配的右部点。如果不存在这样的点,那么标记第一个未匹配的右部点。
  • 每次随机选择一个 1,2,,m1,2,\cdots,m 的排列,当未匹配的右部点与被标记的点 按标号顺序作为一个子段出现在排列中时 停止操作。
  • w(G)w(G) 为在所有匹配方案中操作次数期望的 最小值

将这个二分图 GG 定义为 kk 合法 的,当且仅当:

  • 所有左部点的度数在 k2k\sim 2 之间。
  • 没有任意两个左部点,与其相邻的点组成的集合相同。

定义 f(k,x)f(k,x) 为所有右部点 xx 个,左部点不进行区分的 kk 合法二分图 GGw(G)w(G) 之和。

给定 n,k,a0nn,k,a_{0\sim n},求 inaif(k,i)mod998244353\sum\limits^n_ia_if(k,i) \bmod998244353

输入格式

一行两个正整数,分别表示 nn 与 Wife 的型号 kk

第二行 n+1n+1 个非负整数,分别表示 a0na_{0\sim n}

输出格式

一行一个非负整数,表示答案。

2 1
1 1 1
15
3 2
1 1 1 1
40
12 1
1 1 4 5 1 4 1 9 1 9 8 1 0
721168027

提示

约定一个左部点连接了编号为 x,yx,y 的右部点表示为 (x,y)(x,y)

【样例 1 解释】

对于 n=0,1n=0,1,答案显然为 1,21,2

对于 n=2n=2,可能的二分图为(用每个左部点的邻接点组成的元组表示):

()()

(1),(2),(1,2)(1),(2),(1,2)

$\{(1),(2)\},\{(1,2),(2)\},\{(1,2),(1)\},\{(1,2),(1),(2)\}$

期望相同的二分图被分为一组。答案为 21+21×3+22×4=12\dfrac21+\dfrac21\times3+\dfrac22\times4=12,输出 1×1+1×2+1×12=151\times1+1\times2+1\times12=15

【样例 2 解释】

对于 n=0,1,2n=0,1,2,答案为 1,1,41,1,4

对于 n=3n=3,可能的二分图为(用每个左部点的邻接点组成的元组表示):

()()

(1,2),(1,3),(2,3)(1,2),(1,3),(2,3)

{(1,2),(1,3)},{(1,2),(2,3)},{(1,3),(2,3)}\{(1,2),(1,3)\},\{(1,2),(2,3)\},\{(1,3),(2,3)\}

{(1,2),(2,3),(1,3)}\{(1,2),(2,3),(1,3)\}

答案为 $\dfrac61+\dfrac61\times3+\dfrac62\times3+\dfrac66=34$。

【数据范围】

对于 100%100\% 的数据,0n1.5×1040\le n\le1.5\times10^41k21\le k\le20ai<9982443530\le a_i<998244353

本题开启捆绑测试

Subtask\text{Subtask} Score\text{Score} nn\le kk\ge 特殊性质
00 55 11
11 1010 500500 22
22 2020 11 ai1i!a_i\equiv\dfrac1{i!}
33 1.5×1041.5\times10^4 22
44 4545 11