HDU 6880 Permutation Counting
题意:用一个长度为n的排列,生成一个长度为n-1的up-down序列。若后一个比前一个大,则为0。反之,则为1。现在,给定一个长度为n-1的updown序列,问符合序列的合法排列数量。
solu:dp[i][j]代表利用1~i的数字构成前i-1个updown序列,结尾为j的数量。考虑第i+1位的转移。从dp[i][j]转移到dp[i+1][k],若a[i]=0&&k>j,代表这一位能放置k,那么就在这一位放置,此时,之前在dp[i][j]表示的方案中,出现了k~i的,自动+1,这样能够保证不会重复,且一定合法。a[i]=1同理。