<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      題目背景

      給一組 N 枚郵票的面值集合(如,{1 分,3 分})和一個上限 K —— 表示信封上能夠貼 K 張郵票。計算從 1 到 M 的最大連續可貼出的郵資。

      題目描述

      例如,假設有 1 分和 3 分的郵票;你最多可以貼 5 張郵票。很容易貼出 1 到 5 分的郵資(用 1 分郵票貼就行了),接下來的郵資也不難:

      6 = 3 + 3 
      7 = 3 + 3 + 1 
      8 = 3 + 3 + 1 + 1 
      9 = 3 + 3 + 3 
      10 = 3 + 3 + 3 + 1 
      11 = 3 + 3 + 3 + 1 + 1 
      12 = 3 + 3 + 3 + 3 
      13 = 3 + 3 + 3 + 3 + 1
      

      然而,使用 5 枚 1 分或者 3 分的郵票根本不可能貼出 14 分的郵資。因此,對于這兩種郵票的集合和上限 K=5,答案是 M=13。 [規模最大的一個點的時限是3s]

      小提示:因為14貼不出來,所以最高上限是13而不是15

      輸入格式

      第 1 行: 兩個整數,K 和 N。K(1 <= K <= 200)是可用的郵票總數。N(1 <= N <= 50)是郵票面值的數量。

      第 2 行 .. 文件末: N 個整數,每行 15 個,列出所有的 N 個郵票的面值,每張郵票的面值不超過 10000。

      輸出格式

      第 1 行:一個整數,從 1 分開始連續的可用集合中不多于 K 張郵票貼出的郵資數。

      輸入輸出樣例

      輸入 #1
      5 2
      1 3
      輸出 #1
      13

      說明/提示

      題目翻譯來自NOCOW。

      USACO Training Section 3.1


       

      題解

      這題雖然也是完全背包問題,但是比總分那題難想。直接選擇題目所求作為f[i]是不行的。f[i]為要達成i面值所需要的最少郵票個數。這樣狀態轉移方程就是:f[j] = min( f[j], f[j - a] + 1 );,也就是如果選擇面值為a可以減少張數就選擇a,否則不選a。

       1 #include <iostream>
       2 #include <stdio.h>
       3 #include <math.h>
       4 #include <algorithm>
       5 #include <string.h>
       6 
       7 using namespace std;
       8 
       9 const int    MAXN = 2000005;
      10 int        a, n, k, f[MAXN];
      11 
      12 int main()
      13 {
      14     cin >> k >> n;
      15     for ( int i = 0; i < MAXN; i++ )
      16     {
      17         f[i] = 1111111;
      18     }
      19     f[0] = 0;
      20     for ( int i = 1; i <= n; i++ )
      21     {
      22         cin >> a;
      23         for ( int j = a; j <= MAXN; j++ )
      24         {
      25             if ( f[j - a] + 1 <= k ) /* 用的郵票數目在范圍內 */
      26             {
      27                 f[j] = min( f[j], f[j - a] + 1 );
      28             }
      29         }
      30     }
      31     for ( int i = 1; i < MAXN; i++ )
      32     {
      33         if ( f[i] == 1111111 )
      34         {
      35             cout << i - 1 << endl;
      36             break;
      37         }
      38     }
      39     return(0);
      40 }

       

      posted on 2019-08-31 20:59  zealsoft  閱讀(298)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲一区成人av在线| 口爆少妇在线视频免费观看| 国产日韩综合av在线| 午夜福利片1000无码免费| 精品国产一区二区三区av色诱| 成人网站免费观看永久视频下载| 蜜桃av亚洲精品一区二区| 忍着娇喘人妻被中出中文字幕| 一区二区三区鲁丝不卡| 久久精品国产高潮国产夫妻| 天堂av在线一区二区| 国产视频一区二区三区四区视频 | 精品国产亚洲av麻豆特色| 无码小电影在线观看网站免费| 国产精品一码在线播放| 伊人色综合久久天天| 国产成人亚洲综合色婷婷秒播| 办公室强奷漂亮少妇视频| 亚洲Av综合日韩精品久久久| 99久久婷婷国产综合精品青草漫画 | 国产三级国产精品国产专| 视频一区视频二区亚洲视频| 真人性囗交视频| 少妇特黄a一区二区三区| 虎白女粉嫩尤物福利视频| 8AV国产精品爽爽ⅤA在线观看| av新版天堂在线观看| 国产浮力第一页草草影院| 亚洲av激情一区二区三区| 色香欲天天影视综合网| 亚洲日本精品一区二区| 国产精品自在欧美一区| 九色精品国产亚洲av麻豆一 | 97精品尹人久久大香线蕉| 色欧美片视频在线观看| 国产精品成人一区二区三区| 亚洲日本va午夜在线电影| 免费av深夜在线观看| 午夜福利片1000无码免费| 亚洲欧美人成网站在线观看看| 久久国产精品波多野结衣|