【考试总结】2022-08-16

网格

问题转化为求删边最少使得其存在欧拉回路。边界包括但不限于 \(n,m\le 2\) ,因为可能某一维不存在奇数度数点

奇数度数点只有 \(2(n-2+m-2)\) 个,那么保留起点终点奇度数点仍需要删掉 \(n+m-5\) 条边。删边之后跑欧拉回路

\(n,m\) 都是偶数则在两个边界上交替删边即可做到下界。

如果 \(n,m\) 奇偶性不同,直接保留奇数一维的最后两个点为起始终止点,剩下的还是交替删边。

两维都有奇数个点那么需要删掉右下角的两条边,起始终止点也就呼之欲出了。

为什么不会求欧拉回路

为什么不会求欧拉回路

为什么不会求欧拉回路

在弹栈的时候将其加入路径

毒药

原题 Codeforces Bear And Juice,zxy 是原题识别机!

本题就是上面的题的构造证明部分:将每个饮用物的引用情况刻画为一个 \(01\) 矩阵,熊表示列,天数是行。那么显然的限制就是每列只能有最多 \(1\)\(1\) ,因为是饮用物的饮用情况,如果喝了毒药就寄了,但是不能死两次。另外一条限制就是题目里面给出的,整个矩阵元素数量不超过能死亡熊的数量。

这个条件一定必要,但是仍然需要证明其充分性。可以通过交互得到每次喝酒新寄的熊,也表示成一个 \(01\) 矩阵,行数为每天,列数为每头熊。这个矩阵一定唯一映射到 \(n\) 个 饮用物的矩阵上。

本题做法就是直接搜出来若干矩阵,模拟构造过程

数数

将问题转化成求 \(ab\equiv cd\pmod {p-1}\)。使用中国剩余定理将问题变成求 \(a,b,c,d\in[0,p^e),ab\equiv cd\pmod{p^e}\) 的组数,或者说求 \(cnt_M\) 表示 \(ab\equiv M\pmod{p^e}\)\((a,b)\) 组数再平方

\(M=sp^j,a=Ap^{e_a},b=Bp^{e_b}\),那么显然有 \(e_a+e_b=j,AB\equiv s\pmod{p^{e-e_a-e_b}}\) 。任意 \(A\) 在模 \(p^{e-e_a}\) 意义下都存在唯一一个 \(B\in[1,p^{e-j})\) 满足 \(AB\equiv s\pmod {p^e}\)。或者可能可以理解为逆元。

这个 \(A\) 的上界是要求 \(a\le p^e\)

那么在 \(B\) 除以 \(p\) 的商每增加一个 \(p\) 就多出来一个合法值 ,也就是说有 \(p^{e_a}\) 个合法取值。再找 \(a=Ap^{e_a}\) 的数量,或者说 \(A\) 的数量。其实就是值域内不是 \(p\) 倍数的数的数量:\(p^{e-e_a-1}(p-1)\) 于是某个 \(M\) 的方案数就是 \(p^{e-1}(p-1)\) ,还要附上选择 \(e_a+e_b=j\) 的方案数 \(j+1\) 作系数。

注意 \(M=0\) 处理比较特殊,也就是 \(e_a+e_b\ge e\) 的情况也要计算其中,也就是 \(p^{e-1}+(e+1)(p-1)p^{e-1}\)

于是 \(M\) 的方案数只和 \(j\) 有关,\(j\) 相同的数量是 \((p-1)p^{e-j-1}\)。直接平方之后求和即可。

要做的就是暴力分解质因数。

posted @ 2022-08-16 20:47  yspm  阅读(171)  评论(1)    收藏  举报