q~ 拋一枚硬幣 n 次,每次可能是正面或者反面向上,求沒有連續超過 k 次硬幣向上的方案數
a :dp[ i ] 表示到 i 位置的方案數,
1 . 當 i < k 時, dp[i] = dp[i-1]*2
2 . 當 i = k 時, dp[i] = dp[i-1]*2 - 1
3. 當 i > k 時, dp[i] = dp[i-1]*2 - dp[i-k-1]
ll n, k;q~ 有三種字母, 乙個長度為 n 的序列的每乙個位置只可能是這三種字母,但要求連續的三個位置不能同時出現這三種,求方案數ll dp[maxn];
void solve()
ll ans = (res-dp[n]+mod)%mod;
printf("%lld\n", ans);
}
a :dp[i][0] 表示 i 位置與 i-1 位置相同的方案數, dp[i][1] 表示 i 位置與 i-1 位置不同的方案數
法1 : 可以直接貪心,低的時候就買,高的時候就賣, o(n)
法2 : 可以 dp,dp[ i ][0] 表示第 i 天的時候手裡沒有**的最大利潤, dp[i][1] 表示第 i 天手裡有**的最大利潤
dp[i][0] = max(dp[i-1][0], dp[i-1][1]+prices[i]);
dp[i][1] = max(dp[i-1][1], dp[i-1][0]-prices[i]);
各種小技巧
在乙個單調的陣列vv中判斷是否有 l r的其中乙個數。二分找到 大於等於l 的下標 cc 二分找到大於 r 的下標dd 如果cc dd那麼就不存在 int cc lower bound vv.begin vv.end l vv.begin int dd upper bound vv.begin vv...
精 google 大會小總結
1 kotlin 已經有50 的開發在使用了,趕緊去學習吧,kotlin將會是google 的第一開發語言 2 人工智慧方面google 將會更多的去涉及到,tensorflow,一定要去看看,google 機器學習的官方的文件 3 google 的語音識別,已經將雲端的識別放到了本地,之前需要10...
Python的各種小應用
在檔案頭加上 coding utf 8 這一行就可以用中文注釋了 二 python中解除安裝django cd usr local lib python2.7 dist packages 然後進入root許可權,刪除django的相關版本 三 在python下面使用mysql一定要記得安裝mysql...