loj#P2989. 「CTSC2016」NOIP十合一
「CTSC2016」NOIP十合一
Cannot parse: undefinedms error parsing time
题目描述
在 NOIP 2044 的赛场上,小 D 遇到了这样一道题:
给出一个 个点的图,其中有 条带权有向边,有 个询问,每个询问形如从 号点走到 号点,长度为 的道路数量有多少?你只需要输出答案对 取模的结果即可。
小 D 思考了良久也不会做这道题,悻悻离场之后,他从官网上取得了这道题的数据,共有 组数据。小 D 怎么也想做出来这道题,于是他开始寻求你的帮助,将 组数据的输入给了你。聪明的你一定可以帮小 D 计算出每组数据的输出的!
输入格式
输入文件 noip1.in~noip10.in
已在附加文件中。
每个输入文件的第一行包括 个正整数 ,表示图中点数、边数、询问数目及模数。点的编号为从 到 的整数。
接下来 行描述 条带权有向边,其中第 行包含 个整数 ,表示第 条边起点为 ,终点为 ,权值为 。
接下来 行描述询问,其中第 行包含 个整数 ,表示第 个询问需要输出从 号点走到 号点,长度为 的道路数量对 取模的结果。
输出格式
输出文件为 noip1.out~noip10.out
,分别对应相应的输入文件。
每个输出文件中不超过 行,每行包含一个小于 的非负整数,表示该测试点前 个询问的答案。
3 4 2 10
1 1 2
1 2 2
1 3 1
2 3 3
1 3 5
1 3 3
2
1
数据范围与提示
每个测试点单独评分。每个测试点你还可能获得部分分。
最终评测时,我们将根据你在每个数据中回答正确的询问个数进行计分。
如果你的输出不超过 行,且每行只包含一个不超过 的非负整数, 在最终评测时我们将认为你在第 行的输出是在回答对应测试点的第 个询问。
对于每个测试点,我们设置了 个评分参数 。在你的方案中,若正确回答的询问个数为 ,你的分数将为:若 ,则该测试点获得 分,若多个 符合条件,取 最大的。
如果你的输出不符合格式要求,例如出现不小于 的整数或负数,输出超过了 行等,我们将不保证你能得到分数。
评分参数文件 noip.score
已在附加文件中。该文件共 行,第 行描述测试点 的评分参数。每行包含 个整数,依次表示 。
提示
本题可能用到的知识:
特征多项式:对于 的矩阵 ,定义以 为变量的 次多项式 ,其中 是 阶单位矩阵, 是行列式。称 为 的特征多项式。
Cayley-Hamilton 定理:对于方阵 的特征多项式 ,一定有 。即将矩阵本身作为变量代入特征多项式,结果为零矩阵。