简单计算
$large 2*sumlimits_{i=0}^{p} left lfloor frac{i*q}{p} ight floor=sumlimits_{i=0}^{p}left lfloor frac{i*q}{p} ight floor*leftlfloor frac{(p-i)*q}{p} ight floor$
$$large =sumlimits_{i=0}^{p} q-[(p|(i*q))?0:1] $$
$$large =(p+1)*q-gcd(p,q)$$
格式化
对于格式化后有增益的按容量从小到大格式化,格式化后有损耗的按容量从大到小格式化
真相
枚举说第一种话且说的是真话的人,对于说的相同的第一种话的人一定同时真或假,对于说不同第一种话的人一定不同时为真
确定了一个说第一种话的人说的话的真假,那么可以逆时针倒推出说第二三种话的真假,一直到逆时针的上一个说第一种话的人(不包括)
那么可以统计出每一个说第一种话的人为真为假时,逆时针的一段的真话个数
枚举说第一种话的人全部说假话及某一个人说真话的情况,计算说真话的人的个数,再看是否满足说第一种话的人的真假条件