CF競賽題目講解_CF434C(AC自動機 + 整數(shù)字符串遍歷)
AC 代碼
https://codeforces.com/contest/434/submission/178455531
題意:
食堂里的每一塊豆腐都有一個 m進(jìn)制的數(shù)字,所有數(shù)字都在范圍[l,?r] (l和r是 m進(jìn)制的數(shù)),
并且對于范圍[l,?r] ,有一塊豆腐有這個號碼。
為了判斷什么豆腐是麻婆豆腐,Tachibana Kanade選擇了n個 m進(jìn)制的數(shù)字字符串,并為每個字符串指定了一個值。
如果一個字符串出現(xiàn)在豆腐的編號中,則該字符串的值將被添加到該豆腐的值中。
如果字符串出現(xiàn)多次,則該值也會被添加多次。最初,每個豆腐的價值都是零。
Tachibana Kanade認(rèn)為價值不超過k的豆腐是麻婆豆腐。
所以現(xiàn)在Tachibana Kanade想知道,麻婆豆腐有多少塊?
第一行包含三個整數(shù)n、m和k(1?≤?n?≤?200; 2?≤?m?≤?20; 1?≤?k?≤?500).
其中n表示字符串的數(shù)量,m表示所用的基數(shù),k表示麻婆豆腐的值限制。
第二行表示數(shù)字l。行中的第一個整數(shù)是len(1?≤?len?≤?200),描述l的長度(m進(jìn)制時的位數(shù))。
然后跟隨len個整數(shù)a_1,?a_2,?...,?a_len(0?≤?a_i?<?m;a_1 ?>?0),用空格分隔,
表示l的數(shù)字,其中a_1是最高數(shù)字,a_len是最低數(shù)字。
第三行表示與l格式相同的數(shù)字r, 1?≤?l?≤?r
第i行包含第i個數(shù)字字符串,vi-第i個字符串的值(1?≤?vi?≤?200).
題解:
AC自動機 + 整數(shù)字符串遍歷
遍歷在范圍[l,?r] (l和r是 m進(jìn)制的數(shù))內(nèi)的m進(jìn)制整數(shù)。
作為字符串是否包含AC自動機中的整數(shù)字符串。