1996: [Hnoi2010]chorus 合唱队
2015-05-01 21:21
323 查看
1996: [Hnoi2010]chorus 合唱队
Time Limit: 4 Sec Memory Limit: 64 MBSubmit: 1057 Solved: 681
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
41701 1702 1703 1704
Sample Output
8HINT
Source
题解:萌萌哒DP题,其实和我一开始想的暴力方法很接近,基本上就是记忆化暴力,然后转变为循环形式(HansBug:无后效性这玩意就是爽^_^),然后就只管AC啦(PS:不过话说第一遍的记忆化暴力WA掉了是What Ghost???)
/************************************************************** Problem: 1996 User: HansBug Language: Pascal Result: Accepted Time:108 ms Memory:8172 kb ****************************************************************/ const p=19650827; var i,j,k,l,m,n:longint; c:array[0..10000] of longint; a:array[0..1005,0..1005,1..2] of longint; begin readln(n); for i:=1 to n do begin read(c[i]); a[i,i,0]:=1; end; readln; for i:=n-1 downto 1 do for j:=i+1 to n do begin a[i,j,0]:=0;a[i,j,1]:=0; if c[i]<c[i+1] then inc(a[i,j,0],a[i+1,j,0]); if c[i]<c[j] then inc(a[i,j,0],a[i+1,j,1]); if c[j]>c[i] then inc(a[i,j,1],a[i,j-1,0]); if c[j]>c[j-1] then inc(a[i,j,1],a[i,j-1,1]); a[i,j,0]:=a[i,j,0] mod p; a[i,j,1]:=a[i,j,1] mod p; end; writeln((a[1,n,1]+a[1,n,0]) mod p); readln; end.
相关文章推荐
- 1996: [Hnoi2010]chorus 合唱队
- [BZOJ1996][Hnoi2010]chorus 合唱队 区间dp
- BZOJ 1996: [Hnoi2010]chorus 合唱队(dp)
- 【BZOJ1996】[Hnoi2010]chorus 合唱队【区间DP】
- 【BZOJ1996】[Hnoi2010]chorus 合唱队 区间DP
- 1996: [Hnoi2010]chorus 合唱队
- bzoj 1996: [Hnoi2010]chorus 合唱队
- 1996: [Hnoi2010]chorus 合唱队
- bzoj 1996: [Hnoi2010]chorus 合唱队
- bzoj 1996 [Hnoi2010]chorus 合唱队
- bzoj千题计划211:bzoj1996: [Hnoi2010]chorus 合唱队
- 1996: [Hnoi2010]chorus 合唱队 DP
- bzoj 1996: [Hnoi2010]chorus 合唱队 dp
- bzoj 1996: [Hnoi2010]chorus 合唱队
- [BZOJ1996][Hnoi2010]chorus 合唱队
- bzoj1996 [Hnoi2010]chorus 合唱队
- BZOJ 1996 HNOI 2010 chorus 合唱队 区间DP
- bzoj1996: [Hnoi2010]chorus 合唱队
- bzoj1996 [Hnoi2010]chorus 合唱队
- 【BZOJ 1996】 [Hnoi2010]chorus 合唱队