E 牛牛的隨機數 數字dp

2021-10-03 13:19:03 字數 943 閱讀 4176

e 牛牛的隨機數

題解:思路就是算二進位制每個位置的貢獻,然後再將每個位置的貢獻加起來就是總貢獻。

關鍵是數字dp咋寫;我看了半天就是唯一想不通的地方就是為啥要

lim == 0 時才能記憶化轉移,同樣才能給dp賦值。因為當lim==1時說明這個位置有限制所以你列舉的那個數字的數字可能就不是1,就可能多加貢獻。所以需要沒有限制的時候那麼你列舉的數字必然可以達到1,所以可以無腦轉移。

#include

#define ll long long

using

namespace std;

const

int mod =

1e9+7;

ll dp[

100]

[100][

2];int a[

100]

;ll dfs

(int pos,

int k,

int lim,

int f)

ll div

(ll x,

int k)

return

dfs(pos,k,1,

0);}

ll inv

(ll x)

return ans;

}int

main()

// ans %= mod ; ans += mod ;

ans %

= mod;

ans = ans *

inv(

(r2-l2+1)

%mod *

((r1-l1+1)

%mod )

% mod)

% mod;

ans %

= mod;

printf

("%lld\n"

,ans);}

}

牛客網 牛客假日團隊賽5 隨機數 數字dp

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 正如你所知,奶牛們沒有手指以至於不能玩 石頭剪刀布 來任意地決定例如誰先 的順序。她們甚至也不能通過仍硬幣的方式。所以她們通過 round number 競賽的方式。第...

ccf 有趣的數(數字dp)

問題描述 我們把乙個數稱為有趣的,當且僅當 1.它的數字只包含0,1,2,3,且這四個數字都出現過至少一次。2.所有的0都出現在所有的1之前,而所有的2都出現在所有的3之前。3.最高位數字不為0。因此,符合我們定義的最小的有趣的數是2013。除此以外,4位的有趣的數還有兩個 2031和2301。請計...

linux下隨機數字的生成

方法一 命令大致如下 echo 16 dd if dev urandom bs 1 count 4 2 dev null od a n t x4 sed s 1 9a fa f g 分開來看 echo 16 abc 意思是將十六進製制數abc轉換成十進位制數 command 意思是兩個 中間的命令執...