bzoj 4480: [Jsoi2013]蹇箰鐨刯yy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj 4480: [Jsoi2013]蹇箰鐨刯yy相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/%e5%ad%97%e7%ac%a6' title='瀛楃'>瀛楃   space   main   ace   char   寰堝   lin   c++   mes   

Description

銆愭晠浜嬭儗鏅€?br /> JYY鍦↗SOI鏈夊緢澶氬緢澶氱殑濂芥湅鍙嬶紝姣斿PUPPY锛孠FC杩樻湁PUPPUP銆傚洜涓?br /> 鏈変簡杩欎箞澶氱殑濂芥湅鍙嬶紝鎵€浠YY姣忓ぉ閮藉緢蹇箰銆傛煇澶╋紝JYY鍙戠幇濂芥湅鍙嬩箣闂村叧
绯荤殑濂藉潖鍜屽悕瀛楁湁寰堝ぇ鐨勫叧绯伙紝姣斿PUPPY鍜孭UPPUP鐨勫叧绯诲氨鐗瑰埆濂斤紝浣嗘槸
鍜孠FC鐨勫叧绯诲氨寰堜竴鑸€侸YY鑻︽€濆啣鎯崇粓浜庡彂鐜颁簡鍏朵腑鐨勮寰嬶紝鐜板湪JYY鎯崇煡
閬撲袱涓湅鍙嬩箣闂村叧绯荤殑濂藉潖锛屼綘鑳藉府鍔㎎YY涔堬紵
銆愰棶棰樻弿杩般€?br /> 缁欏畾涓や釜瀛楃涓睞鍜孊锛岃〃绀篔YY鐨勪袱涓湅鍙嬬殑鍚嶅瓧銆傛垜浠敤A(i,j)琛ㄧずA
瀛楃涓蹭腑浠庣i涓瓧姣嶅埌绗琷涓瓧姣嶆墍缁勬垚鐨勫瓙涓层€傚悓鏍风殑锛屾垜浠篃鍙互瀹氫箟B(x,y)銆?br /> JYY鍙戠幇涓や釜鏈嬪弸鍏崇郴鐨勭揣瀵嗙▼搴︼紝绛変簬鍚屾椂婊¤冻濡備笅鏉′欢鐨勫洓鍏冪粍(i,j,x,y)
鐨勪釜鏁帮細
1:1<=i<=j<=|A|
2:1<=x<=y<=|B|
3:A(i,j)=B(x,y)
4:A(i,j)鏄洖鏂囦覆
杩欓噷琛ㄧず瀛楃涓睞鐨勯暱搴︺€?br /> JYY甯屾湜浣犲府鍔╀粬璁$畻鍑鸿繖涓や釜鏈嬪弸涔嬮棿鍏崇郴鐨勭揣瀵嗙▼搴︺€?/p>

Solution

鎶婁袱涓覆鎻掑叆鍒板悓涓€涓洖鏂囪嚜鍔ㄦ満閲岄潰 , 璁板綍姣忎竴涓洖鏂囦覆涓袱涓瓧绗︿覆鍑虹幇鐨勬鏁?(size[0/1]).
鐩镐箻灏辨槸涓€缁勫洖鏂囦覆鐨勮础鐚?, 绛旀灏辨槸 (sum size[i][0]*size[i][1])

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int nxt[N][26],fa[N],len[N],p=0,n,cnt=-1,sz[N][2],T=0;char s[N];
inline int newnode(int x){len[++cnt]=x;return cnt;}
inline void init(){newnode(0),newnode(-1),fa[0]=1;}
inline int fail(int x,int n){
    while(s[n]!=s[n-len[x]-1])x=fa[x];
    return x;
}
inline void ins(int c,int n){
    int x=fail(p,n),t;
    if(!nxt[x][c]){
        t=newnode(len[x]+2);
        fa[t]=nxt[fail(fa[x],n)][c],nxt[x][c]=t;
    }
    p=nxt[x][c],sz[p][T]++;
}
int main(){
  freopen("pp.in","r",stdin);
  freopen("pp.out","w",stdout);
  scanf("%s",s+1),n=strlen(s+1);
  T=0,init();
  for(int i=1;i<=n;i++)ins(s[i]-'A',i);
  scanf("%s",s+1),T=1,n=strlen(s+1),p=0;
  for(int i=1;i<=n;i++)ins(s[i]-'A',i);
  long long ans=0;
  for(int i=cnt;i>=2;i--){
      for(int j=0;j<2;j++)sz[fa[i]][j]+=sz[i][j];
      ans+=1ll*sz[i][0]*sz[i][1];
  }
  cout<<ans;
  return 0;
}

以上是关于bzoj 4480: [Jsoi2013]蹇箰鐨刯yy的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ2013JSOI2008球形空间产生器

bzoj 4464 : [Jsoi2013]旅行时的困惑

JSOI2012~2013

BZOJ5177: [Jsoi2013]贪心的导游

BZOJ 4460 [Jsoi2013]广告计划 ——Bitset 后缀自动机