/**
* 數字dp:
* 和hdu 3555類似,稍微複雜了點點,不同在於,
* 一、多考慮4的情況
* 二、因為子串是「62」 而3555的子串「49」 末尾數字不同
* 所以這題要多加一種情況if(num[i] > 2 && last == 6) //last 表示前一位數num[i+1]
* 狀態還是一樣:
* dp[i][0] 表示所有不含不吉利的數開頭任意
* dp[i][1] 表示所有不含不吉利的開頭為2的數
* dp[i][2] 表示所有含不吉利的數
*/#include #include #include #include #include #include #include #include #include #define debug 0
#define inf 0x1fffffff
#define maxn 100005
typedef long long ll;
using namespace std;
int dp[10][3];
int digit[10];
int cal(int x)
for(int i = cnt; i >= 1; i --)
else
if(last == 6 && digit[i] == 2 || digit[i] == 4)
bad = true;
last = digit[i];
}return ori - ans;
}int main()
int a, b;
while(scanf("%d%d", &a, &b), a+b)
return 0;
}
HDU 2089 數字 dp 入門
可暴力,可dp。參考資料 click me 第二個版本的 參考資料 7k 的板子 第二個版本 在下面 做這道題的時候有兩個疑問 第一 既然在dp中 51 既可以看做 51 也可以看做 0051 或者 000051 那麼51這個數字會不會計算多次。第二 既然狀態轉移保證了數字的合法,在統計的時候是否還...
HDU 2089 數字dp入門
開始學習數字dp.一道昨天看過 思想的題今天打了近兩個小時.最後還是看了別人的 找bug.丟丟 傳說院賽要取消 這麼菜不出去丟人也好吧 include include include include include includeusing namespace std int n,m 數字dp 含6...
hdu 2089 初學數字dp
學習數字dp兩天了,哈哈哈今天我這個菜雞就來分享一下我的學習歷程吧。就以hdu2089作為模板來講吧。怎麼講呢,在完全沒有接觸數字dp的時候,第一眼看到的想法就是暴力 畢竟資料不大,其實就算是我會了數字dp看到這題我也會暴力做的,畢竟直接就可以過嗎不是 暴力寫的是很早以前寫的 不過要打表,不然會超時...