• P1021 邮票面值设计


    题面嘿咻

    唔。。不早了我要睡觉了。。还要再发一篇我就不加解析了。。

    搜索+深搜

     1 #include<algorithm>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<cstdio>
     5 using namespace std;
     6 int n,k,res,ans[105],tmp[105],dp[2005];
     7 int calc(int dep,int sum)
     8 {
     9     memset(dp,0x3f,sizeof(dp));
    10     dp[0]=0;
    11     for(int i=1;i<=dep;i++)
    12         for(int j=tmp[i];j<=n*sum;j++)
    13             dp[j]=min(dp[j],dp[j-tmp[i]]+1);
    14     for(int i=1;i<=n*sum;i++)
    15         if(dp[i]>n)
    16             return i-1;
    17     return n*sum;
    18 }
    19 void dfs(int dep,int lst1,int lst2,int sum)
    20 {
    21     if(dep>k)
    22     {
    23         if(res<lst2)
    24         {
    25             res=lst2;
    26             for(int i=1;i<=k;i++)
    27                 ans[i]=tmp[i];
    28         }
    29         return ;
    30     }
    31     for(int i=lst1+1;i<=lst2+1;i++)
    32     {
    33         tmp[dep]=i;
    34         int x=calc(dep,sum+i);
    35         dfs(dep+1,i,x,sum+i);
    36     }
    37 }
    38 int main()
    39 {
    40     scanf("%d%d",&n,&k);
    41     dfs(1,0,0,0);
    42     for(int i=1;i<=k;i++)
    43         printf("%d ",ans[i]);
    44     printf("
    MAX=%d
    ",res);
    45     return 0;
    46 }
  • 相关阅读:
    [POI2010]Divine Divisor
    JOISC2014B たのしい家庭菜園
    Problem. C
    AGC004F Namori
    AGC007F Shik and Copying String
    AGC027C ABland Yard
    AGC028E High Elements
    JOI2017FinalE 縄
    CF797F Mice and Holes
    Problem. B
  • 原文地址:https://www.cnblogs.com/hahaha2124652975/p/11485305.html
Copyright © 2020-2023  润新知