牛客每日一題 子串行(數學 動態規劃)(好題)

2021-10-05 14:01:44 字數 523 閱讀 9869

題目鏈結

思路:一開始確實也沒往數學方面寫,但是想化簡指數,畫著畫著就發現了可以兩邊同時取個ln,於是問題就變成了ln(x)/x這個函式的單調遞增的子串行個數,剩下的就是計數dp了,dp【i】代表以i為結尾的滿足條件的子串行個數。(這裡簡單寫一下公式的化簡,兩邊同時取ln就變成了pj *ln(a[i])#include

using

namespace std;

typedef

long

long ll;

const

int maxn=

105;

const

int mod=

1e9+7;

ll ans=

0,dp[maxn]

;int

main()

printf

("%lld\n"

,ans)

;}

牛客競賽每日一題3 27 數學考試 動態規劃

雖然說是動態規劃實則就是在暴力找答案。我們答案要求的是兩個區間,所以我們只要選取乙個區間,然後列舉這個區間往前的所有區間能提供的最大答案就好了。我們需要什麼呢value i 區間的最後位置是i,這個區間的權值總和.這個value可以用字首和輕鬆算。下乙個就是fmax i 代表的是 1,i 這些位置能...

牛客每日一題3 26 合併回文子串 動態規劃

首先這種題肯定是動態規劃!不要往其他地方想。要怎麼做呢先從單個串要怎麼判斷區間最長回文來說。單個串如果要判斷任意乙個區間 l,r 是不是回文可以去寫區間dp,對於乙個串長度大於2的回文串,如果要在此基礎上在延長串的長度必然是在頭尾加兩個,所以對於乙個串的就可以寫出方程 f l r f l 1 r 1...

數碼 牛客每日一題

題意 給定兩個整數 l 和 r 對於所有滿足 1 l x r 10 9 的 x 把 x 的所有約數全部寫下來。對於每個寫下來的數,只保留最高位的那個數碼。求1 9每個數碼出現的次數。思路 可以轉化為1到 r 的問題,列舉約數 a,找到有多少約數 b,使得 a b 在1 到 r 的範圍內。統計數量。a...