原创 PKU2553 the bottom of the graph
昨天skyprophet 神牛給我講了一句用Tarjan求強連通分量,感覺並不太難,於是試了一下。它只是在基本的DFS中添了一段話。就是對一個頂點,當我們發現他滿足low=d 時,它就是一個強連通分量的頂部。我們同時需要用一
原创 USACO 1.5.2 prime palindromes
這道題應該也算CHAPTER1中有點兒價值的題。考察到了二分搜索和miller rabin判斷質數。 【prime palindromes】 /* ID: wangia6 TASK: pprime LANG: C++ */
原创 SOME SAYING
MESSAGES FROM MY TEACHER...BLESS FOR ME!
原创 USACO1.2.2 transfomations
這道題讓我弄會了函數中使用多維數組作參數。其實我原本想學學怎麼使用變參的…… /* ID: wangqia6 TASK: transform LANG: C++ */ #include <fstream> using namesp
原创 USACO 1.4.1 packing rectangles
我宣佈我手機報廢了… 這道枚舉是IOI95的題目。雖說是枚舉但是情況要考慮5種清楚(圖示中的4,5圖是同樣的情況),尤其是第6圖的一系列if-else非常非常叫我噁心! 【packing rectangles】 /* ID: wanq
原创 PKU2603 brave ballonists
這道題的大意是,十個數相乘,求所得積的約數個數。但是,它考察的顯然不是高精度計算,而是約數個數定理。對於一個數a,如果我們有: a=(p1^k1)* (p2^k2)* (p3^k3)*……*(pn^kn) 那麼a的約數個數爲
原创 PKU1144 network
本題考查的是尋找割點(也叫掛接點),運用DFS執行。 每個節點我們除了需要用d來記錄它的時間戳,還需要low來記錄它及其後裔中最淺的反向邊指向。對於一個圖的割點,我們能發現如下充要條件: (1)若u爲圖G搜索
原创 USACO 1.2 兩道題目
今天又弄了兩道題目。 這個memset要加<cstring>我老是給忘了…… 【name that number】 /* ID: wangqia6 TASK: namenum LANG: C++ */ #include <fst
原创 USACO1.3 三道題目
【mixing milk】 /* ID: wangqia6 TASK: milk LANG: C++ */ #include <fstream> #include <cstring> using namespace std; int
原创 淺談搜索入門
搜索是OI beginners 的必修課,也是在各類比賽中十分通用的技巧。已近三年遼寧省的NOIP 成績爲例,我們假設一名選手掌握了基本的搜索和模擬算法,那麼TA的成績將如下所示(均達到遼寧省省一線): 2010: 10
原创 PKU1804 brainman
這道題讓我們模擬冒泡排序,求交換次數,本質上是求序列的逆序對個數。 我們有兩種方法求解——歸併排序和樹狀數組。 【歸併排序】 program Brainman; const maxn=1005
原创 PKU1847 tram
這題上次做的時候居然是WA!我感到很莫名其妙。 只是一道最簡單的最短路而已。對於每個頂點,與其相鄰的第一個頂點權值爲0,其餘相鄰節點的權值爲1。求出從起點到終點的最短路即可! program tram; co
原创 PKU2413 how many fibs
學以致用,高精度題目一個!先用高精度加法預處理,接着一起二分搜索。 program fibs; const maxlen=200; maxn=500; stop='0 0'; type
原创 USACO 1.1 四道題目
都是非常簡單的,剛剛開始學習C++,就從USACO入手吧! 【your ride is here】 /* ID: wangqia6 TASK: ride LANG: C++ */ # include<fstream> # inclu
原创 USACO1.2 最後兩道題目
【milking cows】 /* ID: wangqia6 TASK: milk2 LANG: C++ */ #include <fstream> using namespace std; long st[5005],en[5005