題目傳送
題意分析:
兩隊輪流選人,每次選分最高的及左右各k個(不相鄰!!!)
可以用陣列模擬鍊錶,每次選完人後,將區間兩端相接
#include
#include
using
namespace std;
const
int maxn =
2e5+5;
typedef pair<
int,
int> pii;
priority_queue q;
int pre[maxn]
;//左
int nxt[maxn]
;//右
int vis[maxn]
;//已被選
int ans[maxn]
;int
main
(void
)int p =1;
while
(q.size()
) ll = i;
//記錄區間左端
cnt =0;
for(i = nxt[u]
; cnt < k && i != n +
1; i = nxt[i]
) rr = i;
//記錄區間右端
pre[rr]
= ll;
//更新指標
nxt[ll]
= rr;
p++;}
for(
int i =
1; i <= n; i++
) cout << ans[i]
;return0;
}
1154 能量項鍊
題目描述 description 在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一...
1154 最少步數
時間限制 3秒 記憶體限制 128兆 這有乙個迷宮,有0 8行和0 8列 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0...
codevs 1154 能量項鍊
題目描述 description 在mars星球上,每個mars人都隨身佩帶著一串能量項鍊。在項鍊上有n顆能量珠。能量珠是一顆有頭標記與尾標記的珠子,這些標記對應著某個正整數。並且,對於相鄰的兩顆珠子,前一顆珠子的尾標記一定等於後一顆珠子的頭標記。因為只有這樣,通過吸盤 吸盤是mars人吸收能量的一...