G

这个问题不好直接做,考虑转化为一个好求的问题。

原问题等价于求最小的 \(x\) 使得(或判断无解):

\[\begin{aligned}
\frac{2}{9}(10 ^ x - 1) &\equiv 0 \pmod{k} \\
2(10 ^ x - 1) &\equiv 0 \pmod{9k} \\
10 ^ x &\equiv 1 \pmod{\frac{9k}{\gcd(k, 2)}}
\end{aligned}
\]

令 \(p = \frac{9k}{\gcd(k, 2)}\),当 \(\gcd(10, p) \ne 1\) 时原问题显然无解。

否则等价于求 \(10\) 在模 \(p\) 意义下的阶,一定有 \(ord_{p} 10 \mid \varphi(p)\),求出 \(\varphi(p)\) 后暴力枚举约数即可,复杂度 \(\mathcal{O}(T\sqrt{n} \log n)\)。

H

考虑如何判定一颗二叉树是合法的,有如下观察:

  • 每个位置上为 \(1\) 的数(除了根)必须要向上移动。

因此原问题中的移动次数 \(n - 1\) 其实是这个移动问题最优情况的答案下界,考虑何时满足这种情况:

  • 根节点上数字为 \(1\)。
  • 若一个节点上为 \(1\) 那么它的 \(2\) 级祖先必有至少一个节点上为 \(1\)。

考虑 \(\rm dp\),令 \(f_i, g_i\) 分别表示 \(i\) 个点,根节点填的数字为 \(0/1\) 的合法方案,枚举左右子树大小转移:

\[f_i = \sum\limits_{j < i} (f_j + g_j) \times (f_{i - j - 1} + g_{i - j - 1})
\]
\[g_i = \sum\limits_{j \le i} f_j \times f_{i - j}
\]

边界我们考虑人为构造成 \(f_0 = 1, g_0 = 0\)。

注意到转移是卷积的形式,于是我们构造两个关于 \(f, g\) 的 \(\mathrm{OGF}:F(x), G(x)\),于是有:

\[\begin{aligned}
& \ \ \ \ \ \ \ \ \ F(x) = x(F(x) + G(x)) ^ 2 + 1, G(x) = F ^ 2(x) - 1 \\
&\Longleftrightarrow F(x) = x(F ^ 2(x) + F(x) - 1) ^ 2 + 1
\end{aligned}
\]

将两边展开后为四次方程,很难求根展开,考虑换一个方式求解通项公式。

注意到 \(x\) 出现仅出现一次且为一次式,不妨借助拉格朗日反演,考虑如此构造求出 \(F(x)\) 的复合逆 \(G(x)\):

\[\begin{aligned}
& \ \ \ \ \ \ \ \ G(F(x)) = x = \frac{F(x) - 1}{(F ^ 2(x) + F(x) - 1) ^ 2} \\
&\Longleftrightarrow G(x) = \frac{x - 1}{(x ^ 2 + x - 1) ^ 2}
\end{aligned}
\]

应用拉格朗日反演公式,有:

\[\begin{aligned}
[x ^ n]F(x) &= \frac{1}{n}[x ^ {n - 1}]\left(\frac{x}{G(x)}\right) ^ n \\
&= \frac{1}{n}[x ^ {n - 1}]\left(\frac{x(x ^ 2 + x - 1) ^ 2}{x - 1}\right) ^ n
\end{aligned}
\]

注意到后半部分分母部分不好处理,发现问题来源在于 \(G(x)\) 分子为 \(x - 1\) 与 \(\frac{x}{G(x)}\) 没有抵消,于是考虑换元:

\[H(x) = F(x) - 1 = x((H(x) + 1) ^ 2 + H(x)) ^ 2
\]

可以用同样的方法构造出 \(H(x)\) 的复合逆 \(G(x) = \frac{x}{((x + 1) ^ 2 + x) ^ 2} = \frac{x}{(x ^ 2 + 3x + 1) ^ 2}\),此时应用拉格朗日反演公式:

\[\begin{aligned}
[x ^ n]F(x) &= \frac{1}{n}[x ^ {n - 1}]\left(\frac{x}{G(x)}\right) ^ n \\
&= \frac{1}{n}[x ^ {n - 1}]\left(x ^ 2 + 3x + 1\right) ^ {2n} \\
&= \frac{1}{n} \sum\limits_i ^ {\lfloor \frac{n - 1}{2} \rfloor} \dbinom{2n}{i ~~~ n - 2i - 1 ~~~ n + i + 1}3 ^ {n - 2i - 1}\\
\end{aligned}
\]

直接计算即可,复杂度 \(\mathcal{O}(n)\)。

ABC222 部分简要题解的更多相关文章

  1. Noip 2014酱油记+简要题解

    好吧,day2T1把d默认为1也是醉了,现在只能期待数据弱然后怒卡一等线吧QAQ Day0 第一次下午出发啊真是不错,才2小时左右就到了233,在车上把sao和fate补掉就到了= = 然后到宾馆之后 ...

  2. Tsinghua 2018 DSA PA2简要题解

    反正没时间写,先把简要题解(嘴巴A题)都给他写了记录一下. upd:任务倒是完成了,我也自闭了. CST2018 2-1 Meteorites: 乘法版的石子合并,堆 + 高精度. 写起来有点烦貌似. ...

  3. Codeforces 863 简要题解

    文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 简要题解?因为最后一题太毒不想写了所以其实是部分题解... A题 传送门 题意简述:给你一个数,问你能不能通过加前导000使其成为一个回文数 ...

  4. HNOI2018简要题解

    HNOI2018简要题解 D1T1 寻宝游戏 题意 某大学每年都会有一次 Mystery Hunt 的活动,玩家需要根据设置的线索解谜,找到宝藏的位置,前一年获胜的队伍可以获得这一年出题的机会. 作为 ...

  5. JXOI2018简要题解

    JXOI2018简要题解 T1 排序问题 题意 九条可怜是一个热爱思考的女孩子. 九条可怜最近正在研究各种排序的性质,她发现了一种很有趣的排序方法: Gobo sort ! Gobo sort 的算法 ...

  6. BJOI2018简要题解

    BJOI2018简要题解 D1T1 二进制 题意 pupil 发现对于一个十进制数,无论怎么将其的数字重新排列,均不影响其是不是 \(3\) 的倍数.他想研究对于二进制,是否也有类似的性质. 于是他生 ...

  7. CQOI2018简要题解

    CQOI2018简要题解 D1T1 破解 D-H 协议 题意 Diffie-Hellman 密钥交换协议是一种简单有效的密钥交换方法.它可以让通讯双方在没有事先约定密钥(密码)的情况下,通过不安全的信 ...

  8. AtCoder ExaWizards 2019 简要题解

    AtCoder ExaWizards 2019 简要题解 Tags:题解 link:https://atcoder.jp/contests/exawizards2019 很水的一场ARC啊,随随便便就 ...

  9. Comet OJ - Contest #2 简要题解

    Comet OJ - Contest #2 简要题解 cometoj A 模拟,复杂度是对数级的. code B 易知\(p\in[l,r]\),且最终的利润关于\(p\)的表达式为\(\frac{( ...

随机推荐

  1. HDU 4790:Just Random(容斥)

    Just Random Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...

  2. git导出历史日志

    1.1.在项目根目录下执行命令,导出 git 提交记录到桌面 进入项目目录:然后右击选择git bash here     然后在git中执行命令:git log --pretty=format:&q ...

  3. <数据结构>由SearchTree的遍历序列确定树

    目录 XDOJ315. 拓展先序遍历-->二叉树 问题与解答 题后反思:数组树的不足 XDOJ318.先序+中序-->二叉树 问题与解答 题后反思:左右子树赋零 XDOJ320.层序+中序 ...

  4. HTML网页设计基础笔记 • 【第1章 HTML5基础】

    全部章节   >>>> 本章目录 1.1 HTML介绍及开发工具 1.1.1 HTML 的基本概念 1.1.2 网页 1.1.3 Web 标准 1.1.4 HTML5 与移动互 ...

  5. (五)React Ant Design Pro + .Net5 WebApi:后端环境搭建-Autofac注入+ 泛型仓储

    一. 简介 Autofac与.Net Core自带DI的区别,大佬级的文章数不胜数.我只是根据实际应用简单介绍(非常简单的那种) 1.批量注入,自带DI需要自己写循环反射注入,Autofac现成方法, ...

  6. Drools集成SpringBootStarter

    1.说明 基于fast-drools-spring-boot-starter, 能够方便的将规则引擎Drools集成到Spring Boot, 基于前面介绍过的文章Drools集成SpringBoot ...

  7. centos6.5搭建Apache-虚拟主机

    一.配置基于域名的虚拟用户 1.创建虚拟用户的网页根目录 cd /usr/local/httpd/htdocs/ mkdir benetcom cd benetcom echo "<h ...

  8. Flask_Jinja2模板(九)

    在前面的示例中,视图函数的主要作用是生成请求的响应,这是最简单的请求.实际上,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本. ...

  9. 第10组 Beta冲刺 (1/5)

    1.1基本情况 ·队名:今晚不睡觉 ·组长博客:https://www.cnblogs.com/cpandbb/p/14012521.html ·作业博客:https://edu.cnblogs.co ...

  10. Echart可视化学习(六)

    文档的源代码地址,需要的下载就可以了(访问密码:7567) https://url56.ctfile.com/f/34653256-527823386-04154f 柱状图定制 官网找到类似实例, 适 ...