首页 > 其他分享 >35. CF-Kaavi and Magic Spell

35. CF-Kaavi and Magic Spell

时间:2023-03-08 23:22:07浏览次数:52  
标签:Magic int ll Spell len Kaavi maxn dp mod

链接

这个区间dp的状态设计很巧妙。dp[i][j] 表示用 \(s\) 的长度为 \(j-i+1\) 的前缀组成 \([t_i\cdots t_j]\) 的子串方案数。

然后转移就是普通的区间dp的转移了。

初始化的时候根据题意,第一个放进去的也是算两种方法的,所以都初始化为 \(2\)。

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int maxn = 3e3 + 5;
const ll mod = 998244353;
ll dp[maxn][maxn];
void solve() {
    string s, t;
    cin >> s >> t;
    int m = s.length(), n = t.length();
    for (int i = 0; i < n; ++i)
        dp[i][i] = 2 * (s[0] == t[i]);
    for (int i = n; i < m; ++i) dp[i][i] = 2;
    for (int len = 2; len <= m; ++len) {
        for (int i = 0; i <= m - len; ++i) {
            int j = i + len - 1;
            if (i >= n || t[i] == s[len - 1])
                (dp[i][j] += dp[i + 1][j]) %= mod;
            if (j >= n || t[j] == s[len - 1])
                (dp[i][j] += dp[i][j - 1]) %= mod;
        }
    }
    ll ans = 0;
    for (int i = n - 1; i < m; ++i)
        (ans += dp[0][i]) %= mod;
    cout << ans << endl;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T = 1;
    // cin >> T;
    while (T--) {
        solve();
    }
}

标签:Magic,int,ll,Spell,len,Kaavi,maxn,dp,mod
From: https://www.cnblogs.com/theophania/p/p35.html

相关文章

  • 1774F1 - Magician and Pigs (Easy Version)
    1774F1-MagicianandPigs(EasyVersion)思路1)3操作其实就是,把原有的猪都减去一个总的sum,然后加上原来自己的值,之后sum会翻倍。也就是sum太大之后,就不变了,因为减去......
  • 基于SpringBoot WebMagic爬虫爬取大乐透双色球
    大乐透网页地址:https://kjh.55128.cn/dlt-history-360.htm双色球网页地址:https://kjh.55128.cn/ssq-history-120.htm 注:程序仅用于个人兴趣爱好,不得用于商业行为,本......
  • WebMagic
    原文链接:CSDN@qq_44885775#WebMagicWebMagic官网:Introduction·WebMagicDocumentsGitHub-WebMagicIntroduction·WebMagicDocuments4.7配置代理·WebMagi......
  • PAT 甲级 1005 Spell It Right(20)
    Givenanon-negativeinteger N,yourtaskistocomputethesumofallthedigitsof N,andoutputeverydigitofthesuminEnglish.InputSpecification:Ea......
  • bugku_MagicImageViewer
    CTF安卓逆向MagicImageViewer——png结构+算法很少做安卓逆向的题目,在此记录一下先用模拟器看一下嗯,没啥提示。jeb打开关键部分if(s.length()==16)//输入的字......
  • Magic Powder - 1 题解
    更好的阅读体验1.题意题目大意就是一块曲奇饼干需要\(n\)种食材,第\(i\)种需要\(a_i\)克,而你手中有这种食材\(b_i\)克,还有另外\(k\)克食材每一克可以代替任何......
  • Magic Powder - 2 题解
    更好的阅读体验1.题意题目大意就是一块曲奇饼干需要\(n\)种食材,第\(i\)种需要\(a_i\)克,而你手中有这种食材\(b_i\)克,还有另外\(k\)克食材每一克可以代替任何......
  • php8.2.1编译fileinfo扩展时提示 make: *** [libmagic/softmagic.lo] Error 1
     安装:cd/opt/php-8.2.1/ext/fileinfo/usr/local/php82/bin/phpize./configure--with-php-config=/usr/local/php82/bin/php-config#make&&makeinstall错误如......
  • 华为 荣耀MagicBook 2020 电脑 Hackintosh 黑苹果efi引导文件
    原文来源于黑果魏叔官网,转载需注明出处。资源下载请搜索:黑果魏叔硬件型号驱动情况主板华为荣耀MagicBook2020处理器英特尔酷睿i5-10210U已驱动内存16GBLPDDR32133MHZ......
  • 2019南昌网络赛 E. Magic Master (模拟) The 2019 Asia Nanchang First Round Online P
     Johnisnotonlyamagicmasterbutalsoashufflingmaster.  Famousthoughheis,helikesinteractingwithhisfansbyplayingagamewithhisfantasti......