-
Bio
#include<bits/stdc++.h> using namespace std; typedef unsigned long long ul; int n,ans; char a[1010],b[1010],c[1010]; ul ha[1010],hb[1010],hc[1010]; ul da[1010],db[1010],dc[1010]; ul hp[1010],h=1e9+7; void get_hs(char s[],ul hs[],ul ds[]){ for(int i=1;i<=n;i++){ hs[i]=hs[i-1]+hp[i]*s[i]; } for(int i=n;i>=1;i--){ ds[i]=ds[i+1]+hp[n-i]*s[i]; } } void rep_b(){ // part 1 (a b_right) int pcnt[1010]={},psum=0; unordered_map<ul,int> m; for(int j=n;j>=1;j--){ for(int i=n+1;i>j;i--){ m[(dc[j]-dc[i])*hp[j]]++; } } for(int i=1;i<=n;i++){ for(int j=0;j<i;j++){ pcnt[i]+=m[(ha[i]-ha[j])*hp[n-i]]; } psum+=pcnt[i]; } unordered_map<ul,int> mt; int de[1010]={}; for(int i=1;i<=n;i++){// a pos for(int j=i+1;j<=n;j++){ mt[(ha[j]-ha[i])*hp[n-j]]+=pcnt[i]; } } for(int i=n;i>=1;i--){ for(int j=n+1;j>i;j--){ de[i]+=mt[(db[i]-db[j])*hp[i]]; } } for(int i=1;i<=n;i++){ for(int j=0;j<=n;j++){ int l=i-j,r=i+j; if(1<=l&&r<=n&&((hb[i+j]-hb[i-1])*hp[n-i-j]==(db[i-j]-db[i+1])*hp[i-j])){ ans+=de[i+j+1]+psum; } else{ break; } } } for(int i=1;i<=n;i++){// part 2: (a b_left) de[i]=0; for(int j=0;j<i;j++){ de[i]+=mt[(hb[i]-hb[j])*hp[n-i]]; } } for(int i=1;i<=n;i++){ for(int j=0;j<=n;j++){ int l=i-j,r=i+j; if(1<=l&&r<=n&&((hb[i+j]-hb[i-1])*hp[n-i-j]==(db[i-j]-db[i+1])*hp[i-j])){ ans+=de[i-j-1]; } else{ break; } } } } void sol(){ cin>>(a+1); cin>>(b+1); cin>>(c+1); n=strlen(a+1); get_hs(a,ha,da); get_hs(b,hb,db); get_hs(c,hc,dc); rep_b(); } signed main(){ // freopen("pali.in","r",stdin); // freopen("pali.out","w",stdout); ios::sync_with_stdio(0); hp[0]=1; for(int i=1;i<=1005;i++){ hp[i]=hp[i-1]*h; } int ct; cin>>ct; while(ct--){ sol(); } } -
Recent Activities
- NOIP模拟赛1 OI
- 初一B 质数 Assignment
- NOIP模拟赛 OI
- NOIP模拟赛 OI
- 国庆提高/省选组比赛 IOI
- 模拟赛一 IOI
- 2025科技节水题过家家 IOI
- 20241203集训 IOI(Strict)
- 20241119集训 IOI(Strict)
- 赛前冲刺安排 IOI
- 20241112集训 IOI(Strict)
- 20241029集训 IOI(Strict)
- CSP难度的题目 IOI
- 国庆提高组30题(1~3号) IOI
- 20240924集训 IOI(Strict)
- 周五分享 IOI
- 保送生第九周 Kruskal重构树 Assignment
- 保送生第七周 启发式合并 Assignment
- 保送生第六周 wqs二分 Assignment
- 20240910集训 IOI(Strict)
- 保送生第五周 李超线段树 Assignment
- 保送生第四周 点分治 Assignment
- 保送生第三周 CDQ分治 Assignment
- 保送生第二周 高维前缀和 FWT Assignment
- 保送生第一周 矩阵快速幂 Assignment
- 训练 IOI
- CSP-J训练赛(一) IOI(Strict)
- [订正]多校2024第3场 第4场 Assignment
- [订正]多校2024第1场 第2场 Assignment
- 暑假集训第二阶段 ACM/ICPC
- 2023-2024第二学期初二信息竞赛组期末考 IOI
- 2023-2024下信息提高组选修课期末考 IOI
- 20240611集训 IOI
- 20240604集训 IOI
- 20240528集训 IOI
- 2024水题过家家 IOI
- 20240521集训 IOI
- 2023-2023下学期初二竞赛组期中考 OI
- 20240507集训_ IOI
- 20240409集训 IOI
- 初一竞赛组作业——区间DP Assignment
- The 2nd Yuzusoft Cup Stage 3: Gensokyo IOI
- 20240319集训 IOI
- The 2nd Yuzusoft Cup Stage 2: Zhanjiang IOI
- The 2nd Yuzusoft Cup Stage 1: Shantou IOI
- 20240312集训 IOI
- 初一竞赛组作业——背包DP Assignment
- 20240305集训 IOI
- 初一竞赛组作业——DP基础 Assignment
- 20240123 前缀和、差分、离散化难题 Ledo
- 20240120字符串专题模板 IOI
- 20240119反悔贪心选讲 IOI
- 20240118期望的线性选讲 ACM/ICPC
- 20240116杂题选讲 IOI
- 寒假集训1 Assignment
- 20240102集训 IOI
- 2023上学期初二竞赛组期末考 OI
- 2023-2024第一学期选修课期末考 OI
- 20231212集训 IOI
- 省选模拟赛(一) OI
- 初一竞赛组——贪心 Assignment
- NOIP 题目选讲(二) IOI
- 省选组-计数 Assignment
- 初二竞赛组作业——主席树 Assignment
- HFI Coding Club 2023 November Contest IOI
- NOIP 倒计时 IOI
- 20231114集训 OI
- 初二竞赛组作业——线段树合并 Assignment
- 20231107集训 OI
- NOIP 模拟赛(三) OI
- 2023上学期初二竞赛组期中考 OI
- 20231017集训 OI
- CSP-J 前两题真题汇总 Ledo
- 数据结构一 by YJL ACM/ICPC
- 20231010集训 OI
- 乐多训练赛 Ledo
- 虚假的比赛 IOI
- 国庆集训S组模拟赛3 OI
- 国庆集训S组模拟赛2 OI
- 国庆集训S组模拟赛1 OI
- 国庆集训模拟赛(普及) OI
- 初一2班从0开始学C++ Assignment
- 初二信息竞赛组——斜率优化 Assignment
- 9月19日周二晚上集训赛 IOI
- 初二竞赛组作业——DP复习 Assignment
- S组初赛模拟题 OI
- 提高A组-题目分享 Assignment
- 单调队列优化DP Assignment
- 信息选修课(普及/提高)期末考 IOI
- 水题过家家 IOI
- 状压DP堂练 Assignment
- 20230511练习 Assignment
- DP堂练20230424 Assignment
- 初一期中考 IOI
- 初一竞赛组DP堂上复习题 Assignment
- 初一竞赛组状压DP堂上练习 Assignment
- 初一竞赛组排序+DP堂上练习 Assignment
- 初一信息竞赛组kmp堂上练习 Assignment
- 初中信息竞赛组AC自动机 Assignment
- 初一下第五周作业: 二分 Assignment
- 初中竞赛组树形DP2 Assignment
- 初中信息竞赛组-Trie Assignment
- 初中竞赛组树形DP1 Assignment
- 初一下第三周作业: 函数 Assignment
- 省选模拟赛1 OI
- 编程题可看成绩 IOI
- 22年秋季 初一竞赛组期末考 OI
- 22年秋季 初一上期末考 OI
- 初一竞赛组数位DP Assignment
- 初一竞赛组作业——DP经典题 Assignment
- 初一年级数组3 Assignment
- NOIP模拟赛1 OI
- 初一竞赛组区间DP Assignment
- 初中选修课期中考 IOI
- 上学期竞赛组期中考试(初一) IOI
- 初一上学期期中考试机试(1班2班) IOI
- 初一上学期期中考试笔试(1班2班) OI
- 初一年级循环语句2 Assignment
- 初一竞赛班背包DP作业 Assignment
- 初一竞赛班动态规划作业2 Assignment
- 初一年级if语句 Assignment
- 省选模拟1 OI
- 周四提高比赛3 IOI
- 初一竞赛班作业 Assignment
- 初一2班课堂作业 Assignment
- 周四提高比赛1 IOI
- 初一1,3班第3~4周作业 Assignment