原创 BZOJ 1858 [Scoi2010]序列操作 線段樹

題目大意:給出長度爲n的0/1序列,要求支持:區間賦值(0/1),區間取反,查詢區間和、區間最長連續1個數。 線段樹練手題,今天閒來無事打算水一水,然後發現這個真的挺屎.. 維護賦值標記、翻轉標記,注意在賦值時清空翻轉標記,判斷好

原创 BZOJ 2989 數列 變換座標系 主席樹

題目大意:給定一個長度爲n的正整數數列a[i]。 定義2個位置的graze值爲兩者位置差與數值差的和,即graze(x,y)=|x-y|+|a[x]-a[y]|。 2種操作(k都是正整數): 1.Modify x k:將第x

原创 BZOJ 4080 [Wf2014]Sensor Network 隨機化

題目大意:給定平面內的n(<=100)個點,選出一個點集S,使得S裏的所有點兩兩之間歐幾里得距離不超過d,問|S|的最大值以及S裏的點都有哪些。若答案有多種,輸出任意一個。 爆搜瞬間爆炸.. 考慮隨機化 隨機出一個點的序列,按照

原创 BZOJ 3064 Tyvj 1518 CPU監控 線段樹維護歷史最大值

題目大意:給出一個數列要求支持:查詢區間最大值,查詢區間歷史最大值,區間加,區間修改 除了歷史最值都是最裸的線段樹… 如果上最裸的線段樹維護這個東西,在標記下推的時候可能把最值直接推沒了… 看看怎麼維護這個最值 在每個線段樹結

原创 BZOJ 3992 [SDOI2015]序列統計 NTT

題目大意: 給出一個集合S,元素都是小於m的整數。現給定整數x,求所有長度爲n且每個元素都屬於集合S的數列中滿足數列中所有數的乘積mod m的值等於x的不同的數列的有多少 乘積爲定值不怎麼會算,而和爲定值就是一個卷積的形式,於

原创 BZOJ 3218 a + b Problem 網絡流 可持久化線段樹優化建圖

#include <cstdio> #include <cstring> #include <algorithm> #include <queue> #define N 200005 #define INF 1000000000 usin

原创 BZOJ 3205 [Apio2013]機器人 斯坦納樹

題目大意: #include <cstdio> #include <algorithm> #include <queue> #define N 505 #define M 600005 #define INF 1000000000 usi

原创 BZOJ 2725 [Violet 6]故鄉的夢 最短路

#include <cstdio> #include <cstring> #include <algorithm> #include <queue> #define N 200005 #define INF (1ll<<60) using

原创 BZOJ 3685 普通van Emde Boas樹 zkw線段樹

#include <cstdio> #define N 4000005 #define ls(x) (x<<1) #define rs(x) (x<<1|1) #define pa(x) (x>>1) using namespace st

原创 BZOJ 4519 [Cqoi2016]不同的最小割 最小割樹(分治最小割)

#include <cstdio> #include <cstring> #include <algorithm> #include <queue> #define N 1005 #define INF 1000000000 using

原创 BZOJ 3037 創世紀 樹形DP

#include <cstdio> #include <cstring> #include <algorithm> #define N 1000005 #define INF 1000000000 using namespace std;

原创 BZOJ 3699 GAL的數組

題目大意:給出3*N的非負整數,分配到3個長度爲N的數組A,B,C中。定義三個數組的GAL值,GAL(A,B,C)=Σ(A[i]-B[i])*C[i],1 ≤ i ≤ N。求出GAL(A,B,C)的最大值。 #include <cstdi

原创 BZOJ 2330 [SCOI2011]糖果 差分約束系統

#include <cstdio> #include <cstring> #include <queue> #define N 100005 using namespace std; struct Edge { int from,

原创 BZOJ 4585 [Apio2016]煙火表演 可並堆

#include <cstdio> #include <algorithm> #include <cstring> #define N 300005 using namespace std; typedef long long LL; s

原创 BZOJ 3265 志願者招募(BZOJ 1061)加強版 && BZOJ 3112 [Zjoi2013]防守戰線 單純形

BZOJ 3265 題目大意:現要進行n天活動,第i天需要ai個志願者。有m種志願者,每種志願者工作時間爲若干個區間[li,ri](BZOJ 1061:一個區間),招募一個費用爲ci,求最小花費 m個變量n個限制條件求函數最值,單純形裸