CSP-S 模拟95

 

 

  简单计算

                $\large 2*\sum\limits_{i=0}^{p} \left \lfloor \frac{i*q}{p} \right \rfloor=\sum\limits_{i=0}^{p}\left \lfloor \frac{i*q}{p} \right \rfloor*\left\lfloor \frac{(p-i)*q}{p} \right\rfloor$

    $$\large =\sum\limits_{i=0}^{p} q-[(p|(i*q))?0:1] $$
    $$\large =(p+1)*q-gcd(p,q)$$

   

  格式化

    对于格式化后有增益的按容量从小到大格式化,格式化后有损耗的按容量从大到小格式化

  

  真相

    枚举说第一种话且说的是真话的人,对于说的相同的第一种话的人一定同时真或假,对于说不同第一种话的人一定不同时为真

    确定了一个说第一种话的人说的话的真假,那么可以逆时针倒推出说第二三种话的真假,一直到逆时针的上一个说第一种话的人(不包括)

    那么可以统计出每一个说第一种话的人为真为假时,逆时针的一段的真话个数

    枚举说第一种话的人全部说假话及某一个人说真话的情况,计算说真话的人的个数,再看是否满足说第一种话的人的真假条件

posted @ 2019-10-31 15:11  Lockey_T  阅读(143)  评论(0编辑  收藏  举报