原创 【BZOJ1000】【POJ1000】【HDU1000】【Vijos P1000】A+B Problem

A+B Problem ,全世界除 "hello, world" 和 POJ3800/3801... 外最經典的信息學題目,沒有之一! 但是同樣是一道題,要求在代碼中不出現“+”、“-”、“*”、“/”、“%”五種運算符,我們又能怎樣解決

原创 【BZOJ】初級水題列表——獻給那些想要進軍BZOJ的OIers

BZOJ初級水題列表——獻給那些想要進軍BZOJ的OIers 順便紀念我的BZOJ 50_Problems_ACCEPTED 代碼長度解釋一切! 注:以下代碼描述均爲C++ RunID User Problem Result Memor

原创 【算法雜談_02】樹鏈剖分

我們知道,對一段連續區間進行修改/求和/求極值……操作,可用線段樹等數據結構進行維護。那麼,如果這不是一個區間,而是一棵樹,我們又能怎樣解決?此時我們就用到了樹鏈剖分——這一專爲此類的問題而生的算法。 樹鏈剖分的原理是將一棵樹劃分爲幾部分

原创 【BZOJ3629】[JLOI2014]聰明的燕姿 數學+搜索

我遇見誰會有怎樣的對白 我等的人他在多遠的未來 我聽見風來自地鐵和人海 我排着隊拿着愛的號碼牌 ——孫燕姿《遇見》 題意:給出一個數S,求約數和等於S的數。 作爲一道數學題,首先需要了解一些數學定理: 算數基本定理: 任何一個大於1的自然

原创 【算法雜談_01】那些非主流排序算法

世界上的排序算法千千萬,作爲一名程序設計師 ,若僅對冒泡、插入、選擇或者是歸併、快排、堆排等主流排序方法背得滾瓜爛熟,未免讓排序算法這一斑斕的領域褪色。事實上,排序算法種類多樣到令人髮指的程度。本文選出三種較有代表性的非主流排序方法略作介

原创 【BZOJ2049】[Sdoi2008]Cave 洞穴勘測 Link-Cut-Tree

Link-Cut-Tree詳細解釋看這裏 Link/cut tree From Wikipedia, the free encyclopedia . #include <cstdio> #include <cstring> #includ

原创 【BZOJ3732】Network 最小生成樹+LCA

這根本明明和NOIP2013第三題火車運輸幾乎一模一樣的好嗎? 要求難度在省選之上難道也是在逗我?或者NOIP的難度已經在省選之上了?0.0 回想起當初的我,剛剛學會結構體快排qsort就上考場(那時的我們還是C黨)……那時的我還不知道什

原创 【BZOJ2120】數顏色 循環

樹套樹!Oh!God!No! 一個萌萌噠的同班同學(PoPoQQQ)告訴我,這題其實是水暴力! (PS:這麼水的題你爲什麼要刷?RE:因爲下午偷偷玩遊戲被老師發現結果假期被罰BZOJ十道題~~~況且我本來就是一隻大水怪~~~) 令人費解的

原创 【BZOJ1507】[NOI2003]Editor Splay

仍然是Splay模板題,水水化版 1500 ,水化版 1269 。讓我們寫一下輸出操作(簡簡單單),然後盡情地往下刪除該死的第四個操作的噁心代碼!!!(原諒我這樣討厭的做題順序) 終於,Splay失去了它所有的標記和 pushdown 操

原创 【BZOJ1041】[HAOI2008]圓上的整點 數學

數學題…… [HAOI2008]圓上的整點 C++代碼實現: #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <alg

原创 【BZOJ1500】[NOI2005]維修數列 Splay

Splay終極模板題…… 很清楚,像線段樹一樣維護兩個標記。對於第六個詢問,還需維護區間左端最大子列和右端最大子列,不再贅述。詳見下列代碼。 [NOI2005]維修數列 C++代碼實現:#include <cstdio> #include

原创 【BZOJ1977】[BeiJing2010組隊]次小生成樹 Tree Kruskal+倍增LCA

次小生成樹: 先用Kruskal求出最小生成樹(當然用Prim……也沒關係~),再枚舉未出現在最小生成樹中的邊加入到其中,則形成了一個環。求出環中除新加邊外權值最大的邊(使得新增權值最小)並刪去,即得到次小生成樹。 事實上,環路中權值最小

原创 【BZOJ2243】[SDOI2011]染色 樹鏈剖分

又是一道一眼看去就是樹鏈剖分的題。 仍然是線段樹,維護一段區間內顏色段的數目。 此題難點是線段樹的寫法以及邊界判斷:若兩段區間相鄰且處於左邊的區間右端點和右邊的區間左端點被塗有相同的顏色,則這兩段區間總顏色段的數量爲各自的數量之和 -1

原创 【BZOJ3680】吊打XXX 計算幾何 廣義費馬點+模擬退火(爬山算法)

做題之前: 令一個點到一個分身的距離爲兩點間的幾何距離*這個分身的重力,則到所有分身的距離之和最小的點即爲所求。 因此題各種參數實在太恐怖,使得模擬退火TLE/WA無數次。強烈建議此題更名爲“吊打出題人”。 在此感謝網上的大神給了我們調參

原创 【BZOJ2819】Nim 博弈論+樹鏈剖分

又一道博弈論,先來了解一下Nim遊戲~ Nim遊戲:一種經典 ICG (Impartial Combinatorial Games)——兩個人進行遊戲,N堆石子,每回合可以取其中某一堆的任意多個,可以取完,但不可以不取。誰不能取誰輸。 我