C Multiplicity 思維 dp優化

2021-10-21 20:01:18 字數 742 閱讀 1449

思路:dp[i][j]:前i個且第i個的長度為j的序列個數

dp[i][j]+=dp[i-1][j]; 前i個,且當前i為終點長度為j的序列

if(a[i]%j==0) dp[i][j]+=dp[i-1][j-1];

o(n^2)的優化,由於a[i]不是所有的長度j都滿足,滿足的是其所有約數。也就是o(sqrt)

於是轉移從其預處理的約數字置轉移過來。

比如其中乙個因數是7,那麼加上長度為6的總數。

因為壓縮維度,類似01揹包的倒序。

從大到小列舉因子。

#include#include#include#include#include#include#include#include#include#define debug(a) cout<<#a<<"="void solve(ll id,ll num)

else}}

sort(v[id].begin(),v[id].end());

}int main(void)

///dp[i][j]+=dp[i-1][j]; 前i個,且當前i為終點長度為j的序列

///if(a[i]%j==0) dp[i][j]+=dp[i-1][j-1];

dp[0]=1;

for(ll i=1;i<=n;i++)

} ll ans=0;

for(ll j=1;j<=n;j++)

cout

}

理性思維與感性思維

我對藝術的定義簡單地說就是 藝術是用來表達我們的感性存在的媒介。而對思想,我的定義是 思想是人思考的過程和結果的總稱。過程包括對外在世界 包括人自身 的觀察,綜合,邏輯推理等等,結果就是觀點,觀念等等。總的來說,藝術和思想是人類精神活動的兩大類,乙個涵蓋 感性思維 乙個代表 理性思維 乙個傳達感情,...

數學思維和程式設計思維

1 程式設計沒有數學基礎不行 2 但懂數學不等於懂程式設計 舉乙個例子 求1 2 3 4 99 100的和。數學解法通常是 1 1 100 100 2 5500 2 小學生的解法 1 2 3 3 3 6 這樣累算下去。程式設計解法呢?跟數學解法2相同,如下 static void main stri...

程式設計的誤區,思維啊思維

自從會了ajax js還有ext這些東西後,做web開發總會不自覺的全部使用這些東西,做查詢 介面布局等等,重點倒不是寫 了,一堆堆的js佔了大量的工作。剛開始沒發現什麼,現在覺著這個問題很嚴重啊。發現這個問題還是得從剛剛完成的通用查詢,寫了幾百kb的純js 來控制頁面,頁面布局劃分 條件組合等控制...