| 题目名称 | 4299. 学姐的下午茶 |
|---|---|
| 输入输出 | lowtea.in/out |
| 难度等级 | ★★☆ |
| 时间限制 | 2000 ms (2 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 查看题解 | 分享题解 |
| 通过:12, 提交:30, 通过率:40% | ||||
|
|
100 | 0.988 s | 11.83 MiB | C++ |
|
|
100 | 1.006 s | 3.78 MiB | C++ |
|
|
100 | 1.819 s | 19.72 MiB | C++ |
|
|
100 | 2.005 s | 17.96 MiB | C++ |
|
|
100 | 2.032 s | 17.94 MiB | C++ |
|
|
100 | 2.109 s | 17.93 MiB | C++ |
|
|
100 | 3.228 s | 8.65 MiB | C++ |
|
|
100 | 3.449 s | 8.65 MiB | C++ |
|
|
100 | 4.114 s | 6.08 MiB | C++ |
|
|
100 | 5.146 s | 3.69 MiB | C++ |
| 本题关联比赛 | |||
| 期末考试0 | |||
| 关于 学姐的下午茶 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
非常好的题,但是为什么我按照100分思路写的代码正好得了五十分
2026-02-07 16:43
1楼
| ||||
Mami 的下午茶来了很多新客人,她决定做一些甜点招待客人们。
具体的,Mami 准备了 $n$ 到新甜点,每个甜点的制作过程可以用 $01$ 字符串 $s_i$ 来表示。
Mami 喜欢在下厨前就记住所有菜品的制作过程,但是 Mami 并不喜欢记很多东西,所以她打算把这 $n$ 个 $s_i$ 插入到一颗字典树中。记 $cnt$ 为这个字典树中的节点数,她可以花费 $cnt$ 分钟来记住这个字典树来记住所有的甜点。
但是贪玩的贝贝不小心把咖啡打翻在菜谱上,导致这 $n$ 个字符串中有一些字符变成了 $?$。这些 $?$ 都有可能是 $1$ 或者 $0$。Mami 很头疼,她希望你告诉她所有可能的 $2^k$($k$ 为 $?$ 的个数)种情况下的最终字典树的节点数之和
答案对 $10^9+7$ 取模。
在本题中,将一个 $01$ 串插入到一个字典树定义为:
1. 初始时,当前节点为根。
2. 从前往后遍历这个 $01$ 串的所有字符。
3. 如果当前节点没有与此 $01$ 字符对应的儿子,那么新建一个节点作为对应的儿子。
4. 然后将当前节点修改为对应的儿子。
例如:将 $000,010$ 插入到一个仅有根节点的字典树后,这个字典树的节点数为 6。
第一行一个整数 $n$。
接下来 $n$ 行,每行一个只包含 $0,1,?$ 的字符串。
一行一个整数,表示答案
5 00110 01101 10011 11101 11111
21
3 ? 0? ?1?
88

特殊性质:$s_i$ 中不含 $?$。
对于所有数据,满足 $n\le 20,|s_i|\le 100$。
大样例,所有大样例均无特殊性质。
HihoCoder - 1646。