日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UVA 10020 Minimal coverage

發布時間:2024/9/5 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UVA 10020 Minimal coverage 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

大意:數軸上有n個閉區間[ai,bi],選擇盡量少的區間覆蓋一條指定的線段[s,t]。

?

思路:貪心,具體見劉汝佳白書P154。把各區間按照a從小到大排序。如果區間1的起點不是s,無解,否則選擇起點在s的最長區間。選擇此區間[ai,bi]后,新的起點設置為bi,然后經過依次掃描之后就可以得出最小的線段數。并用另一個結構體儲存路徑。

?

另外:排序可有可無,有了只不過是一種優化措施,沒有排序的話程序也對,最主要的算法還是貪心。

?

CODE:

#include?<iostream>
#include?<cstdlib>
#include?<cstring>
#include?<algorithm>
#include?<cstdio>
using?namespace?std;

#define?MAXN?100010

struct?node
{
????int?l;
????int?r;
}a[MAXN]?,?path[MAXN];

int?cmp(const?node?&a,?const?node?&b)
{
????if(a.l?!=?b.l)????return?a.l?<?b.l;
????else?return?a.r?>?b.r;????//這里不影響程序的正確性?
}

int?n,?m;

void?init()
{
????memset(a,?0,?sizeof(a));
????memset(path,?0,?sizeof(path));
}

void?solve()
{
????int?flag,?pos;
????int?Max?=?0,?tot?=?0,?ans?=?0,?left?=?0;
????sort(a,?a+n,?cmp);?//排序,?
????for(;;)
????{
????????if(left?>=?m)?break;
????????Max?=?flag?=?0;
????????for(int?i?=?0;?i?<?n;?i++)
????????{
????????????if(a[i].l?<=?left)
????????????{
????????????????if(a[i].r?>?Max)
????????????????{
????????????????????pos?=?i;
????????????????????Max?=?a[i].r;
????????????????????flag?=?1;
????????????????}?//找最右邊的區間?
????????????}
????????}
????????if(flag)
????????{
????????????ans++;
????????????left?=?Max;?????//更新最大區間?
????????????path[tot++]?=?a[pos];
????????}
????????else?break;
????}
????if(flag)
????{
????????printf("%d\n",?tot);
????????for(int?i?=?0;?i?<?tot;?i++)
????????{
????????????printf("%d?%d\n",?path[i].l,?path[i].r);
????????}
????}
????else?printf("0\n");
}


int?main()
{
????int?T;
????scanf("%d%*c",?&T);
????while(T--)
????{
????????init();
????????int?i?=?0;
????????int?x,?y;
????????scanf("%d",?&m);
????????while(scanf("%d%d",?&x,?&y))
????????{
????????????if(!x?&&?!y)?break;
????????????a[i].l?=?x,?a[i].r?=?y;
????????????i++;
????????}
????????n?=?i;
????????solve();
????????if(T)?printf("\n");
????}
????return?0;
}

?

?

轉載于:https://www.cnblogs.com/g0feng/archive/2012/10/15/2725090.html

總結

以上是生活随笔為你收集整理的UVA 10020 Minimal coverage的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久一级 | 少妇被躁爽到高潮无码文 | 可以在线看黄的网站 | 伊人久久成人网 | 国产精品久久久久影院色老大 | 午夜av影视| 成人免费在线小视频 | 中国在线观看免费视频 | 香蕉在线看 | 国产免费中文字幕 | 韩国三色电费2024免费吗怎么看 | 精品一区二区在线观看 | 一级中文字幕 | 偷拍亚洲 | 中文字幕女同 | 妺妺窝人体色www聚色窝仙踪 | 日日狠狠久久 | 久久久无码一区二区三区 | 中文字幕不卡在线观看 | 7777av| 久久蜜臀精品av | 国产又粗又长又黄 | 天天干中文字幕 | 亚洲av无码精品色午夜果冻不卡 | 尤果网福利视频在线观看 | 男插女av | 人妻少妇无码精品视频区 | 成年人深夜福利 | 亚洲av成人一区二区国产精品 | 嫩草影院在线免费观看 | xxx69美国 | 一区二区三区日 | av在线免费网站 | 国产伦理av | 天天射日日干 | 韩国视频一区 | 香蕉视频2020 | 老鸭窝视频在线观看 | 欧美三级不卡 | 狠狠操亚洲 | 亚洲av无码国产精品色午夜 | 超碰av男人的天堂 | 96福利视频 | 精品人妻一区二区三区免费 | 亚洲高清免费观看 | 夜夜夜网| 亚洲天堂网一区二区 | 国产精品久久久久久无人区 | 天堂在线网 | 亚洲videos| 色伊人av | 日本韩国欧美 | 国产色在线观看 | 成人av动漫 | 色婷婷精品久久二区二区密 | 黄色在线观看网址 | 999久久久精品视频 亚洲视频精品在线 | 一本色道久久88亚洲精品综合 | 小视频免费在线观看 | 国产a√精品区二区三区四区 | 激情丁香 | 日韩中文字幕观看 | 亚洲精选久久久 | 久久yy| 日韩在线精品强乱中文字幕 | 少妇无套内谢免费视频 | 99热国产在线 | 91一级片| 成人污污视频在线观看 | 黄色.com| 97人妻精品一区二区免费 | av网站一区二区 | 丰满双乳秘书被老板狂揉捏 | 成人免费av在线 | 一区二区三区 中文字幕 | 亚洲精品入口 | 欧美一级淫| 亚洲视频123 | 国产一区二区三区毛片 | 亚洲欧美在线免费观看 | 伊人久久大香线蕉av色婷婷色 | 久久久久久久国产 | 99视频精品免费 | av免费在线网站 | 国产在线观看免费高清 | 中文字幕无码乱人伦 | 日本黄视频在线观看 | 好吊妞一区二区三区 | 亚洲免费视频网站 | 美女操出白浆 | 男男受被啪到高潮自述 | 91国产一区| 亚洲男人天堂 | 国产麻豆一精品一av一免费 | 91久久综合亚洲鲁鲁五月天 | 级毛片| 欧美精品1| 丁香花完整视频在线观看 | 美女久久久久久 |