Warning: session_start(): open(/tmp/sess_cb6475cb4a8072630a1cde4399a947c8, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: mkdir(): No space left on device in /data/wiki/lib/plugins/dw2pdf/vendor/mpdf/mpdf/src/Cache.php on line 19
Temporary files directory "/data/wiki/data/tmp/dwpdf/202/" is not writable

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:hotpot:agc047 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:hotpot:agc047

Atcoder Grand Contest 047

A - Integer Product

题目大意

给出 $n$ 个实数 $A_i$,问有多少两两相乘得到整数

数据范围

$2 \le n \le 200000$

$0 < A_i < 1e4 $

ps: $A_i$ 小数位后最多有9位

解题思路

我们不妨将 $A_i$ 都乘以 $1e9$, 然后对其质因数分解统计 2 和 5 的个数(初始显然是 -9),之后排序扫描一维树状数组统计一维计算答案即可。

B - First Second

题目大意

给出 $n$ 个字符串 $S_i$,给出一种操作方式,即每次第一个和第二个选一个删除,问有多少串能够转换成另外一个串,统计对数。

数据范围

$ 2 \le n \le 2e5$

$ S_i \ne S_j$

$ |S_1+S_2\ldots+S_n| \le 1e6$

ps: 串全由小写字母组成

解题思路

经过分析之后,我们可以发现一些性质,即长串一定由短串组成,且从短串的第二位开始必然是连续的一段,利用这个性质,我们对串从短到长排序之后,每次对字母做一个桶,在trie树上寻找是否有统计过的点并累加答案,之后倒序插入一个trie树中(只插入到第二位,每次对第一位的个数进行统计)。

C -

题目大意

数据范围

解题思路

D -

题目大意

数据范围

解题思路

E -

题目大意

数据范围

解题思路

F -

题目大意

数据范围

解题思路

2020-2021/teams/hotpot/agc047.1597380535.txt.gz · 最后更改: 2020/08/14 12:48 由 lotk