设为首页 加入收藏

TOP

Codeforces Round #207 (Div. 1) B. Xenia and Hamming
2015-11-21 01:03:47 来源: 作者: 【 】 浏览:1
Tags:Codeforces Round #207 Div. Xenia and Hamming

?

Solution

设lena为a串长度,lenb为b串长度,gcd,lcm,为lena和lenb的gcd,lcm… 你会发现一个同余关系,首先,lcm长度一次循环,在一次lcm长度内,a的每个字符,与b的每个同余位置的字符触碰且只触碰一次,然后就好办了。把答案求出来,再与lcm搞一搞。。

My code

//Hello. I'm Peter.
#include
   
     #include
    
      #include
     
       #include
      
        #include
       
         #include
        
          #include
         
           #include
          
            #include
           
             #include
            
              #include
             
               #include
              
                #include
               
                 #include
                
                  #include
                 
                   #include
                   using namespace std; typedef long long ll; typedef long double ld; typedef unsigned long long ull; #define peter cout< b; i--) #define repin(i, a, b) for (int i = a; i <= b; i++) #define depin(i, a, b) for (int i = a; i >= b; i--) #define pi 3.1415926535898 #define eps 1e-6 #define MOD 1000000007 #define MAXN 1000010 #define N #define M ll n,m,lena,lenb,d,l,sum; char a[MAXN],b[MAXN]; int c[MAXN][26]; int main(){ cin>>n>>m; scanf(%s%s,a,b); lena=len(a),lenb=len(b); d=__gcd(lena,lenb); l=lena/d*lenb; int t=0; rep(i,0,lena){ c[t++][a[i]-'a']+=1; if(t==d) t=0; } t=0; sum=l; rep(i,0,lenb){ sum-=c[t++][b[i]-'a']; if(t==d) t=0; } sum=(n*lena/l)*sum; cout<
                    
                 
                
               
              
             
            
           
          
         
        
       
      
     
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇UVA - 11029 - Leading and Trail.. 下一篇Uva 11181 Probability|Given(概..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: