Untitled
unknown
plain_text
a year ago
1.7 kB
5
Indexable
1------------- #define MOD 1000000007 class Solution { public: int kInversePairs(int n, int k) { vector<vector<int>>dp(n+1,vector<int>(k+1,0)); dp[0][0]=1; vector<int>prev(k+1,0); prev[0]=1; for(int i=1;i<=n;i++){ vector<int>cur(k+1); for(int j=0;j<=k;j++){ for(int p=0;p<i;p++){ if(j-p>=0) cur[j]+=prev[j-p]%MOD; } } prev=cur; } return prev[k]; //prev =cur } }; 2------------------ #define MOD 1000000007 class Solution { public: int kInversePairs(int n, int k) { vector<vector<int>>dp(n+1,vector<int>(k+1,0)); dp[0][0]=1; vector<int>prev(k+1,0); prev[0]=1; for(int i=1;i<=n;i++){ vector<int>cur(k+1); int sum=0; for(int j=0;j<=k;j++){ if(j>=i) sum-=prev[j-i]; sum+=prev[j]%MOD; cur[j]=sum; } prev=cur; } return prev[k]; //prev =cur } }; 3-------------------------------------- #define MOD 1000000007 class Solution { public: int kInversePairs(int n, int k) { vector<vector<int>>dp(n+1,vector<int>(k+1,0)); dp[0][0]=1; vector<int>prev(k+1,0); prev[0]=1; for(int i=1;i<=n;i++){ vector<int>cur(k+1); int sum=0; for(int j=0;j<=k;j++){ if(j>=i) sum=(sum-prev[j-i]+MOD)%MOD; sum=(sum+prev[j])%MOD; cur[j]=sum; } prev=cur; } return prev[k]; //prev =cur } };
Editor is loading...
Leave a Comment