codeforces 698F
Posted foreverpiano
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces 698F相关的知识,希望对你有一定的参考价值。
http://codeforces.com/contest/698/problem/F
给定一个长度为(n)的排列(p),有些位置已经填了数字,让你填上剩余的数字
问存在多少的排列满足
若存在(forall 1le i<jle n ; i perp j) 当且仅当 (p_i perp p_j)
首先糊结论
对于排列都没有确定的情况
- 如果存在下标(i)和(j)满足(i)和(j)的质因子种类相同,那么可以swap(i, j)
- 如果存在两个质数(a)和(b),他们在排列出现次数相同,那么可以swap({1 a, 2 a, ..., k * a}, {1 * b, 2 * b, ..., k * b})
然后如果有确定的数的话
可以发现对于位置(i)和(p_i)他们的质因子是一个双射的关系
便于处理可以将(1)看成质数
(做过的题又不会做来补发题解qwq
以上是关于codeforces 698F的主要内容,如果未能解决你的问题,请参考以下文章