HDU 6038 Function
多校第一场没有怎么想的题,然而实际上是很简单的……就是题意在理解上有点绕。 题意: 给你两个序列a和b,每个序列中的每个元素各不相同,且分别为 [0,num) 要你求满足如下函数的数量。( f ( i ) = b_{ f(a_i) } ) 思路: 一般人一眼就可以看出是一个递归的函数过程。 每次当我们知道了 ( f(i) ) ,我们就可以很顺利地得出 ( f(a_i) ) ,知道了 ( f(a_i) ) ,我们就可以很顺利的知道 ( f( a_{a_i} ) ) 又因为序列的特性,则对于这个函数,在a序列上必定会存在一个环。 而相应的,在a序列上的一个环与b序列上的元素相对应起来,只有在b序列上存在a序列环的因子才能成立。这个真的只要随便意淫一下就可以了,你要我证明我想还真有点烦 因此只要求出两个序列的环,对于每一对a序列的环与b序列的环,如果b序列环是a序列环的因子,则加上b序列环长度,因为对于a序列上的一个固定点,每一个b序列环上的点都可以对应与a序列固定点,且对应关系必不相同。 AC…