飄揚的旗幟

2022-04-30 09:54:08 字數 2275 閱讀 1643

我也不知道**蒯來的題。反正二分 + 2-sat + 線段樹優化連邊就完事了。

注意答案可能為0..

1 #include 2

3const

int n = 100010;4

5struct

edge edge[3000010]; int

tp;8

9struct

node

15};

1617

inte[n], num, dfn[n], low[n], x[n], xx, tot, n, fr[n], scc_cnt, ls[n], rs[n];

18 std::vectorv[n];

19int

stk[n], top, rt, a[n], b[n];

2021 inline void add(int x, int

y) 28

29 inline void

clear()

3637

void tarjan(int

x) 46

else

if(!fr[y]) 49}

50if(low[x] ==dfn[x]) while(y !=x);58}

59return;60

}6162void add(int l, int r, int v, int l, int r, int &o)

68int mid = (l + r) >> 1;69

if(l <=mid) add(l, r, v, l, mid, ls[o]);

70if(mid < r) add(l, r, v, mid + 1

, r, rs[o]);

71return;72

}7374void build(int f, int l, int r, int &o)

82else85}

86return;87

}88int mid = (l + r) >> 1;89

build(o, l, mid, ls[o]);

90 build(o, mid + 1

, r, rs[o]);

91return;92

}9394 inline bool check(int

k) 104

if(mid

107for(int j = 0; j < (int)v[mid].size(); j++)

112else

115}

116 l = std::lower_bound(x + 1, x + xx + 1, x[b[i]] - k) -x;

117 r = std::upper_bound(x + 1, x + xx + 1, x[b[i]] + k) - x - 1

;118 mid =b[i];

119if(l

122if(mid

125for(int j = 0; j < (int)v[mid].size(); j++)

130else

133}

134}

135 build(0, 1

, xx, rt);

136for(int i = 1; i <= tot; i++)

140}

141for(int i = 1; i <= n; i++)

144return1;

145}

146147

intmain()

155 std::sort(x + 1, x + xx + 1

);156 xx = std::unique(x + 1, x + xx + 1) - x - 1

;157

for(int i = 1; i <= n; i++)

163164

int l = -1, r = x[xx] - x[1

];165

while(l

170else

173}

174175 printf("

%d\n

", r + 1

);176

return0;

177 }

ac**

我這個寫法不對,如果離散化了就不能暴力處理單個位置的其他邊,因為可能會被卡成n²。正確的方法是不離散化或者對每個位置再用乙個前字尾優化連邊。

shadowgun的飄揚旗幟shader

madfinger lightmap unlit wind 用於模擬布料和樹被風吹的彎曲擺動效果 這個來自於 gpu gems 3 中的 chapter 16 vegetation procedural animation and shading in crysis 一章16.1。但略微有點不同,在...

乏睏的時光,思緒飄揚

眼皮像似許久不曾相見的戀人般,掙扎著想去觸碰對方,感受彼此的存在。而我,像似想在無聊乏味的時段裡,攆出一場解悶的戲。腦海裡,空空的,那些能做的 想做的,被生生的隔斷開來。在這燈光搖曳 時空錯亂的界限裡,漫無目的飄盪著,迷糊而放空的語言,此刻卻成了我虛度的緣由。人生之中,是不是總是如此,前一秒的熱情,...

三色旗幟分類

問題描述 假設有一條繩子,上面有紅 白 藍三種顏色的旗子,起初繩子上的旗子顏色並沒有順序,您 希望將之分類,並排列為藍 白 紅的順序,要如何移動次數才會最少,注意您只能在繩子上 進行這個動作,而且一次只能調換兩個旗子。include include using namespace std 三色旗演算...