多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 區間選點+區間覆蓋

區間選點+區間覆蓋

來源:程序員人生   發布時間:2014-11-23 09:17:08 閱讀次數:2722次

區間選點+區間覆蓋

區間選點問題(選擇最少的點,使得每一個區間都最少有k個點)

將這些區間[l,r]先依照r從小到大排序,再依照l從大到小排序。選點盡可能選擇靠近右側界的點。然后依照這個排序后的區間進行遍歷,用1個變量來寄存遍歷進程中上個區間的右側界,然后碰到1個新的區間的時候需要分兩種情況討論:1、這個區間和上個區間有相交的部份,那末就需要判斷1下上次選擇的點有多少在這個區間內,這些點滿足要求嗎?不滿足的話還需要在這個區間內選點2、這個區間和上個區間沒有交集,那末這個區間就需要選點。

上述策略可以保證右側界相同的區間,先選擇區間短的那個。由于短區間的點被選擇了,那末相同右側界的更大的區間肯定包括這個比較小的區間選擇的所有點,這樣這個大點的區間被滿足的可能性就比較大了。并且這里選點的策略是取盡可能靠近右側界的點,這樣選取被滿足區間個數會是最大的。

偽代碼
interval[maxn][2]; sort(interval, interval + maxn, cmp);//cmp依照r小l大優先級高來排列 pre = interval[1][0] - 1; //制造出不相交的右側界 for in range(1, maxn): if interval[i][0] > pre://不相交 //靠近右側界選點 else: //先查找這個區間已被選中了多少點,然后根據是不是滿足要求再進行選點 pre = interval[1][1]; //更新右側界 else:;

題目:uva10148Advertisement(區間選點)

區間覆蓋問題(選擇最少的區間使得覆蓋[m,n])

假定覆蓋的區間是[m, n].先預先處理掉和[m,n]不沾邊的區間。把出發點小的區間放前面,如果出發點相同的區間就把長的區間放前面。做兩個特判,判斷出發點最早的區間是不是涵蓋m,和最后的覆蓋是不是有覆蓋到n。接著就是中間的判斷了,中間的判斷看代碼吧。

偽代碼
interval[maxn][2]; vis[maxn];//記錄哪條邊被選擇 //刪除和[m, n]不沾邊的區間,并且依照l小r大優先級高排序 function Cover_Interval: if interval[0][0] < m //是不是涵蓋m return false; pre = m;//前1個選擇區間的右側界,也是下個要選擇區間的有效的起始邊界 t = -1;//記錄前1個區間的下標,由于可能這個區間其實不是最好的區間 cover = m - 1;//目前已覆蓋了的位置 for in range(1, maxn): if interval[i][0] <= pre: //滿足最少覆蓋到上個區間右側界pre,使得全部覆蓋的區間不會斷開 if interval[i][1] > cover: //選取最長的滿足上面的要求的區間 vis[i] = 1; cover = interval[i][1]; //更新覆蓋位置 if t != -1: //上次選中的取消 vis[t] = 0; else: //不滿足要求說明需要選擇下個新的區間,更新pre pre = cover; if interval[i][0] > pre: //如果當前這個區間的左側界比覆蓋位置更大,那末說明中間有1段是覆蓋不到的 return false; t = -1; //新的區間清空上次選中 i--; if cover >= n: break; else:; if cover < n return false; //輸出被選擇的區間according to vis[maxn] return true; function end;

題目:uva10020 - Minimal coverage(區間覆蓋)uva10382 - Watering Grass(區間覆蓋變形)

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕在线免费视频 | 亚洲精品99久久久久久欧美版 | 伊人免费在线观看 | 黑人和黑人激情一级毛片 | 日本不卡免费新一二三区 | 欧美成人观看免费完全 | 在线天堂视频 | 另类 校园 春色 都市 亚洲 | 欧美人与物videos另类一 | 国产成人精品天堂 | 欧美午夜在线 | 欧美人与物videos另类3d | 黑人猛干| 91精品久久久久久久久久 | free hd xxxx video喷水 | 在线综合亚洲欧美网站天堂 | 成人免费一区二区三区 | 日本a在线 | 欧美最猛性xxxx | 黄网站在线播放视频免费观看 | 目韩一区二区三区系列片丶 | 欧美日韩国产片 | 欧美精品久久久久久久免费观看 | 亚洲综合精品一区 | 亚洲www在线观看 | 欧美videos极品 | 亚洲一区二区三区四区五区六区 | 手机看片日韩日韩韩 | 91亚洲影院 | 免费网站成人亚洲 | 欧美成人午夜片一一在线观看 | 美国黄色一级毛片 | 亚洲精品综合一区二区三区在线 | 国产麻豆精品在线观看 | 校园春色激情网 | 日本一区二区视频免费播放 | 亚洲人成在线免费观看 | 另类图片成人偷拍 | 高清日本一级特黄aa大片 | 欧美精欧美乱码一二三四区 | 精品一区二区三区免费观看 |