題目鏈結
思路:一開始確實也沒往數學方面寫,但是想化簡指數,畫著畫著就發現了可以兩邊同時取個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...