4
1701 1702 1703 1704
标签:bsp 相对 image break 序列 online sample 一个 mst
#include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <cmath> #include <iostream> #define MAXN 1100 #define mod 19650827 #define ll long long using namespace std; ll dp[MAXN][MAXN][2]; int n,h[MAXN]; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&h[i]); for(int i=1;i<=n;i++) dp[i][i][0]=1; for(int len=2;len<=n;len++) for(int i=1;i<=n;i++){ int j=i+len-1;if(j>n) break; if(h[i]<h[i+1]) dp[i][j][0]=dp[i][j][0]+dp[i+1][j][0]; if(h[i]<h[j]) dp[i][j][0]=dp[i][j][0]+dp[i+1][j][1]; if(h[j]>h[i]) dp[i][j][1]=dp[i][j][1]+dp[i][j-1][0]; if(h[j]>h[j-1]) dp[i][j][1]=dp[i][j][1]+dp[i][j-1][1]; if(dp[i][j][0]>=mod) dp[i][j][0]-=mod; if(dp[i][j][1]>=mod) dp[i][j][1]-=mod; } printf("%lld",(dp[1][n][0]+dp[1][n][1])%mod); return 0; }
标签:bsp 相对 image break 序列 online sample 一个 mst
原文地址:http://www.cnblogs.com/renjianshige/p/7701410.html