J - Prime Game锛堟暟璁哄垎瑙h川鍥犲瓙)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了J - Prime Game锛堟暟璁哄垎瑙h川鍥犲瓙)相关的知识,希望对你有一定的参考价值。

鏍囩锛?a href='http://www.mamicode.com/so/1/bsp' title='bsp'>bsp   浜х敓   闀垮害   mes   cout   浣嶇疆   span   ack   杩欎竴   

棰樻剰灏辨槸绠楀瓙鍖洪棿鍐呯殑涓嶅悓璐ㄥ洜瀛愮殑涓暟

棰樼洰澶ф剰锛?/strong>鏈変竴涓暱搴︿负n鐨勫簭鍒梐锛屽畾涔塵ul(l, r)涓哄尯闂碵l, r]涓璦[i]鐨勪箻绉紝

fac(l, r)涓簃ul(l, r)涓嶅悓绱犳暟鍥犲瓙鐨勪釜鏁般€傛眰鎵€鏈夊尯闂磃ac鐨勫拰銆?/strong>

鍜岃繖涓鏈夌偣绫讳技

缁欏畾涓€涓暱搴︿负n鐨勫簭鍒楋紝鐒跺悗姹傚嚭姣忎竴涓瓙鍖洪棿涓嶅悓鏁扮殑涓暟鍜屻€傝€岃繖涓€閬撻灏辨槸缁勫悎璁℃暟锛岃绠楁瘡涓€涓綅缃笂鐨勫€煎鏈€鍚庡尯闂磋鏁版墍浜х敓鐨勮础鐚€?/span>

鑰岃繖閬撻绫讳技锛岀暐寰慨鏀瑰嵆鏄瘡涓€涓綅缃笂涓嶅彧涓€涓€硷紙鍒嗚В鍙兘寰楀埌澶氫釜璐ㄥ洜瀛愶級锛屾墍浠ュ氨鐢╲ector鏉ュ瓨鏀俱€?/span>

鎵€浠ヤ粬鐨勮础鐚氨鏄?/span>

鎶€鏈浘鐗? src=

 

 

 

鎶€鏈浘鐗? src=

 

 

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef long long ll;
const int maxn=1e6+100;
vector<int>v[maxn];
int prime[maxn];
bool biaoji[maxn];
int a[maxn]; 
int cnt=0;
void get(){
    for(int i=2;i<maxn;i++){
        if(!biaoji[i]) prime[++cnt]=i;
        for(int j=1;j<=cnt&&i*prime[j]<maxn;j++){
            biaoji[i*prime[j]]=1;
            if(i%prime[j]==0){
                break;
            }
        }
    } 
}
void di(int x){
    int t=a[x];
    for(int j=1;j<=cnt&&prime[j]*prime[j]<=t;j++){
        if(t%prime[j]==0){
            v[prime[j]].push_back(x);
            while(t%prime[j]==0){
                t/=prime[j];
            }
        }
    }
    if(t!=1){
        v[t].push_back(x);
    } 
} 
int main(){
    get();
    int n;
    cin>>n;
    for(int i=2;i<=maxn;i++){
        v[i].push_back(0);
    }
    for(int i=1;i<=n;i++){
        cin>>a[i];
        di(i);
    } 
    ll ans=0;
    for(int i=1;i<=cnt;i++){
        for(int j=1;j<v[prime[i]].size();j++){
            ans=ans+1ll*(v[prime[i]][j]-v[prime[i]][j-1])*1ll*(n-v[prime[i]][j]+1); 
        } 
    }
    cout<<ans<<endl;
} 

 

以上是关于J - Prime Game锛堟暟璁哄垎瑙h川鍥犲瓙)的主要内容,如果未能解决你的问题,请参考以下文章

Reverses CodeForces - 906E 锛堟渶灏忓洖鏂囧垎瑙o級

锛堟暟鎹瀛﹀涔犳墜鏈?1锛塩onda+jupyter鐜╄浆鏁版嵁绉戝鐜鎼缓

Java浠庡皬鐧藉埌鍏ラ棬锛孌ay4锛堟暟缁勶級

[Gym-101981J] Prime Game (组合计数)

2018南京icpc-J-Prime Game (欧拉筛+唯一分解定理)

2018-2019 ACM-ICPC, Asia Nanjing Regional Contest(J Prime Game)