原创 [FROM BZOJ]Codechef REBXOR

傳送門 SOL 對於sum[L...R]=a[L] xor a[L+1]...xor a[R]sum[L...R]=a[L]~xor~a[L+1]...xor~a[R]sum[L...R]=a[L] xor a[L+1]...xo

原创 [FROM WOJ]#2210 上升序列

題面 給一個長度10^5的非負序列,序列中的0可以任意換成任何數字(包括負數),問最長嚴格上升子序列長度。 輸入 第一行有一個數n代表序列長度 第二行有n個數字ai代表序列每個值是多少。 輸出 一行一個數字代表答案 樣例輸入 7

原创 [FROM LUOGU]排兵佈陣

傳送門 SOL 乍一看你可能jio得這是一個貪心+模擬 如果是這樣的話,顯然你想多了 我們發現這應該是一個DP,再看看題目,存在兵力上限,那就相當於揹包容積咯,那就是分組揹包咯 可是也沒這麼輕易就讓你A了,直接轉移是不行的,我們可

原创 2019/11/8~9兩場考試總結

Day1:涼的一批 T1 是一道由高考題改編而來的數學題,給定一個ai-1,ai,ai+1的關係,a0=0,a2n=1,求an 當時腦子可能是抽了,沒有想到可以用a0=0轉爲遞推式,後面每個數與a1的倍數關係可以確定 T2 模擬小

原创 2019/11/5 考試總結

2019/11/5 爆零總結 T1 大概就是一個打牌的過程,你有nnn種兵符,對手有m1m1m1種御符和m2m2m2種兵符,給出每種符的能力值和數量,你爲進攻方,你的兵符只對能量值相同或更小的有作用,打御符時不得分,打兵符時得分爲

原创 [FROM BZOJ]最假女選手

傳送門 SOL 這不是普通的線段樹,要使用線段樹Beats(又稱吉司機線段樹) 其他操作都好說,主要來講一講2、3操作,也就是Beats的不同之處 2、3其實是一樣的,這裏以 操作2 爲例講一講具體實現 操作2:把一個區間[L,R

原创 圖論(CSP-S難度)知識小結(完善中)

圖論知識小結序言——先扯幾句閒話--最短路--FLOYDSPFADijkstra次短路差分約束系統K短路分層圖優化搜索(?)--生成樹--PrimKruskal次小生成樹最小樹形圖最小乘積生成樹最優比率生成樹--連通性--SCCB

原创 [FROM LUOGU][NOI2011]阿狸的打字機

傳送門 SOL 首先構建AC自動機,然後建一棵Fail樹 Fail樹就是把Fail指針反轉後重新建的樹,這樣查詢(x,y),y會出現在x的子樹中 對於詢問(x,y),即統計在x的路徑上的節點中有多少個在y的子樹中 一邊模擬打字過程

原创 [FROM LUOGU]Mivik的神力

傳送門 SOL 首先max的答案改變肯定是在每一個數的右邊第一個比它大的位置,用單調棧記錄一下,連個邊就好了 說白了,就是從l開始,每次跳邊去找右邊第一個比它大的數,依次統計答案 如果我們把n+1定爲根,那麼這就是棵樹,所以可以倍

原创 [FROM LUOGU]【模板】AC自動機(簡單版)

傳送門 【模板複習】 SOL AC自動機其實就是利用KMP算法的線性性,得到的可以支持多模式串匹配多母串的算法,可以簡單理解爲Trie+KMP,fail指針的意義其實與KMP的nxt數組相似,就是前綴=後綴 算法流程: 1.用模式

原创 [FROM LUOGU]同餘方程

傳送門 【模板複習】 SOL 對於ax+by=gcd(a,b)ax+by=gcd(a,b)ax+by=gcd(a,b),我們可以得到bx′+(a mod b)y′=gcd(a,b)bx'+(a~mod~b)y'=gcd(a,b)b

原创 [FROM LUOGU][Violet]蒲公英

傳送門 SOL 暴力枚舉肯定會T 因此我們需要思考如何快速維護區間衆數 線段樹之類的數據結構複雜度較好,但是在這種情況下不能夠區間合併(區間衆數合併之後不一定還是衆數),而且這道題也沒有修改操作 再看看這個不大不小的數據規模,應該