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

      比较裸的背包,w[i][j]代表到第I个操作的时候音量j能不能达到,然后转移就行了。

     

    /**************************************************************
        Problem: 2748
        User: BLADEVIL
        Language: Pascal
        Result: Accepted
        Time:12 ms
        Memory:284 kb
    ****************************************************************/
     
    //By BLADEVIL
    var
        n, s, h                     :longint;
        i, j                        :longint;
        v                           :array[0..60] of longint;
        w                           :array[0..60,0..1000] of boolean;
         
    begin
        read(n,s,h);
        for i:=1 to n do read(v[i]);
         
        fillchar(w,sizeof(w),false);
        w[0][s]:=true;
        for i:=1 to n do
            for j:=0 to h do
            begin
                if j-v[i]>=0 then w[i][j]:=w[i][j] or w[i-1][j-v[i]];
                if j+v[i]<=h then w[i][j]:=w[i][j] or w[i-1][j+v[i]];
            end;
        for i:=h downto 0 do if w[n][i] then break;
        if (i=0) and (not w[n][i]) then writeln(-1) else writeln(i);
    end.
  • 相关阅读:
    2020-03-23
    2020-03-22
    2020-03-21
    2020-03-20
    2020-03-19
    2020-03-18
    2020-03-17
    单元测试-java
    2020-03-16
    C语言拯救计划Day3-1之求一批整数中出现最多的个位数字
  • 原文地址:https://www.cnblogs.com/BLADEVIL/p/3514034.html
Copyright © 2011-2022 走看看