Warning: session_start(): open(/tmp/sess_8f5fb153c672b9b54d54629b978e462e, 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
Writing /data/wiki/data/cache/d/de2edb2fcb553ea79b79c722a4e13dbc.captchaip failed
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
===== C =====
水题一道
===== D =====
水题一道
这种关于三个数求最小值,可以要先考虑中间那个。
例如本题,枚举中间那一个,然后在另外两个分别找前驱和后继即可。
===== E =====
一般题,想得有点久了。
显然串S不断的填在T中出现的是连续的一段,那我们不妨把T看作一个长度与S相同的串,第m+1到第n位是通配符。
区间的肯定就考虑区间dp,dp[i][j]表示第i位到第j位都匹配好了的方案数,
那么我们就有了dp[i][i]=(i>m || S[1]==T[i])的初始化,
枚举len,
每次往原区间的左边或者右边加一个,如果能匹配上,加上这个dp值即可。
最后答案是$\sum_{i=m}^{n} dp[1][i]$