P1743 矩阵III
虽然我知道整个思路就是 Cm+nn可是可是用unsigned long long
这么大的数也是用上vector
了,可是光荣的MLE了……内存爆了无奈呀……,那啥,别跟我题高精度,懒,又要写一堆代码,还要高精乘法,可实在没办法了也是会用高精度的哈,所以大佬们不要拘束尽管提错
虽说题目是1≤n≤108,1≤m≤4。开个int就够了,开unsigned long long
肯定会爆,可是可是改int
后也是直接见祖宗了……不是说“十年OI一场空,不开long long见祖宗吗”,可开了long long也是MLE了……我的MLE代码错在哪,大佬教我一下:
#include<bits/stdc++.h>
using namespace std;
unsigned long long combination(int n,int m){
vector<vector<unsigned long long>> pascal(n+1,vector<unsigned long long>(n+1,0));
for(int i=0;i<=n;i++){
pascal[i][0]=1;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
pascal[i][j]=pascal[i-1][j-1]+pascal[i-1][j];
}
}
return pascal[n][m];
}
int main(){
int n,m;
cin>>n>>m;
unsigned long long result=combination(n+m,m);
cout<<result;
}