无向图三元环 & 四元环计数 小结

给定一个 nn 个点 mm 条边的简单无向图,求其三元环个数。

1n1051 \le n \le 10^51m2×1051 \le m \le 2 \times {10}^5

给定一个 nn 个点 mm 条边的简单无向图,点 ii 有点权 aia_i,求其所有本质不同的四元环中所有点的点权和,模 109+710^9+7

1n1051\le n\le 10^51m2×1051\le m\le 2\times 10^51ai1091\le a_i\le 10^9

阅读全文 »

P8329 [ZJOI2022] 树 做题记录

九条可怜是一个喜欢树的女孩子,她想生成两棵均有 nn 个节点的树。

第一棵树的生成方式是:

  1. 节点 11 作为树的根。
  2. 对于 i[2,n]i \in [2, n],从 [1,i1][1, i - 1] 中选取一个节点作为 ii 的父亲。

第二棵树的生成方式是:

  1. 节点 nn 作为树的根。
  2. 对于 i[1,n1]i \in [1, n - 1],从 [i+1,n][i + 1, n] 中选取一个节点作为 ii 的父亲。

九条可怜希望对于任意 i[1,n]i \in [1, n],若第一棵树中的节点 ii 为叶子,那么第二棵树中的节点 ii 为非叶子;若第一棵树中的节点 ii 为非叶子,那么第二棵树中的节点 ii 为叶子。一个节点被称为叶子当且仅当没有节点的父亲是它。

九条可怜希望你统计生成两棵树的方案数是多少。具体地,你需要对于所有 n[2,N]n \in [2, N] 都计算方案数。两种方案不同当且仅当存在一棵树中的一个节点 ii,两种方案中它的父亲不同。因为答案可能很大,你只需要输出答案对 MM 取模后的结果。

2N5002 \le N \le 50010M23010 \le M \le 2^{30}

阅读全文 »

P3978 [TJOI2015]概率论 做题记录

为了提高智商,ZJY 开始学习概率论。有一天,她想到了这样一个问题:对于一棵随机生成的 nn 个结点的有根二叉树(所有互相不同构的形态等概率出现),它的叶子节点数的期望是多少呢?

判断两棵树是否同构的伪代码如下:

对于 100%100\% 的数据,1n1091 \le n \le 10^9

阅读全文 »

P7738 [NOI2021] 量子通信 做题记录

小 Z 正在自学量子计算机相关知识,最近他在研究量子通信章节,并遇到了一个有趣的问题。在该问题中,Alice 和 Bob 正在进行量子通信,它们的通信语言是一个大小为 nn 的字典 SS,在该字典中,每一个单词 sis_i1in1 \le i \le n)都可以用一个 256\boldsymbol{256} 位的 01\boldsymbol{01} 来表示。在本题中 sis_i 可以通过调用函数 gen 来生成,选手可以在题目目录下的 gen.cpp 中查看,该函数的参数 na1a2 将由输入数据给出。

Alice 和 Bob 接下来要进行 mm 次通信,每次通信由 Alice 向 Bob 传输恰好一个字典中的单词。然而,两人使用的通信信道并不可靠,会受到噪音的干扰。更具体地,对于第 ii 次传输,记 Alice 传输的原单词为 xix_i,该 0101 串会受噪音干扰而翻转最多 ki\boldsymbol{k_i} 。换句话说,记 Bob 这次收到的 0101 串为 yiy_i,它与 xix_i 相比,可能有最多 kik_i 位是不同的,并且 yiy_i 可能不在字典 SS 中出现。

与此同时,Bob 得知坏人 Eve 也潜入了两人的通信信道,并准备干扰两人的通信。他的干扰方式是将 Bob 收到的 0101 串变为任意的 2562560101 串,并且这个串可能不在字典 SS 中出现。Eve 非常狡猾,他不一定会对每次通信都进行干扰。

现在 Bob 找来了你帮忙,对于接下来的每次通信,你需要根据 Bob 最终收到的 0101 串以及这次通信的噪音干扰阈值 kik_i0ki150 \le k_i \le 15),判断这次通信是否有可能没有受到 Eve 的干扰(即 Bob 收到的 0101 串可以由字典中的某个单词翻转至多 kik_i 位后得到)。本次通信如果有可能没受到 Eve 干扰,请你输出 11,否则输出 00。Bob 很信任你的能力,所以你需要在线地回答结果,具体要求见输入格式

为了降低读入用时, Bob 收到的串将用长度为 64\boldsymbol{64} 16\boldsymbol{16} 进制串给出,1616 进制串中包含数字字符 09\texttt{0} \sim \texttt{9} 与大写英文字母 AF\texttt{A} \sim \texttt{F},其中字符 AF\texttt{A} \sim \texttt{F} 依次表示数值 101510 \sim 15

1616 进制串可以逐位转化为 0101 串,例如:5 对应 0101A 对应 1010C 对应 1100

1n4×1051 \le n \le 4 \times {10}^51m1.2×1051 \le m \le 1.2 \times {10}^50ki150 \le k_i \le 15a1a_1a2a_2[0,2641][0, 2^{64} - 1] 之间均匀随机生成。

阅读全文 »

P3750 [六省联考 2017] 分手是祝愿 做题记录

B 君在玩一个游戏,这个游戏由 nn 个灯和 nn 个开关组成,给定这 nn 个灯的初始状态,下标为从 11nn 的正整数。

每个灯有两个状态亮和灭,我们用 11 来表示这个灯是亮的,用 00 表示这个灯是灭的,游戏的目标是使所有灯都灭掉。

但是当操作第 ii 个开关时,所有编号为 ii 的约数(包括 11ii)的灯的状态都会被改变,即从亮变成灭,或者是从灭变成亮。

B 君发现这个游戏很难,于是想到了这样的一个策略,每次等概率随机操作一个开关,直到所有灯都灭掉。

这个策略需要的操作次数很多,B 君想到这样的一个优化。如果当前局面,可以通过操作小于等于 kk 个开关使所有灯都灭掉,那么他将不再随机,直接选择操作次数最小的操作方法(这个策略显然小于等于 kk 步)操作这些开关。

B 君想知道按照这个策略(也就是先随机操作,最后小于等于 kk 步,使用操作次数最小的操作方法)的操作次数的期望。

这个期望可能很大,但是 B 君发现这个期望乘以 nn 的阶乘一定是整数,所以他只需要知道这个整数对 100003100003 取模之后的结果。

1n100000,0kn1 \leq n \leq 100000, 0 \leq k \leq n

阅读全文 »

P8321 『JROI-4』沈阳大街 2 做题记录

给定两个长度为 nn 的序列 A,BA,B,满足:

  • 1i<n,AiAi+1\forall 1\le i<n,A_i \ge A_{i+1}
  • Anmini=1n(Bi)A_n\ge \min\limits_{i=1}^n(B_i)

π\pi 是一个长度为 nn 的排列,定义价值函数 f(π)f(\pi)

f(π)=i=1nmin(Ai,Bπ(i))f(\pi)=\prod_{i=1}^n\min(A_i,B_{\pi(i)})

每种排列出现的概率相等,求 f(π)f(\pi) 的期望对 998244353998244353 取模的结果。

即求:

(1n!πf(π))mod998244353\left(\dfrac{1}{n!}\sum_\pi f(\pi)\right) \bmod 998244353

1n50001\le n\le 50001Ai,Bi1091\le A_i,B_i\le 10^9

阅读全文 »

CF1282D Enchanted Artifact 做题记录

本题为交互题。

有一个字符串 ss,只由字符 ab 组成。每次你可以询问一个字符串,它会返回这两个字符串的编辑距离。编辑距离定义为一个字符串经过修改,删除或插入单个字符操作得到另一个字符串,两个字符串编辑距离的定义为最小的操作次数。

你需要在 s+2|s| + 2 次操作内求出字符串 ss

1s3001\le |s|\le 300

阅读全文 »