(我愣是感覺事情沒有這麼簡單。。。。)
於是乎先不頹資料結構了。。。。先把單調佇列以及斜率優化dp給學會先,,,,
一般模擬賽出這種題我就只會爆搜了。。。。
然後就沒啥好怕得了
二逼平衡樹(二分打炸版)(6k的小清新**小聲bb)
#include
#define maxn 50005
typedef
long
long ll;
using
namespace std;
ll n,m,b[maxn]
;int tot =
0,dex =0;
struct nodet[maxn *
105]
;struct splay
intget
(int rt)
introte
(int rt)
intsplay
(int rt)
op = rt;
}int
add(ll dx)
int d , rt = op;
while(1
) d =
(t[rt]
.val < dx);if
(!t[rt]
.ch[d]
) rt = t[rt]
.ch[d];}
}int
rank
(ll dx)
}int
rank2
(ll dx)
}int
found
(ll dx)
}int
pre(
)int
nxt(
)int
del(ll dx)if(
!t[op]
.ch[1]
)if(!t[op]
.ch[0]
)splay
(pre()
);t[op]
.ch[1]
= t[t[op]
.ch[1]
].ch[1]
; t[t[op]
.ch[1]
].f = op;
up(op);}
intprint
(int rt)
if(t[rt]
.ch[1]
)}};
struct sta[maxn *5]
;int
build
(int rt ,
int l ,
int r)
intque
(int rt ,
int l ,
int r , ll x , ll y , ll dx)
intque3
(int rt ,
int l ,
int r , ll x , ll y , ll dx)
intchange
(int rt ,
int l ,
int r , ll x , ll y)
a[rt]
.t.del
(b[x]);
a[rt]
.t.add
(y);
int mid =
(l + r)
>>1;
change
(a[rt]
.lc , l , mid , x , y)
;change
(a[rt]
.rc , mid +
1, r , x , y);}
ll que1
(int rt ,
int l ,
int r , ll x , ll y , ll dx)
int mid =
(l + r)
>>1;
zz =
max(zz ,
que1
(a[rt]
.lc , l , mid , x , y , dx));
zz =
max(zz ,
que1
(a[rt]
.rc , mid +
1, r , x , y , dx));
return zz;
}ll que2
(int rt ,
int l ,
int r , ll x , ll y , ll dx)
int mid =
(l + r)
>>1;
zz =
min(zz ,
que2
(a[rt]
.lc , l , mid , x , y , dx));
zz =
min(zz ,
que2
(a[rt]
.rc , mid +
1, r , x , y , dx));
return zz;
}int
main()
if(tp ==2)
else x = mid +1;
} cout<(tp ==3)
if(tp ==4)
if(tp ==5)
}}
11月5日晚模擬賽題解
題意 n 個點,m 條邊,每個點有權值,每條邊也有權值 按讀入 times 2處理 對每個點,選定乙個目標點 可以是它自己 使這個點到達目標點的距離加上目標點的權值的和最小。1 n,m 2e5 解法 dijkstra 超級源點 這個資料範圍不允許我們跑 floyd 或者 n 次 dijkstra 但...
18年11月5日 NOIP模擬賽
對於k 100的情況,貪心 對於100 的資料 可以發現,當前的決策只對後面的開採有影響,且剩餘耐久度與之後的開採收益成正比,如果倒著考慮這個問題,得出i n的星球1點耐久度所能獲得的最大收益,從後往前dp,得出最大值最後乘w就是答案 include includeusing namespace s...
2023年9月12日 PyQt5 學習計畫
掌握 pyqt5 設計全平台 gui qt designer pyqt5 基本視窗控制項 qmainwindow qwidget qlabel qlineedit 選單 工具欄等 pyqt5 高階組 件 qtableview qlistview 容器 多執行緒等 pyqt5 布局管理 qboxlay...