原创 動態規劃問題——招聘會

題目背景: 那一年,這一年,青春散場,到畢業季,我們奔波着忙着找工作,來到招聘會上,看到黑壓壓的一大片人羣.. 題目描述: 畢業季,很多大公司來學校招聘,招聘會分散在不同時間段,小明想知道自己最多能完整的參加多少個招聘會(參加一個招聘會的

原创 動態規劃——數字塔

題目描述: 第i行有i個數字,每次只能向下或向正右方走,求和最大的路徑的和 3 1    5 8    4    3 2    6    7    9 6    2    3    5    1   與貪心算法不同的是,因爲每次只能向下或

原创 洛谷 P3372 線段樹1

#include <stdlib.h> #include <cstdio> #include <iostream> #include <queue> #include <stack> #include <string.h> #inclu

原创 洛谷 P3375

 有兩種設置f數組的方式 一種是 f[i] 代表i之前的字符串的最長相同前綴後綴長度,f[0]初始化爲-1 一種是 f[i] 代表1~i+1的字符串的最長相同前綴後綴長度,f[0]初始化爲0   不錯的KMP算法博客:https://bl

原创 POJ 2528 Mayor's posters

我所理解的離散化,感覺像是數組下標計數法和排序後再數的差別。 數組下標計數法,如果樣例爲1,1,10000000,那麼需要至少a[10000001]的數組,其中a[1]=2,a[10000000]=1,其餘都是零 如果數字範圍很大,而輸入

原创 POJ 1251 Jungle Roads(Prim+Kruscal)

Prim: 一開始自己寫了個函數找字母和數字對應關係WA,利用ASCII就對了。。。 仔細一看26個字母寫錯了。。。敲代碼的時候就擔心這個問題還檢查過還是錯了,引以爲戒! #include <stdlib.h> #include <st

原创 UVA 11624 Fire!

題目描述: Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected

原创 HDU 1754 I Hate It

單點修改,區間查詢,sum的規則有些許改變  #include <stdlib.h> #include <cstdio> #include <iostream> #include <queue> #include <stack> #in

原创 洛谷 P3374 樹狀數組1

#include <stdlib.h> #include <cstdio> #include <iostream> #include <queue> #include <stack> #include <string.h> #inclu

原创 CodeForces - 123A Prime Permutation

一道思維題。 沒怎麼觀察規律,直接按字面意思做的。用並查集將字符相同的位置歸類,然後將類數和已出現字符數量比較,如果出現字符數量小於類數則失敗。這道題巧了沒有複雜的情況比如6 4對4 3 3,否則就錯了 網上搜到了更科學的解法:https

原创 SPOJ - DQUERY D-query

練習離散化所以用了f,ref數組。這道題的ai範圍是1e6,或許可以不用離散化?    #include <stdlib.h> #include <cstdio> #include <iostream> #include <queue>

原创 洛谷 P3368 樹狀數組2

#include <stdlib.h> #include <cstdio> #include <iostream> #include <queue> #include <stack> #include <string.h> #inclu

原创 HRBUST 1835 最長遞增子序列

題目描述: 給出一個數字序列求其最長的遞增子序列例如序列(1,7,3,5,9,4,8). (1,7)和(3,4,8)是其遞增子序列但其最長的遞增子序列是(1,3,5,8)。   Input 本題有多組測試數據,對於每組測試數據第一行是一個

原创 HDU 2041 超級樓梯

題目描述: 有一樓梯共M級,剛開始時你在第一級,若每次只能跨上一級或二級,要走上第M級,共有多少種走法? Input 輸入數據首先包含一個整數N,表示測試實例的個數,然後是N行數據,每行包含一個整數M(1<=M<=40),表示樓梯的級數。

原创 HDU 1166 敵兵佈陣

線段樹,單點修改,區間查詢  #include <stdlib.h> #include <cstdio> #include <iostream> #include <queue> #include <stack> #include <s