- 题意:regular number
给你一个字符串,要你输出所有(每位都符合要求的)子串,输入时告诉你每位只能填的数集。
- 思路:
bitsetc[x]存每个数字可以存在的字符串位的二进制集合。(如3可以在字符串第0,3,5出现则为:101001)
bitsetdp第i位表示当前位开始往前i位是否合法。
dp就每次左移再&上c[当前字符],感觉非常地合理
- 代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+5;
const int M=5e6+5;
bitset<N>c[N],dp;
char s[M];
string ans;
int main() {
int n;
scanf("%d",&n);
for(int i=0;i<n;i++) {
int x,cc;
scanf("%d",&cc);
for(int j=1;j<=cc;j++) {
scanf("%d",&x);
c[x][i]=1;
}
}
scanf("%s",s);
for(int i=0,sz=strlen(s);i<sz;i++) {
(dp<<=1)[0]=1;
dp&=c[s[i]-'0'];
if(dp[n-1]) {
for(int j=i-n+1;j<=i;j++) {
ans+=s[j];
}
ans+='\n';
}
}
printf("%s",ans.c_str());
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人