做做bzoj上的新題(不存在的)
同bzoj1798: [ahoi2009]維護序列,樣例都一樣的...我能想象到的唯一的新的考察意義就是模數是2e9不是1e9,於是加法的時候需要轉long long
就是給出一段序列,zici區間加乙個數,區間乘乙個數,區間求和...線段樹開兩個標記a,b表示乘上a再加b,nlogn完事.
#includeconst int maxn=100005;
int n,mod;
int seg[maxn<<2][3];//0:sum 1:multiply 2:plus
void build(int rt,int l,int r)else
}void mult(int rt,int x)
void plus(int rt,int l,int r,int x)
void pushdown(int rt,int l,int r)
if(seg[rt][2]!=0)
}void pushup(int rt)
int qsum(int rt,int l,int r,int ql,int qr)
void mult(int rt,int l,int r,int ql,int qr,int x)
pushdown(rt,l,r);
int mid=(l+r)>>1;
if(ql<=mid)mult(rt<<1,l,mid,ql,qr,x);
if(qr>mid)mult(rt<<1|1,mid+1,r,ql,qr,x);
pushup(rt);
}void plus(int rt,int l,int r,int ql,int qr,int x)
pushdown(rt,l,r);
int mid=(l+r)>>1;
if(ql<=mid)plus(rt<<1,l,mid,ql,qr,x);
if(qr>mid)plus(rt<<1|1,mid+1,r,ql,qr,x);
pushup(rt);
}int main()
} return 0;
}
小店購物 JSOI2008 BZOJ 2260
grant是乙個個體戶老闆,他經營的小店因為其豐富的優惠方案深受附近居民的青睞,生意紅火。小店的優惠方案十分簡單有趣。grant規定 在一次消費過程中,如果您在本店購買了精製油的話,您購買香皂時就可以享受2.00元 塊的 如果您在本店購買了香皂的話,您購買可樂時就可以享受1.50元 聽的 諸如此類的...
BZOJ 4327 JSOI2012 玄武密碼
字尾自動機裸題。藉著這道裸題總結一下字尾自動機的查詢問題。1.查字首 查詢時不跳parent,遇到空節點就跳出。2.查子串 查詢時跳parent,記錄最大ans.3.查次數 lct維護right陣列 4.查不同的串的數目 在建樹時維護,乙個點對答案的貢獻為this max len this pare...
JSOI2009 bzoj1449 球隊收益
description input output 乙個整數表示聯盟裡所有球隊收益之和的最小值。首先假設全輸,然後給每場比賽分配乙個贏家,每個隊伍每多贏一場多獲得的收益作為費用。但是有乙個問題,如何保證每次走的是對應的邊?也就是,如何保證贏第一場的時候增加的收益是贏一場減贏零場,而不是贏兩場減贏一場?...