UVA 1617(貪心 思維)(簡單題)

2021-10-02 08:30:59 字數 1106 閱讀 1383

emmmm這個題還是比較簡單的,開始隨便想思路嘗試wa了三發,之後找找到特解否定原思路,順著特解想了發貪心就a了。

題意:給定n個區間,每個區間存在乙個長度為1的線段,現要求對所有線段進行乙個排列,要求輸出連續線段之間的最小間隔。

題解:對所有區間根據最右端進行sort,最右端小者靠前,之後按順序遍歷所有區間,維護乙個線段實際最右端cnt:

如果當前區間最左端》cnt,則ans++&&cnt=當前區間最右端;

否則,如果當前區間最右端==cnt則continue;如果當前區間最右端》cnt則cnt++;

附上ac**:

#include

#define fopi freopen("input.txt", "r", stdin)

#define dopi freopen("output.txt", "w", stdout)

#define for(i, x, y) for(int i = x; i <= y; i ++)

#define rof(i, x, y) for(int i = x; i >= y; i --)

using

namespace std;

typedef

long

long

int ll;

const

int ind=

0x3f3f3f3f

,n=1e6+10

;const ll inlld=

0x3f3f3f3f3f3f3f3f

,mod=

998244353

;struct node

s[n]

;bool

cmp(node a,node b)

intmain()

else}}

cout << ans << endl;

}return0;

}/*25

4 81 3

8 10

0 36 8

90 4

0 43 6

3 65 7

6 88 11

9 11

10 11

*/

貪心 思維 列舉

題目大意 左括號和右括號數量相等的個數 思路 從開始列舉,用兩個標記指標,乙個記錄左括號和右括號的數量,出現乙個左括號 出現乙個右括號 出現乙個?號的話我們先把它當成右括號 所以 左括號 但是問號也要記錄下來 所以問號 當 左括號的數量為零的時候說明左括號和右括號的數量相等,所以答案加1,但是如果左...

Recovery 貪心 思維

題目傳送門 點我 題意 給你乙個10字串,1代表奇數個1,0代表偶數個1,請你還原出1最多且二進位制的值最小的矩陣。include using namespace std define max n 65 char r max n c max n 存放行jox,列jox char matrix max...

D Slime 貪心,思維

模擬一 下,比如 4個 數模擬一下,比如4個數 模擬一下,比 如4個數a,b,c,da,b,c,d a,b,c,d b 吃c,吃 d,然後 a吃b,最後a能 力是a b c d b吃c,吃d,然後a 最後a能力是a b c d b吃c,吃d,然 後a 最後a 能力是a b c d a 吃b,吃 c,...