原创 Lightoj 1027 Dangerous Maze (期望)

題意:你在一個迷宮裏,一共有n個門,走進每個門的概率是相同的,如果這個門是個正數(w)代表你將花費w的時間出去 如果是一個負數(-t)代表你將花費w的時間回到原點,回到原點後你選擇每個門的概率還是相同的。(求期望)  思路:根據期望的公式

原创 hdu2476 String painter (區間dp)

題意:給個a,b兩個字符串,刷a,一次可以將一個區間刷成一個字母,求最小的操作次數將a串變爲b串。 深深的感受到被dp支配的恐懼,,, 這道題真不好想。。。看題解看了好久纔看明白(菜哭😭 這道題要進行兩次dp 第一次:將a當成與b每個字符

原创 POJ 2955 Brackets (區間DP)

題意:求最長的括號匹配子序列。 區間dp基礎題,將k設爲在i~j與i匹配的結點,則dp【i】【j】=dp【i+1】【k-1】+dp【k+1】【j】+1; i與k匹配是+1,再加上中間的區間和右邊的區間。 這道題很好的讓我理解了一下區間dp

原创 POJ1651:Multiplication Puzzle (區間dp)

題意:一串數列,除了開頭和結尾,每次取一個數,然後+上a【i-1】*a【i】*a【i+1】的價值,然後讓求出最小的價值。 區間dp的經典題,這個k的值代表的是最後取的數,然後將區間劃分爲3部分dp【i】【k】+dp【k】【j】+a【i】*

原创 Cake (凸包+區間dp)

題意:一個多邊形先是確定是否是凸多邊形,可以用凸包模板來判斷。然後是求最小的切割價值。 最小切割價值用區間dp來求解dp【i】【j】=min(dp【i】【j】,dp【i】【k】+dp【k】【j】 #include<bits/stdc++

原创 P1091 合唱隊形(dp)

https://www.luogu.org/problemnew/show/P1091 題意就是求最長的先上升後下降的子序列(可以不上升也可以不下降)。 這道題給我個深刻的教訓,好好看題!!好好看題!!原本理解錯了,以爲要對稱的上升和下降

原创 P1020 導彈攔截(dp)

https://www.luogu.org/problemnew/show/P1020 題意:就是求最長上升子序列 #include<bits/stdc++.h> using namespace std; #define ll long

原创 模板

素數打表 int a[10006],num=0; bool visit[10006]; void table() { memset(visit,true,sizeof(visit)); for(int i=2;i<=10

原创 P1280 尼克的任務(dp)

https://www.luogu.org/problemnew/show/P1280 題意:給了k個時間段不能重疊,求能得到的最大的空餘時間。 狀態轉移方程:          這個時間段沒工作 dp[i]=dp[i+1]+1    

原创 P1064 金明的預算方案 (dp)

https://www.luogu.org/problemnew/show/P1064 題意:和開心的金明不一樣的是有附屬關係, #include<bits/stdc++.h> using namespace std; int dp[

原创 P1060 開心的金明 (dp)

題目描述 金明今天很開心,家裏購置的新房就要領鑰匙了,新房裏有一間他自己專用的很寬敞的房間。更讓他高興的是,媽媽昨天對他說:“你的房間需要購買哪些物品,怎麼佈置,你說了算,只要不超過NNN元錢就行”。今天一早金明就開始做預算,但是他想買的

原创 P1074 靶形數獨 (o2優化95分)

題目描述 小城和小華都是熱愛數學的好學生,最近,他們不約而同地迷上了數獨遊戲,好勝的他們想用數獨來一比高低。但普通的數獨對他們來說都過於簡單了,於是他們向 Z 博士請教,Z 博士拿出了他最近發明的“靶形數獨”,作爲這兩個孩子比試的題目。

原创 B-煙花 (求期望)

https://www.nowcoder.com/acm/contest/180/B 期望什麼的根本不會啊,先記錄下來。。。 #include<bits/stdc++.h> using namespace std; double a[1

原创 hdu1850 Being a Good Boy in Spring Festival (sg函數)

Problem Description 一年在外 父母時刻牽掛 春節回家 你能做幾天好孩子嗎 寒假裏嘗試做做下面的事情吧 陪媽媽逛一次菜場 悄悄給爸爸買個小禮物 主動地 強烈地 要求洗一次碗 某一天早起 給爸媽用心地做回早餐 如果願意 你

原创 sg函數模板

1.可選步數爲1~m的連續整數,直接取模即可,SG(x) = x % (m+1); 2.可選步數爲任意步,SG(x) = x; 3.可選步數爲一系列不連續的數,用GetSG()計算 打表 //f[]:可以取走的石子個數 //sg[]:0