數字dp(恨7不成妻)

2021-07-27 16:50:05 字數 1023 閱讀 5607

hdu-4507 吉哥系列故事——恨7不成妻 數字dp

思路:想必普通的統計滿足條件的個數都會吧,這裡就不在贅述了,

dp[i][j][k]代表長度為i,數字對7取餘數為j,數字各個位數加起來對7取餘數k;僅僅用dp[i][j][k]的值代表個數是不能得到答案的,還要統計滿足條件的和還有平方和;

開結構體,維護和的時候假如是算332+321則可以拆分為300*2(就是以3開頭的長度為3的有多少個)+(32+21)(長度為2的和);按照這樣則每一次深搜完關於某個長度開頭為x的都可以直接計算其和;

平方和則是,假如算的是332的平方+321的平方 (300的平方)* 2(以3開頭長度為3的有多少個)+(32平方+21平方)(長度為2的平方和)+(2*300*(32+21)(長度為2的和));這是跟據平方和的公式推出來的(x

+y)2

=x2 +y2

+2∗x

∗y;

#include

#include

#include

#include

#define ll long long

using namespace std;

const int mod=1e9+7;

struct zp

} dp[30][10][10];

intx[100];

ll cf[100];

zp dfs(int len,int num,int mod,int flag)

if(!flag&&dp[len][num][mod].cnt!=-1) return dp[len][num][mod];

int stop=flag?x[len]:9;

for(int i=0; i<=stop; i++)

if(!flag) dp[len][num][mod]=ans;

return ans;

}zp solve(ll n)

return dfs(cont-1,0,0,1);

}int main()

}

數字dp 恨7不成妻

題目描述 單身!依然單身!吉哥依然單身!ds 級碼農吉哥依然單身!所以,他平生最恨情人節,不管是 214 還是 77 他都討厭!吉哥觀察了 214 和 77 這兩個數,發現 2 1 4 7 7 7 7 2 77 7 11 最終,他發現原來這一切歸根到底都是因為和 7 有關!所以,他現在甚至討厭一切和...

恨 7 不成妻

求出一段區間內與 7 無關的數的平方和,我們定義這個數與 7 有關當且僅當這個數滿足下列條件之一 1 某一位為 7 2 數字和為 7 的倍數 3 這個數本身是 7 的倍數。這題並不算裸的數字 dp 題,顯然如果對於計數我們很容易得到這個區間內滿足條件的個數,而為了使數字 dp 的 dp 能夠有子狀態...

HDU 4507 恨7不成妻(數字dp )

題目 求在一定區間內和7無關的數字的平方和。如果乙個整數符合下面3個條件之一,那麼我們就說這個整數和7有關 1 整數中某一位是7 2 整數的每一位加起來的和是7的整數倍 3 這個整數是7的整數倍 基本思想是 x y 2 x 2 2 x y y 2 維護sum和sqrt sum,以及數量cnt來確定用...