题目出自学军中学
(我不记得题目叫什么名字了,这个题目是我乱起的)
题目大意
给出一幅 个点的有向图,边长是 。
求最大的 ,使得对于任意正整数 (图中最长路径的长度),长度为 的路径数是 的。若不存在则输出 -1。
这是一道读题题
读懂题就会做了

题解
题目的意思是,对于任意长度 ,其方案数必须是一个多项式,最高次。
首先如果图中存在一个复杂环(就是存在环套环的意思),那么这里能贡献的方案数就是指数级别的了(走一下 A 环,再走一下 B 环,再走一下 A 环……),所以输出 -1。
于是就变成了一个只有简单环的图。我们缩点得到一幅 DAG。
对于 DAG 上的某一条路径,有些点原来是环,假设有 个这样的点。我现在走这条路径,假设这些环点我分别走了 次。
考虑这条路径对长度 的贡献,相当于我枚举 ,使得它们加起来是 。因此方案数是
因此在这个 DAG 上求一条点权最大的路径(若该点原来是环,点权就为 1,否则为 0),减 1 就是答案。
