zoukankan      html  css  js  c++  java
  • bzoj 1025 DP

    这道题根据群论的基础知识,我们可以转化成将n拆分成若干数,求这些数

    的lcm的方案数

    先筛下素数表prime

    那么我们可以用DP来解决这个问题,用W[I,J]代表I这个数,拆成若干个数,

    其中质因数最大的不超过prime[j]的方案数

    那么我们可以得到转移W[I,J]:=W[I,J-1]+ΣW[I-prime[j]^k,j-1] (I>=prime[j])

    /**************************************************************
        Problem: 1025
        User: BLADEVIL
        Language: Pascal
        Result: Accepted
        Time:44 ms
        Memory:8220 kb
    ****************************************************************/
     
    //By BLADEVIL
    var
        prime                       :array[0..1010] of longint;
        mindiv                      :array[0..1010] of longint;
        i, j                        :longint;
        n                           :longint;
        w                           :array[0..1010,0..1010] of int64;
        cur                         :longint;
         
    begin
        read(n);
        for i:=2 to n do
        begin
            if mindiv[i]=0 then
            begin
                inc(prime[0]);
                prime[prime[0]]:=i;
                mindiv[i]:=i;
            end;
            for j:=1 to prime[0] do
            begin
                if prime[j]*i>n then break;
                mindiv[prime[j]*i]:=prime[j];
                if i mod prime[j]=0 then break;
            end;
        end;
         
        for i:=0 to n do w[i,0]:=1;
        for i:=1 to prime[0] do w[0,i]:=1;
         
        for j:=1 to prime[0] do
            for i:=1 to n do
            begin
                w[i,j]:=w[i,j-1];
                cur:=prime[j];
                while i-cur>=0 do
                begin
                    w[i,j]:=w[i,j]+w[i-cur,j-1];
                    cur:=cur*prime[j];
                end;
            end;
        writeln(w[n,prime[0]]);
    end.
  • 相关阅读:
    temp12
    temp111
    test.c
    vipLogin.c
    services.c
    request.c
    managerLogin.c
    将博客搬至CSDN
    SpringMabatis整合项目mybatis-configuration.xml核心配置
    logback-test.xml配置文件模板
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3474972.html
Copyright © 2011-2022 走看看