首页 > 小红过61
头像 AprL
发表于 2023-06-01 22:47:05
G 小红过61 想到dp,先不考虑题目所给条件,遍历输入的字符串s,i表示遍历到的位置,dp[i]表示遍历到当前位置时合法子串的数目,发现遍历到s[i]时,新的子串有两种选择,1、直接在dp[i - 1]表示的每一个子串后面加上s[i],2、s[i]成为一个独立的子串,即dp[i] = dp[i - 展开全文
头像 chenlan114
发表于 2026-01-13 21:19:13
#include <bits/stdc++.h> using namespace std; using ll = long long; const ll MOD = 1000000007LL; // 题目要求的模数,防止数值溢出 int main() { // 优化输入输出速度 展开全文
头像 Tanphoon
发表于 2023-07-16 18:39:47
设 f[i]f[i]f[i] 表示以 s[i]s[i]s[i] 为结尾的合法序列个数 如果 s[i]≠1s[i]\ne 1s[i]​=1 ,那么我们可以在从 f[i−1]f[i-1]f[i−1] 到 f[1]f[1]f[1] 所包含的序列后面添加 s[i]s[i]s[i] 构成答案,也可以单独以 展开全文

等你来战

查看全部