HDU 5273 區間DP
阿新 • • 發佈:2017-05-14
main 一個 clu can ring 區間dp printf std scan
輸入一組數,m次詢問
問每一個詢問區間的逆序數有多少
區間DP簡單題
#include "stdio.h" #include "string.h" int dp[1010][1010],a[1010]; int main() { int n,m,i,j,k; while (scanf("%d%d",&n,&m)!=EOF) { for (i=1;i<=n;i++) scanf("%d",&a[i]); memset(dp,0,sizeof(dp)); for (i=1;i<=n;i++) for (j=1;j+i-1<=n;j++) { k=i+j-1; dp[j][k]=dp[j+1][k]+dp[j][k-1]-dp[j+1][k-1]; if (a[j]>a[k]) dp[j][k]++; } while (m--) { scanf("%d%d",&i,&j); printf("%d\n",dp[i][j]); } } return 0; }
HDU 5273 區間DP