loj#P2989. 「CTSC2016」NOIP十合一

    ID: 16185 problem_type.undefined ms MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>矩阵多项式 / 形式幂级数2016倍增组合计数提交答案背包 DPCTSC中国剩余定理

「CTSC2016」NOIP十合一

Cannot parse: undefinedms error parsing time

题目描述

在 NOIP 2044 的赛场上,小 D 遇到了这样一道题:

给出一个 nn 个点的图,其中有 mm 条带权有向边,有 qq 个询问,每个询问形如从 uu 号点走到 vv 号点,长度为 ww 的道路数量有多少?你只需要输出答案对 PP 取模的结果即可。

小 D 思考了良久也不会做这道题,悻悻离场之后,他从官网上取得了这道题的数据,共有 1010 组数据。小 D 怎么也想做出来这道题,于是他开始寻求你的帮助,将 1010 组数据的输入给了你。聪明的你一定可以帮小 D 计算出每组数据的输出的!

输入格式

输入文件 noip1.in~noip10.in 已在附加文件中。

每个输入文件的第一行包括 44 个正整数 n,m,q,Pn,m,q,P,表示图中点数、边数、询问数目及模数。点的编号为从 11nn 的整数。

接下来 mm 行描述 mm 条带权有向边,其中第 ii 行包含 33 个整数 ai,bi,cia_i,b_i,c_i,表示第 ii 条边起点为 aia_i,终点为 bib_i,权值为 cic_i

接下来 qq 行描述询问,其中第 kk 行包含 33 个整数 uk,vk,wku_k,v_k,w_k,表示第 kk 个询问需要输出从 uku_k 号点走到 vkv_k 号点,长度为 wkw_k 的道路数量对 PP 取模的结果。

输出格式

输出文件为 noip1.out~noip10.out,分别对应相应的输入文件。

每个输出文件中不超过 qq 行,每行包含一个小于 PP 的非负整数,表示该测试点前 qq 个询问的答案。

3 4 2 10
1 1 2
1 2 2
1 3 1
2 3 3
1 3 5
1 3 3
2
1

数据范围与提示

每个测试点单独评分。每个测试点你还可能获得部分分。

最终评测时,我们将根据你在每个数据中回答正确的询问个数进行计分。

如果你的输出不超过 qq 行,且每行只包含一个不超过 PP 的非负整数, 在最终评测时我们将认为你在第 ii 行的输出是在回答对应测试点的第 ii 个询问。

对于每个测试点,我们设置了 1010 个评分参数 a1,a2,a3,,a9,a10a_1, a_2, a_3, \ldots , a_9, a_{10}。在你的方案中,若正确回答的询问个数为 wuw_{u},你的分数将为:若 wuaiw_u\ge a_i,则该测试点获得 ii 分,若多个 ii 符合条件,取 ii 最大的。

如果你的输出不符合格式要求,例如出现不小于 PP 的整数或负数,输出超过了 qq 行等,我们将不保证你能得到分数。

评分参数文件 noip.score 已在附加文件中。该文件共 1010 行,第 ii 行描述测试点 ii 的评分参数。每行包含 1010 个整数,依次表示 a1,a2,a3,,a9,a10a_1, a_2, a_3, \ldots , a_9, a_{10}

提示

本题可能用到的知识:

特征多项式:对于 n×nn\times n 的矩阵 AA,定义以 λ\lambda 为变量的 nn 次多项式 f(λ)=det(λIA)f(\lambda) =\text{det}(\lambda I − A),其中 IInn 阶单位矩阵,det\text{det} 是行列式。称 f(λ)f(\lambda)AA 的特征多项式。

Cayley-Hamilton 定理:对于方阵 AA 的特征多项式 f(λ)f(\lambda),一定有 f(A)=0f(A) = 0。即将矩阵本身作为变量代入特征多项式,结果为零矩阵。