A6344 | 「NOI2015」品酒大会
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
一年一度的「幻影阁夏日品酒大会」隆重开幕了。大会包含品尝和趣味挑战两个环节,分别向优胜者颁发「首席品酒家」和「首席猎手」两个奖项,吸引了众多品酒师参加。
在大会的晚餐上,调酒师 Rainbow 调制了 $n$ 杯鸡尾酒。这 $n$ 杯鸡尾酒排成一行,其中第 $i$ 杯酒 ($1 \leq i \leq n$) 被贴上了一个标签 $s_i$,每个标签都是 $26$ 个小写英文字母之一。设 $\mathrm{Str}(l, r)$ 表示第 $l$ 杯酒到第 $r$ 杯酒的 $r − l + 1$ 个标签顺次连接构成的字符串。若 $\mathrm{Str}(p, p_0) = \mathrm{Str}(q, q_0)$,其中 $1 \leq p \leq p_0 \leq n$,$1 \leq q \leq q_0 \leq n$,$p \neq q$,$p_0 − p + 1 = q_0 − q + 1 = r$,则称第 $p$ 杯酒与第 $q$ 杯酒是「$r$ 相似」的。当然两杯「$r$ 相似」($r > 1$)的酒同时也是「$1$ 相似」、「$2$ 相似」、$\dots$、「$(r − 1)$ 相似」的。特别地,对于任意的 $1 \leq p, q \leq n$,$p \neq q$,第 $p$ 杯酒和第 $q$ 杯酒都是「$0$ 相似」的。
在品尝环节上,品酒师 Freda 轻松地评定了每一杯酒的美味度,凭借其专业的水准和经验成功夺取了「首席品酒家」的称号,其中第 $i$ 杯酒 ($1 \leq i \leq n$) 的美味度为 $a_i$。现在 Rainbow 公布了挑战环节的问题:本次大会调制的鸡尾酒有一个特点,如果把第 $p$ 杯酒与第 $q$ 杯酒调兑在一起,将得到一杯美味度为 $a_p \cdot a_q$ 的酒。现在请各位品酒师分别对于 $r = 0, 1, 2, \dots, n − 1$,统计出有多少种方法可以选出两杯「$r$ 相似」的酒,并回答选择两杯「$r$ 相似」的酒调兑可以得到的美味度的最大值。
在大会的晚餐上,调酒师 Rainbow 调制了 $n$ 杯鸡尾酒。这 $n$ 杯鸡尾酒排成一行,其中第 $i$ 杯酒 ($1 \leq i \leq n$) 被贴上了一个标签 $s_i$,每个标签都是 $26$ 个小写英文字母之一。设 $\mathrm{Str}(l, r)$ 表示第 $l$ 杯酒到第 $r$ 杯酒的 $r − l + 1$ 个标签顺次连接构成的字符串。若 $\mathrm{Str}(p, p_0) = \mathrm{Str}(q, q_0)$,其中 $1 \leq p \leq p_0 \leq n$,$1 \leq q \leq q_0 \leq n$,$p \neq q$,$p_0 − p + 1 = q_0 − q + 1 = r$,则称第 $p$ 杯酒与第 $q$ 杯酒是「$r$ 相似」的。当然两杯「$r$ 相似」($r > 1$)的酒同时也是「$1$ 相似」、「$2$ 相似」、$\dots$、「$(r − 1)$ 相似」的。特别地,对于任意的 $1 \leq p, q \leq n$,$p \neq q$,第 $p$ 杯酒和第 $q$ 杯酒都是「$0$ 相似」的。
在品尝环节上,品酒师 Freda 轻松地评定了每一杯酒的美味度,凭借其专业的水准和经验成功夺取了「首席品酒家」的称号,其中第 $i$ 杯酒 ($1 \leq i \leq n$) 的美味度为 $a_i$。现在 Rainbow 公布了挑战环节的问题:本次大会调制的鸡尾酒有一个特点,如果把第 $p$ 杯酒与第 $q$ 杯酒调兑在一起,将得到一杯美味度为 $a_p \cdot a_q$ 的酒。现在请各位品酒师分别对于 $r = 0, 1, 2, \dots, n − 1$,统计出有多少种方法可以选出两杯「$r$ 相似」的酒,并回答选择两杯「$r$ 相似」的酒调兑可以得到的美味度的最大值。
输入格式
输入文件的第一行包含一个正整数 $n$,表示鸡尾酒的杯数。
第二行包含一个长度为 $n$ 的字符串 $S$,其中第 $i$ 个字符表示第 $i$ 杯酒的标签。
第三行包含 $n$ 个整数,相邻整数之间用单个空格隔开,其中第 $i$ 个整数表示第 $i$ 杯酒的美味度 $a_i$。
第二行包含一个长度为 $n$ 的字符串 $S$,其中第 $i$ 个字符表示第 $i$ 杯酒的标签。
第三行包含 $n$ 个整数,相邻整数之间用单个空格隔开,其中第 $i$ 个整数表示第 $i$ 杯酒的美味度 $a_i$。
输出格式
输出文件包括 $n$ 行。第 $i$ 行输出两个整数,中间用单个空格隔开。第一个整数表示选出两杯「$(i − 1)$ 相似」的酒的方案数,第二个整数表示选出两杯「$(i − 1)$ 相似」的酒调兑可以得到的最大美味度。若不存在两杯「$(i − 1)$ 相似」的酒,这两个数均为 $0$。
输入输出样例
输入 #1
10 ponoiiipoi 2 1 4 7 4 8 3 6 4 7
输出 #1
45 56 10 56 3 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0
输入 #2
12 abaabaabaaba 1 -2 3 -4 5 -6 7 -8 9 -10 11 -12
输出 #2
66 120 34 120 15 55 12 40 9 27 7 16 5 7 3 -4 2 -4 1 -4 0 0 0 0
| Case # | $n$ 的规模 | $a_i$ 的规模 | 备注 |
|:-:|:-:|:-:|:-:|
| 1 | $n = 100$ | $\lvert a_i \rvert \leq 10000$ | - |
| 2 | $n = 200$ | $\lvert a_i \rvert \leq 10000$ | - |
| 3 | $n = 500$ | $\lvert a_i \rvert \leq 10000$ | - |
| 4 | $n = 750$ | $\lvert a_i \rvert \leq 10000$ | - |
| 5 | $n = 1000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 6 | $n = 1000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 7 | $n = 2000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 8 | $n = 2000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 9 | $n = 99991$ | $\lvert a_i \rvert \leq 1000000000$ | 不存在「$10$ 相似」的酒 |
| 10 | $n = 99991$ | $\lvert a_i \rvert \leq 1000000000$ | 不存在「$10$ 相似」的酒 |
| 11 | $n = 100000$ | $\lvert a_i \rvert \leq 1000000$ | 所有 $a_i$ 的值都相等 |
| 12 | $n = 200000$ | $\lvert a_i \rvert \leq 1000000$ | 所有 $a_i$ 的值都相等 |
| 13 | $n = 300000$ | $\lvert a_i \rvert \leq 1000000$ | 所有 $a_i$ 的值都相等 |
| 14 | $n = 300000$ | $\lvert a_i \rvert \leq 1000000$ | 所有 $a_i$ 的值都相等 |
| 15 | $n = 100000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 16 | $n = 100000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 17 | $n = 200000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 18 | $n = 200000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 19 | $n = 300000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
| 20 | $n = 300000$ | $\lvert a_i \rvert \leq 1000000000$ | - |
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?