原创 P1880 [NOI1995]石子合併(區間dp)

https://www.luogu.org/problemnew/show/P1880 題意:一串環形的數,每相鄰的兩個數可以合併,加上價值,價值是兩個數的和,求最大和最小价值。 思路:區間dp板子,有一點要注意因爲是環形的數,首位和末尾

原创 New Game! (最短路)

https://www.nowcoder.com/acm/contest/201/L 題意:給兩條平行的直線,還有n個圓,在直線和圓上走不耗時間,求最短的時間從一條直線到另一條。 思路:這道題就是讓求最短距離,但真沒想到真是用最短路寫的。

原创 深度優先搜索(DFS)

深度優先搜索算法(Depth-First-Search),是搜索算法的一種。是沿着樹的深度遍歷樹的節點,儘可能深的搜索樹的分支。當節點v的所有邊都己被探尋過,搜索將回溯到發現節點v的那條邊的起始節點。這一過程一直進行到已發現從源節點可達的

原创 ACM-ICPC Jiaozuo Onsite 2018 Honeycomb【bfs】

題意:其實就是迷宮直接跑就行了,原本還想把迷宮轉換一下想麻煩了。。 #include<bits/stdc++.h> using namespace std; const int INF =100000000; char mp[10000

原创 CodeForces - 215E 【數位dp】

Ť題意:判斷一個區間中有多少個數是二進制時是循環的,比如101010,以10爲循環。 思路:以位數來處理,i是處理到當前長度i,j是循環體的長度,當i<len【二進制的長度】時只要i%j==0則長度爲j時的全部數都可以,當i==len時要

原创 P1118 數字三角形【楊輝三角+全排列】

#include<bits/stdc++.h> using namespace std; int a[20][20]; int b[20]; int c[20][20]; int cmp(int a,int b) { return a

原创 hdu 2089 不要62【數位dp】

題意:給定一個範圍n~m,求出數中不存在4和連續62的數的個數。 數位dp經典入門題。 #include<bits/stdc++.h> using namespace std; #define ll long long int digi

原创 P1045 麥森數【數學】

題意:2^p-1的位數和後500位的每個數。 位數直接公式p*log10(2)+1. 後500位可以每次乘2^20能節約很多時間 #include<bits/stdc++.h> using namespace std; long lon

原创 ZOJ - 3469 Food Delivery (區間dp)

題意:一條在x軸的路,一個飯店(起始點)和n個顧客,每個人都有一個抱怨值隨時間累加,求最小的抱怨值。 巨難啊。。。不會啊。。。 區間dp【i】【j】【0/1】0代表在左邊停下,1在右邊停下,dp【i】【j】【0】可以從dp【i+1】【j】

原创 HDU 4283 You Are the One【區間dp】

題意:n個人排成一排,每個人輪流上場,第i個人上場有(i-1)*a【i】的憤怒值,有一個小黑屋,你可以把人塞進去,先進的後出來,求最小的憤怒值。 dp不虧是dp真難(可能是我太菜了。。。感覺寫了不少了但還是很難自己寫出來,菜哭 題解;區間

原创 LightOJ1079---Just another Robbery(01揹包)

題意:搶銀行,一共有n個銀行,每個銀行可以搶v【i】的錢,被抓的概率是m【i】。問在低於P概率的情況下,最多能搶多少錢。 思路;01揹包dp【i】存的是搶到【i】錢不被被抓的概率。1-dp【i】就是被抓的概率。 #include<std

原创 LIghtOJ1038---Race to 1 Again【期望dp】

題意:一個整數n每次除以他的因子求除以到1時的期望次數。 t=10000,100000>=n>=1肯定要打表的。 dp【50】=(dp【1】+dp【2】+dp【5】+dp【10】+dp【25】+dp【50】)/6+1。1是貢獻的次數1。

原创 poj 3281 Dining 【網絡流+拆點】

題意:農夫能做F種食物D種飲料,n頭牛每頭牛隻吃特定食物和飲料,求最大的農夫能滿足的牛的個數(食物和飲料都要滿足 第一道網絡流的題,主要是建圖,建好圖就是敲模板了。。。 這道題拆點,0是源點,1~f【食物】,【f+1~n+f】 左牛【n+

原创 POJ - 2195 Going Home 【最小費用流】

題意:n*m的地圖有人和房子,要讓每個人進入一個房子(每個房子只能進入一個人,人可以走任何地方(可以經過房子也可以多 人在一個位置,每個人走一步花費1美元,求最小的花費。 思路:最小費用流模板,建好圖。。抄模板就行了,這個圖比較好建。 原

原创 LightOJ 1030 - Discovering Gold (期望dp)

題意:1*n的迷宮,剛開始在1的位置,你有一個骰(這個字居然念tou。。。漲知識了)子,你每次前進骰子的數。 每個位置還有金子的個數求到n時的金子的期望,走到迷宮外時重新骰。 dp【n】=a【i】,dp【i】=dp【i+1】/6+dp【i