国产精品久久久香蕉,伊人久久大香线蕉av不变影院,久久se精品一区二区影院http://www.shnenglu.com/Joe/category/14151.html堅(jiān)信:勤能補(bǔ)拙zh-cnWed, 29 Sep 2010 10:55:01 GMTWed, 29 Sep 2010 10:55:01 GMT60USACO Barn Repairhttp://www.shnenglu.com/Joe/archive/2010/09/29/128024.htmlsimplyzhaosimplyzhaoWed, 29 Sep 2010 02:49:00 GMThttp://www.shnenglu.com/Joe/archive/2010/09/29/128024.htmlhttp://www.shnenglu.com/Joe/comments/128024.htmlhttp://www.shnenglu.com/Joe/archive/2010/09/29/128024.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/128024.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/128024.htmlhttp://ace.delos.com/usacoprob2?a=KIjVa3gj0ap&S=barn1

思路:
簡單的貪心算法
一直不敢怎么用貪心算法(這題比較好理解),因?yàn)椴恢涝撊绾巫C明其正確性
如何保證每次選擇當(dāng)前最優(yōu)解最后可以得到整體的最優(yōu)解?

對于該題:
假設(shè)存在M塊boards,那么從最左端到最右端(指存在cow的stall)可以存在M-1處gap
最優(yōu)子結(jié)構(gòu):
設(shè)f(x)表示存在x塊boards時(shí)的the minimum number of stalls that must be blocked,那么
             f(x) = min(f(x-1) + gap[i] that hasn't been selected)
貪心選擇性質(zhì): 每次從尚未選擇過的gaps中選擇最大的gap即可得到最優(yōu)解(假設(shè)為gap[x1], gap[x2], ...gap[x(M-1)])
證明(反證):
假設(shè)存在一個(gè)最優(yōu)解,其不包含gap[x(i)]
那么,采用cut-and-paste方法即可證明其不是最優(yōu)解

代碼:
 1 /*
 2 ID: simplyz2
 3 LANG: C
 4 TASK: barn1
 5 */
 6 #include<stdio.h>
 7 #include<stdlib.h>
 8 #include<string.h>
 9 #define MAX_LEN 205
10 #define Min(a,b) ((a)<(b) ? (a) : (b))
11 int M, S, C;
12 int rt, stalls[MAX_LEN], diff[MAX_LEN];
13 
14 int
15 asc_cmp(const void *arg1, const void *arg2)
16 {
17     return (*(int *)arg1) - (*(int *)arg2);
18 }
19 
20 int
21 desc_cmp(const void *arg1, const void *arg2)
22 {
23     return (*(int *)arg2) - (*(int *)arg1);
24 }
25 
26 void
27 init()
28 {
29     int i;
30     for(i=0; i<C; i++
31         scanf("%d", stalls+i);
32     qsort(stalls, C, sizeof(int), asc_cmp);
33     rt = stalls[C-1- stalls[0+ 1;
34     for(i=1; i<C; i++)
35         diff[i-1= stalls[i] - stalls[i-1- 1;
36     qsort(diff, C-1sizeof(int), desc_cmp);
37 }
38 
39 void
40 solve()
41 {
42     int i, up;
43     up = Min(C-1, M-1);
44     for(i=0; i<up; i++)
45         rt -= diff[i];
46     printf("%d\n", rt);
47 }
48 
49 int
50 main(int argc, char **argv)
51 {
52     freopen("barn1.in""r", stdin);
53     freopen("barn1.out""w", stdout);
54     while(scanf("%d %d %d"&M, &S, &C) != EOF) {
55         init();
56         solve();
57     }
58     return 0;
59 }


simplyzhao 2010-09-29 10:49 發(fā)表評(píng)論
]]>
亚洲另类欧美综合久久图片区| 亚洲国产二区三区久久| 日韩va亚洲va欧美va久久| 一级a性色生活片久久无| 2021国产精品久久精品| 久久精品人人做人人妻人人玩| 99久久精品午夜一区二区| 少妇久久久久久被弄到高潮| 伊人久久大香线蕉av不变影院| 国产亚洲美女精品久久久久狼| 国产农村妇女毛片精品久久| 一本一本久久A久久综合精品 | 久久久久人妻一区二区三区| 国产精品久久久久aaaa| 久久只这里是精品66| 91精品国产91热久久久久福利| 亚洲国产成人精品女人久久久 | 欧美牲交A欧牲交aⅴ久久| 国产高清美女一级a毛片久久w| 九九精品久久久久久噜噜| 国产精品久久久久影视不卡| 久久久久久久女国产乱让韩| 999久久久国产精品| 久久狠狠高潮亚洲精品| 99久久精品免费看国产一区二区三区 | 午夜久久久久久禁播电影| 久久WWW免费人成—看片| 久久综合给久久狠狠97色| 久久久久av无码免费网| 久久www免费人成精品香蕉| 日韩欧美亚洲综合久久影院d3| 亚洲成色WWW久久网站| 久久精品国产亚洲AV忘忧草18| 久久国产福利免费| 久久久久九九精品影院| 国产精品熟女福利久久AV| 伊人色综合久久| A级毛片无码久久精品免费| 免费观看久久精彩视频| 国产精品久久久久久久久鸭| 好属妞这里只有精品久久|