补题若干(5)

[https://atcoder.jp/contests/abc412/tasks/abc412_e](素数筛法+枚举)

题意:

\(A_i\)\(1,2,3..i\)\(lcm\),求\(A_l,A_{l+1}....A_R\)\(L,R \leq 1e14\)) 的不同数个数

思路:

发现当\(A_{i+1}\)\(A_i\) 不同 当且仅当\(A_{i+1}\)为一个素数幂

所以

  1. \([1,1e7]\)的素数\(x\)筛出来

  2. 确定由\(x\)的幂次方构成的数在区间\([L,R]\)的个数

  3. 确定\([L,R]\)区间的素数(一次幂)个数:通过素数筛出

具体的:[\(l/x(上取整) \times x\) ,\(r/x \times\)] 区间每次+\(x\)筛去\(x\)的倍数

const int M=1e7+5;
int vis[M];
int vis2[M];
int vis3[M];
int L,R;
vector<int>p;
void solve(){
    cin>>L>>R;
    L++;
    for(int i=2;i<=1e7;i++){
        if(!vis[i]){
            p.pb(i);
            for(int j=2*i;j<=1e7;j+=i){
                vis[j]=1;
            }
        }
    }

    for(int x:p){
        if(x>R)break;
        int l = (L+x-1)/x*x, r= R/x*x;
        if(l==x)l+=x;
        if(r==x)r-=x;


        for(int i=l;i<=r;i+=x){
            vis2[i-L]=1;
        }

        int k=x*x;
        for(;k<=R;k*=x){
            if(k>=L)vis3[k-L]=1;
        }
    }

    int ans=1;
    for(int i=0;i<=R-L;i++){
        ans+=(!vis2[i] || vis3[i]);
    }
    cout<<ans;
}

[https://www.luogu.com.cn/problem/AT_abc411_e](期望+数学)

题意:

\(N\)个骰子,6个面大小为\(A_i\),全部掷出求最上面的最大值的期望

const int M=1e5+5;
int a[M][11];
int len[M];
struct node{
    int v,cnt,id;
    node(){}
    node(int x,int y,int z){
        v=x;
        cnt=y;
        id=z;
    }
};
void solve(){
    cin>>n;
    vector<node>res;
    rep(i,1,n){

        len[i]=6;
        rep(j,1,6)cin>>a[i][j];
        sort(a[i]+1,a[i]+1+6);
        int cnt=1;
        for(int j=2;j<=6;j++){
            if(a[j]==a[j+1])cnt++;
            else{
                res.pb(node(a[i][j-1],cnt,i));
                cnt=1;
            }
        }
        res.pb(node(a[i][6],cnt,i));
    }
    sort(res.begin(),res.end(),[](node x,node y){
        return x.v>y.v;
    });
    int fm =ksm(6,n)%mod;
    int fz = 0;
    int now = fm;
    for(auto [v,cnt,id]:res){
        now = now*inv(len[id])%mod;
        fz =(fz%mod+now*cnt%mod*v%mod)%mod;
        len[id]-=cnt;
        now = now*len[id];
    }
    cout<<fz*inv(fm)%mod<<endl;
}

posted @ 2025-11-12 16:36  Marinaco  阅读(7)  评论(0)    收藏  举报
//雪花飘落效果