1. 程式人生 > >POJ 水題(刷題)進階

POJ 水題(刷題)進階

一.基本演算法要求:
(1)程式碼快速寫成,精簡但不失風格
(poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)
(2)保證正確性和高效性. poj3434
二.圖演算法:
(1)度限制最小生成樹和第K最短路. (poj1639)
(2)最短路,最小生成樹,二分圖,最大流問題的相關理論(主要是模型建立和求解)
(poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446
(3)最優比率生成樹. (poj2728)
(4)最小樹形圖(poj3164)
(5)次小生成樹.
(6)無向圖、有向圖的最小環
三.資料結構.

(1)trie圖的建立和應用. (poj2778)
(2)LCA和RMQ問題(LCA(最近公共祖先問題) 有離線演算法(並查集+dfs) 和 線上演算法
(RMQ+dfs)).(poj1330)
(3)雙端佇列和它的應用(維護一個單調的佇列,常常在動態規劃中起到優化狀態轉移的
目的). (poj2823)
(4)左偏樹(可合併堆).
(5)字尾樹(非常有用的資料結構,也是賽區考題的熱點).
(poj3415,poj3294)
四.搜尋
(1)較麻煩的搜尋題目訓練(poj1069,poj3322,poj1475,poj1924,poj2049,poj3426)
(2)廣搜的狀態優化:利用M進位制數儲存狀態、轉化為串用hash表判重、按位壓縮儲存狀態、雙向廣搜、A*演算法. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482)
(3)深搜的優化:儘量用位運算、一定要加剪枝、函式引數儘可能少、層數不易過大、可以考慮雙向搜尋或者是輪換搜尋、IDA*演算法. (poj3131,poj2870,poj2286)
五.動態規劃
(1)需要用資料結構優化的動態規劃.
(poj2754,poj3378,poj3017)
(2)四邊形不等式理論.
(3)較難的狀態DP(poj3133)
六.數學
(1)組合數學.
1.MoBius反演(poj2888,poj2154)
2.偏序關係理論.
(2)博奕論.
1.極大極小過程(poj3317,poj1085)
2.Nim問題.
七.計算幾何學.
(1)半平面求交(poj3384,poj2540)
(2)可檢視的建立(poj2966)
(3)點集最小圓覆蓋.
(4)對踵點(poj2079)
八.綜合題.
(poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263)

相關推薦

POJ

一.基本演算法要求: (1)程式碼快速寫成,精簡但不失風格 (poj2525,poj1684,poj1421,poj1048,poj2050,poj3306) (2)保證正確性和高效性. poj3434 二.圖演算法: (1)度限制最小生成樹和第K最短路. (poj1639) (2)最短路,最小生成樹

[洛谷U22157]數位dphash

() class LG 取模 輸出格式 IT 接下來 ott scoi2012 題目背景 做正經題是不可能做正經題的,這輩子都不可能做正經題的,毒瘤題又不會做毒瘤題,就是水題這種東西,才維持了蒟蒻的信心; 題目描述 這裏有N+1 道水題,編號分別為

PAT Java語言

group ron asn extra rms cas should 語言 () 1001. A+B Format (20) 時間限制 400 ms 內存限制 65536 kB 代碼長度限制 16000 B 判題程序 Standard 作者 CHEN, Y

POJ-1251 Jungle Roads---MST裸需要編號

i++ span col 其他 init edge target tps lan 題目鏈接: https://vjudge.net/problem/POJ-1251 題目大意: 首先給你一個圖,需要你求出最小生成樹,輸入N個節點,用大寫字母表示了節點,然後節點與節點之間有權

c++3/100數獨,棧和隊列

彈出 iter char col 編寫 實現 滑動窗口 title 表示 stack的基本操作 ? s.size():返回棧中的元素數量 ? s.empty():判斷棧是否為空,返回true或false ? s.push(元素):返回對棧頂部“元素”的可變(可修改)引用 ?

c++15/100矩陣轉置,最深子樹

標記 i++ con 結果 最短 網上 矩陣的轉置 alloc tree 題目一:矩陣轉置 給定一個矩陣 A, 返回 A 的轉置矩陣。 矩陣的轉置是指將矩陣的主對角線翻轉,交換矩陣的行索引與列索引。 示例 1: 輸入:[[1,2,3],[4,5,6],[7,8,9]]

c++21/100樹的打印、矩陣覆蓋和括號生成

生成 一個 ring 第一個 pop 全局 over 矩形 node 題目一:把二叉樹打印成多行 從上到下按層打印二叉樹,同一層結點從左至右輸出。每一層輸出一行。 思路:一開始以為2維的vector可以直接訪問,但是試了是不行,會報錯,vector在有值之前不能直接訪問,所

leetcode java版本

1、leetcode 1 給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例: 給定 nums = [2, 7, 11, 15], target = 9 因為 nums[0] + nums[1] = 2

LeetCode記錄——第七十爬樓梯

題目描述 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 示例 1: 輸入: 2 輸出: 2 解釋: 有兩種方法可以爬到樓頂。 1 階 +

LeetCode記錄——第二十八實現strStr()

28.實現strStr() 題目描述 程式碼實現 題目描述 實現 strStr() 函式。 給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置 (從0開始)

LeetCode——第七整數反轉

7.整數反轉 題目描述 思路 程式碼實現 題目描述 給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。 示例 1: 輸入: 123 輸出: 321 示例 2: 輸入: -123

使用pythonLeetcode演算法第二週

第二週了。。。又刷了一週,這周明顯感覺刷起來更順了,加油!!!! Pascal’s Triangle 英文描述: Given numRows, generate the first numRows of Pascal’s triangle. 例子:

使用pythonLeetcode演算法第一週

明年六月份開始找工作,因此從這周開始刷題,希望記錄一下刷題的過程,由於種種原因選擇了python進行刷題,我會在每週的週日記錄下本週在Leetcode中刷過的題,並附上程式碼以及心得,以作備忘。。。。。 Two Sum 第1題 英文描述:Given

HDU 1075.What Are You Talking About【Map字典樹】【5月25】

What Are You Talking About Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others) Total Submission(s): 1

開始在LeetCode上1-9

因為兩週前,對繼續讀理論書有點抗拒,所以想找點可以直接動手做的事,後來就找到了LeetCode。 到目前在LeetCode上完成了前9道題。 比較考腦子,就算把功能完成了,但隨後LeetCode顯示的排名也會讓你想繼續想如何優化已經寫好的程式碼,往往優化

LeetCode記錄——第389找不同

題目描述 給定兩個字串 s 和 t,它們只包含小寫字母。 字串 t 由字串 s 隨機重排,然後在隨機位置新增一個字母。 請找出在 t 中被新增的字母。 示例: 輸入: s = “abcd” t = “abcde” 輸出: e 解釋:

LeetCode記錄——第383贖金信

題目描述 給定一個贖金信 (ransom) 字串和一個雜誌(magazine)字串,判斷第一個字串ransom能不能由第二個字串magazines裡面的字元構成。如果可以構成,返回 true ;否則返回 false。 (題目說明:為了不暴露贖金信字跡,要從雜誌上搜索各個需要的字母

LeetCode記錄——第293Nim遊戲

題目描述 你和你的朋友,兩個人一起玩 Nim遊戲:桌子上有一堆石頭,每次你們輪流拿掉 1 - 3 塊石頭。 拿掉最後一塊石頭的人就是獲勝者。你作為先手。 你們是聰明人,每一步都是最優解。 編寫一個函式,來判斷你是否可以在給定石頭數量的情況下贏得遊戲。 示例: 輸入

LeetCode記錄——第290單詞模式

題目描述 給定一種 pattern(模式) 和一個字串 str ,判斷 str 是否遵循相同的模式。 這裡的遵循指完全匹配,例如, pattern 裡的每個字母和字串 str 中的每個非空單詞之間存在著雙向連線的對應模式。 示例1: 輸入: pattern = “

LeetCode記錄——第283移動零

題目描述 給定一個數組 nums,編寫一個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。 示例: 輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0] 說明: 必須在原陣列上操作,不能拷貝額外的陣列。 儘量減少操作次數。 思