luogu#P10326. 自由(Freedom)

    ID: 14284 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>数学洛谷原创提交答案枚举组合数学生成函数,GF线性代数洛谷比赛

自由(Freedom)

题目背景

完全抽象的,只在数学中被允许的无限的「自由」。


「自由之光」,未知数的骑士 —— 知修。哪怕面对的是无限的绝望,他也能将其转变为无限的自由。

题目描述

给定一个 nn 个节点、mm 条边的有向图,节点和边都有权值,保证对于任意两个节点 u,vu,v,从 uu 指向 vv 的边最多只有一条。

路径 PP 是一个节点序列 u1,,uku_1,\cdots,u_k,其中对于任意 1i<k1\leq i < kuiu_i 有指向 ui+1u_{i+1} 的边(这条边记为 eie_i)。则定义 PP边权是所有 eie_i 的权值的乘积,其点权是所有 uiu_i 权值的和,其长度kk。特别地,如果 k=1k=1,则定义其边权11

对于两条路径 P1,P2P_1,P_2,长度分别为 L1,L2L_1,L_2,包含的节点序列记为 u1,,uL1u_1,\cdots,u_{L_1}v1,,vL2v_1,\cdots,v_{L_2}。定义它们是相同的,当且仅当 L1=L2L_1=L_2,且对于所有 1iL11\le i \le L_1ui=viu_i=v_i

给定正整数 VV,请求出所有不相同的「点权VV 的路径」的边权之和。答案可能很大,请对 998244353998244353 取模后输出。

题目的输入数据下载链接:Link1,提取码:92ih
备用下载路径与操作方法:Link2

输入格式

第一行一个正整数 TT,表示测试点编号。

第二行三个正整数 n,m,Vn,m,V,意义如题目描述。
第三行 nn 个正整数 a1,,ana_1,\cdots,a_naia_i 表示了编号为 ii 的节点的权值。
接下来 mm 行,每行三个正整数 ui,vi,wiu_i,v_i,w_i,表示编号为 uiu_i 的点有一条权值为 wiw_i 的边指向 viv_i

输出格式

输出一行一个整数,表示答案。

0
3 5 12
2 4 6
2 3 5
1 2 3
3 1 7
3 2 11
1 1 2
155

提示

【样例 11 解释】

样例中 V=12V=12,满足点权为 1212 的路径有:
(给出的是路径中节点的编号,样例中每个节点的权值恰好为其编号的两倍)

  • 1111111 \to 1\to 1\to 1\to 1\to 1,边权为 25=322^5=32
  • 111121\to 1\to 1\to 1 \to 2,边权为 3×23=243\times 2^3=24
  • 1231\to 2 \to 3,边权为 3×5=153\times 5=15
  • 2312\to 3\to 1,边权为 5×7=355\times 7=35
  • 31113\to 1\to 1\to 1,边权为 7×22=287\times 2^2=28
  • 3123\to 1\to 2,边权为 7×3=217\times 3=21

故答案为 32+24+15+35+28+21=15532+24+15+35+28+21=155

【数据信息】

测试点编号 1 2 3 4 5 6 7 8 9 10
测试点名称 W K_1 K_2 K_3 MP_1 MP_2 MP_3 MP_4 R Finale
测试点分数 1010

对于全部的数据,1n1051\le n \le10^51mmin(n2,106)1\le m \le \min(n^2,10^6)1V10100000001\le V \le 10^{10000000}

【提示】
时间是宝贵的。代码运行需要时间,你的思考也需要时间。好在这两件事可以同时进行,希望你可以在这有限的时间内做更多的事,拿到更好的成绩。