【2020百度之星复赛 1005】Battle for Wosneth2 题解

题目大意

  Alice 有 nn 血,Bob 有 mm 血。Alice 和 Bob 轮流攻击对方,Alice 先手,每次攻击如果命中则对方扣 11 点血,否则无事发生。Alice 命中率为 pp,Bob 命中率为 qq。若有人血量 ≤0\le 0 则死亡,游戏结束。
  求到最后 Alice 的生命值大于 00 的概率,对 998244353998244353 取模。

  n,m≤105n,m \leq 10^5
  多测,T≤104T \leq 10^4,∑(n+m)≤5×106\sum(n+m) \leq 5 \times 10^6
  1s

【2020牛客多校第七场 E】NeoMole Synthesis 题解

题目大意

  给定一棵 nn 个点的目标树,以及 mm 棵模板树,每棵模板树有一个单价 cic_i,数量无限多。这里的树都是无根树。
  现在要用若干模板树拼成目标树(就是用模板去覆盖目标树,使得目标树的每个点恰好被覆盖一次),求最小代价。

  n≤500, m≤200n \leq 500,\ m \leq 200,所有模板树的结点数总和 N≤500N \le 500
  ci≤106c_i \leq 10^6
  1s

【2020牛客多校第八场 D】Disgusting Relationship 题解

题目大意

  一个置换可以看成是有 a1a_1 个长度为 11 的环 + a2a_2 个长度为 22 的环 + …… + ana_n 个长度为 nn 的环,满足 ∑i=1ni⋅ai=n\sum_{i=1}^n i\cdot a_i=n 。
  记 f(a1,a2,⋯ ,an)f(a_1,a_2,\cdots,a_n) 表示各种环的数量分别为 a1,⋯ ,ana_1,\cdots,a_n、长度为 nn 的置换的数量,现给定 n,pn,p(pp 是质数),问有多少种不同的数列 a1,⋯ ,ana_1,\cdots,a_n,满足 p∤ f(a1,a2,⋯ ,an)p \not|\ f(a_1,a_2,\cdots,a_n) 。

  n≤1018,  2≤p≤105n \leq 10^{18},\ \ 2 \leq p \leq 10^5
  多测,T≤105T \leq 10^5,2s

【USST2020 I】Immortal Trees 题解

题目大意

  给定一个 nn,表示一棵有标号无根树有 nn 个结点。
  有如下限制:

  1. 给定 mm 个数对 (xi,yi)(x_i,y_i),表示树上一定要有 (xi,yi)(x_i,y_i) 这条边;
  2. 有 kk 个限制 opi xi degiop_i\ x_i\ deg_i,若 opi=0op_i=0 表示 xx 的度数至少为 degideg_i,若 opi=1op_i=1 表示 xx 的度数至多为 degideg_i。

  求合法的树的数量。

  2≤n≤60, 0≤m≤n−1, 0≤k≤602 \leq n \leq 60,\ 0 \leq m \leq n-1,\ 0 \leq k \leq 60
  1s

【XVIII Open Cup E.V. Pankratiev. Grand Prix of Korea. J】Game of Sorting 题解

题目大意

  对于一个序列 a1,⋯ ,ana_1,\cdots,a_n,Alice 和 Bob 在上面博弈,Alice 先手,两人轮流操作,每人每次要么拿走第一个元素或者最后一个元素,谁先使得这个序列不增或不降就获胜(如果一开始就不增或不降那么 Bob 获胜)。
  现在给定一个序列 a1,⋯ ,ana_1,\cdots,a_n,有 QQ 个询问,每次询问给出 l,rl,r,问 al,al+1,⋯ ,ara_l,a_{l+1},\cdots,a_r 的博弈结果。

  n,Q≤106,  ai≤109n,Q \leq 10^6,\ \ a_i \leq 10^9
  3s

【2017 BSUIR Semifinal D】Friends rescue 题解

题目大意

  有一个池塘,中间有 nn 行 n+1n+1 列的石头阵。
  连边只能连相邻的格子,相邻定义为四连通。
  现在左边第一列石头已经跟左边大陆 LL 相连,右边最后一列石头已经跟右边大陆 RR 相连。问剩下的有多少种连边方式,使得 LL 与 RR 连通。
在这里插入图片描述
  n≤42n \leq 42

【2017 BSUIR Semifinal G】Digital characteristic 题解

题目大意

  定义函数 f(n)f(n) 表示对 nn 一直求数位和直至 nn 为个位数,即:

f(n)={nn<10,f(g(n))otherwise,f(n)=\begin{cases} n&n<10, \\ f(g(n))&\text{otherwise,} \end{cases}

  其中 g(n)g(n) 表示 nn 的数位和。
  现在有一个很大的 nn,你要求 f(n)f(n)。
  这个 nn 是根据四个参数 a,b,m,ka,b,m,k 生成的,首先生成 kk 个数 a,a+b,a+2b,⋯ ,a+(k−1)ba,a+b,a+2b,\cdots,a+(k-1)b(都在  mod  m\bmod~m 意义下),然后把它们从后往前拼起来,就是 nn。比如,a=42,b=42,m=2018,k=18a=42,b=42,m=2018,k=18,会生成 n=7567146726305885465044624203783362942522101681268442n=7567146726305885465044624203783362942522101681268442。

  0≤a,b≤109, 2≤m≤109+7, 1≤k≤1090 \leq a,b \leq 10^9,\ 2 \leq m \leq 10^9+7,\ 1 \leq k \leq 10^9
  多测,T≤104T \leq 10^4

【JZOJ4939】平均值 题解

题目大意

  给定一个长度为 nn 的序列 a1,⋯ ,ana_1,\cdots,a_n,求所有区间的 mexmex 平均值之和,即

∑l=1n∑r=lnmex(al,al+1,⋯ ,ar)r−l+1(mod998244353)\sum_{l=1}^n\sum_{r=l}^n \frac{mex(a_l,a_{l+1},\cdots,a_r)}{r-l+1} \pmod{998244353}

  1≤n≤5×105,  0≤ai≤5×1051 \leq n \leq 5 \times 10^5,\ \ 0 \leq a_i \leq 5 \times 10^5

【2018 BSUIR Final C】Partial Sums 题解

题目大意

  给定一个 n×mn \times m 的 01 矩阵 A0A_0。定义一次操作为将这个矩形每个元素求异或前缀和,即 Ak[i,j]=(∑u=1i∑v=1jAk−1[u,v]) mod 2A_k[i,j]=(\sum_{u=1}^i\sum_{v=1}^j A_{k-1}[u,v]) \bmod 2。
  求一个最小的正整数 kk,使得 A0=AkA_0=A_k。

  n×m≤106n\times m \leq 10^6

【AtCoder Grand 028E】High Elements 题解

题目大意

  给定一个长度为 nn 的排列。
  现在有两个空数组 XX 和 YY,你要依次把排列的每个元素放到 XX 数组或者 YY 数组,使得最后 XX 数组和 YY 数组的 high element 个数相同。定义数组中一个元素为 high element 当且仅当它是其前缀最大值。
  一个元素放 XX 数组记为 00,放 YY 数组记为 11,你要求字典序最小的方案,或输出无解。

  n≤2×105n \leq 2 \times 10^5

【2019 NWERC B】Balanced Cut 题解

题目大意

  给定一棵 nn 个点的 AVL 树(点权恰好为 11 到 nn),你需要选择其中的 kk 个点,满足:

  1. 如果要选一个点,那么它的祖先也必须选。也就是选出来的 kk 个点会组成一棵新的树。
  2. 这棵新的树也必须是 AVL 树。

  (放个传送门里面有图片可以看看例子

  每种选法可以表示为一个长度为 nn 的 01 串(表示每个点选或不选),你需要求出字典序最大的方案。

  1≤k≤n≤5×1051 \leq k \leq n \leq 5 \times 10^5
  4s,256MB