原创 CodeChef Counting important pairs

題意:給定一個N 個點的聯通的無向圖,問有多少種方案,刪除2 條邊之後圖不連通。 題解:隨機化+樹形dp+xor. 具體寫起來有些小細節 /* ID:Agreement PROG:TYPEAIS */ // Invinci

原创 20161104校內訓練

T1 encoding 一道類似模擬的題,就根據所寫的東西來做就可以了。 #include <bits/stdc++.h> #define rep( i , l , r ) for( int i = (l) ; i <= (r)

原创 BZOJ 1202 狡猾的商人

題面: 刁奼接到⼀個任務,爲稅務部⻔調查⼀位商⼈的賬本,看看賬本是不是僞造的。賬本上記錄了n 個⽉以來的收⼊情況,其中第i 個⽉的收⼊額爲Ai(i=1...n) 。當Ai≥0 時表示這個⽉盈利Ai 元,當Ai≤0 時表示這

原创 LOI 2015 二叉蘋果樹

題目描述 有一棵蘋果樹,如果樹枝有分叉,一定是分2叉(就是說沒有隻有1個兒子的結點) 這棵樹共有N個結點(葉子點或者樹枝分叉點),編號爲1-N,樹根編號一定是1。 我們用一根樹枝兩端連接的結點的編號來描述一根樹枝的位置。下面是

原创 LOI 1352 沒有上司的舞會

題目描述 某大學有NN 個職員,編號爲1~NN 。他們之間有從屬關係,也就是說他們的關係就像一棵以校長爲根的樹,父結點就是子結點的直接上司。現在有個週年慶宴會,宴會每邀請來一個職員都會增加一定的快樂指數RiRi ,但是呢,如果某個

原创 Tree DP 總結

一些說在前面的默認設定: x: 當前節點 c: 當前節點的兒子節點 f: 當前節點的父親節點 (x,y) x->y的路徑 wx,y x->y的路徑長度 Example 1 description: 給定一個無向圖G ,求此

原创 LOI 1386 座位安排

題目描述 給n個人安排座位,先給每個人一個1~n的編號,設第i個人的編號爲aiai (不同人的編號可以相同),接着從第一個人開始,大家依次入座,第i個人來了以後嘗試坐到aiai ,如果aiai 被佔據了,就嘗試ai+1ai+1 ,

原创 SPOJ TREECST

題意:將一棵樹去掉一條邊再加上一條邊構成一棵樹,使新的樹直徑最小,輸出方案。 題解:假設我們移除了邊(a,b) 並且將整個樹分成了子樹A 和B 。現在我們需要選擇子樹中的兩個點將他們連接。 對於這樣的一個分割,顯然新樹的直徑爲ma

原创 BZOJ1015 星球大戰

題解: 同樣是一道好題,考查了我們對於逆向思維的理解。從最後開始加點,每次詢問剩下聯通塊的個數,這樣就迎刃而解了。 /* ID:Agreement LANG:C++ */ // Invincible #inc

原创 校內訓練 20161113

T1 Chocolate 給你一個n∗m 的矩陣,每個格子內都有一個權值aij 。問你是否可以將做k−1 次分割,每次拿出一個矩陣,將它沿水平或豎直方向分成兩塊矩形。分割完成後一共有k ,如果可以分割,輸出“Yes”,反之“No

原创 BZOJ 3721 PA2014 Final Bazarek

題意:給你n 個正整數,m 次詢問,每次給定一個k ,要求選擇k 個數和爲奇數且最大,輸出這個最大和。無解輸出-1. 題解:貪心,先對所有數去排序,如果最大的k 個數的和爲奇數,顯然就是答案。如果最大的k個數之和是偶數,那麼我可以

原创 2018 CCPC E.Escape

題目大意 給你一個N∗MN*MN∗M的方格,中間有障礙物,給你aaa個機器人以及bbb個出口,機器人開始都在(0,ai)(0,a_i)(0,ai​)的位置,出口在(N+1,bi)(N+1,b_i)(N+1,bi​),開始機器人的前

原创 2018Beijing H. Approximate Matching

重新學習了一遍AC自動機,之前也沒有系統性地學習過,現在看起來並不是那麼困難,就是在字典樹上面加了一個類似KMP的跳躍數組。 下面先上AC自動機的板子。 #include <bits/stdc++.h> #define rep(

原创 後綴數組(suffix-array)

前言 最近系統地學習了一下SA,就算法本身並不是十分複雜,但關係到後綴數組的題型卻很多,於是打算整理一下。 計算字符串SA通常有倍增和DC3兩種做法,一般選擇倍增,因爲常數小且寫起來方便一些。 基礎題型 一、重複子串(單個字符串問

原创 FWT 總結

FWT 快速沃爾什變換,簡寫FWT,變換肯定會想到FFT,和其相似,FWT同樣是用於求解某些特定的卷積的。 FFT求解的問題一般可以化成如下形式 Ck=Σi+j=kAi∗BjC_k=\Sigma_{i+j=k}A_i*B_jCk​