差分陣列的巧妙運用:
讓所有數都相同即:讓差分陣列bi,b2-->bn都等於0.
每次操作相當於選擇i,j.bi++,bj--;
為了讓b2->bn都等於0;
正數之和:p,負數之和q
最少操作次數一定是:先選擇一正一負,抵消,
然後剩的全正或者全負,與b1||bn+1,進行操作。
最少次數為|p-q|
由於選擇b1,bj 和bj, bn+1
會讓結果+1或者不變。
所以最終序列有|p-q|+1種情況
#include using namespace std;
typedef long long ll;
const int m=100000+7;
int main()
lst=x;
} ll cz=abs(nz-nf);
cout
}
小藍書 電影
題意都是用離散化的嗎?這麼神奇?我的思路就是對於 a 排序,對於語音和字幕的也分別排序,然後三個指標一起從小到大跳得到每個電影的語音和字幕能讓多少個人高興起來。時間複雜度 o nlogn mlogm include include include define n 210000 using name...
藍書3 7 尤拉迴路
t1 尤拉迴路 hdu 1878 題目大意 判斷是否存在尤拉迴路 思路 乙個無向圖存在尤拉迴路的條件為所有點的度為偶數 且圖聯通 1 include2 include3 include4 include5 include6 include7 include8 include9 define ll l...
藍書 323 戰略遊戲
f i 2 以i為根的子樹,i節點不放置士兵滿足條件的最小放置士兵數量。樹形dp一下就行 比較奇怪的是 讀入scanf d d u,m 是對的 scanf d s u,s int m s 2 0 這樣就會超時。有懂得大佬解答下嗎。include using namespace std typedef...