对字符串s,多次询问,给你两个数L和R,问在字符串区间l到r的字串中,包含多少回文串。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <iostream> #include<queue> #include <cstring> #define IOS std::ios::sync_with_stdio(0) using namespace std; const int N =5003; int vis[N][N],pal[N][N]; int f[N][N]; string s; int n; int test( int a, int b){ if (a>=b) return 1; if (s[a]!=s[b]) return 0; if (vis[a][b]) return pal[a][b]; vis[a][b]=1; return pal[a][b]=test(a+1,b-1); } void solve(){ int i,j,tes; cin>>s>>tes; n=s.size(); s= " " +s; for ( int i=1;i<=n;i++) f[i][i]=1; for ( int i=1;i<=n-1;i++) f[i][i+1]=(s[i]==s[i+1]?3:2); for (i=n-2;i>=1;i--) for (j=i+2;j<=n;j++) f[i][j]=(f[i+1][j]+f[i][j-1]-f[i+1][j-1]+(test(i,j)?1:0)); while (tes--){ int x,y; cin>>x>>y; cout<<f[x][y]<<endl; } } signed main(){ IOS; solve(); } |
分类:
dp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!