请教dp做法相关
查看原帖
请教dp做法相关
504142
micmic楼主2022/5/24 20:03

在动态规划部分为什么j是这个遍历顺序?i==j时又是什么意思,求助TAT

#include<iostream>
using namespace std;

int n;
typedef long long ll;
ll f[20][20];
//注意这时候i,j代表的不是队,栈中元素数,而是入,出栈元素数 
int main(){
	cin>>n;
	for(int i=0;i<=n;i++){
		f[0][i]=1;	//只要i==0,都是只有1种结果 
	} 
	
	//i代表入栈的元素数,j代表出栈的元素数 
	for(int i=1;i<=n;i++){
		for(int j=i;j<=n;j++){
			if(i==j)f[i][j]=f[i-1][j]; 
			else	f[i][j]=f[i][j-1]+f[i-1][j]; //没出栈前 + 没入栈前 
		}
	} 
	cout<<f[n][n]; 	//最终的结果就是把这n个数全部入栈又全部出栈的结果 
} 
2022/5/24 20:03
加载中...