zoukankan      html  css  js  c++  java
  • Codeforces Round #523 (Div. 2)C(DP,数学)

    #include<bits/stdc++.h>
    using namespace std;
    long long a[100007];
    long long dp[1000007];
    const int mod=1e9+7;
    int main(){
        int n;
        scanf("%d",&n);
        dp[0]=1;
        for(int i=1;i<=n;i++)
            scanf("%lld",&a[i]);
        for(int i=1;i<=n;i++){
            vector<long long>v;
            for(int j=1;j*j<=a[i];j++){
                if(a[i]%j==0){
                    v.push_back(j);
                    if(j*j!=a[i])
                        v.push_back(a[i]/j);
                }
            }
            sort(v.begin(),v.end());
            reverse(v.begin(),v.end());
            for(auto &it: v){
                dp[it]+=dp[it-1];
                dp[it]%=mod;
            }
        }
        long long ans=0;
        for(int i=1;i<=n;i++)
            ans+=dp[i];
        ans%=mod;
        printf("%lld",ans);
        return 0;
    }

    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    验证foreach 能否操做更改原表
    asp.net post/get 公共方法
    C# json日期转换
    学数学
    2742: [HEOI2012]Akai的数学作业
    BZOJ2208
    树状数组求逆序对
    网络流复习计划
    SG函数学(hua)习(shui)记录
    SPLAY板子
  • 原文地址:https://www.cnblogs.com/ldudxy/p/10047506.html
Copyright © 2011-2022 走看看