CF479 Riding in a Lift
来源:互联网 发布:中科院数据共享平台 编辑:程序博客网 时间:2024/06/08 17:02
题目:http://codeforces.com/problemset/problem/479/E
分析:前缀和优化的DP.一开始写跪了,但今天几分钟写出来了,于是得出一个结论:千万不要吝啬一个变量,只要能简化代码!
代码:
#include <cstdio>#include <algorithm>using namespace std;const int Tmax=5005;const long long int MOD=1000000007;int n,a,b,k;long long int f[Tmax][Tmax],sum[Tmax],ans;void work(){ int i,j,x; f[0][a]=1; for(i=1;i<=k;i++) { sum[0]=0; for(j=1;j<=n;j++) sum[j]=sum[j-1]+f[i-1][j]; for(j=1;j<=n;j++) { if(j==b) continue; if(j>b){ x=max(0,b+abs(b-j)/2); f[i][j]=(sum[n]-sum[x]-f[i-1][j])%MOD; } else { x=min(n,b-abs(b-j)/2); f[i][j]=(sum[x-1]-f[i-1][j])%MOD; } } } for(i=1;i<=n;i++) ans=(ans+f[k][i])%MOD; printf("%I64d",ans); return;}int main(){ scanf("%d%d%d%d",&n,&a,&b,&k); work(); return 0;}
0 0
- CF479 Riding in a Lift
- cf479E Riding in a Lift
- codeforces Riding in a Lift
- [CF480C]Riding in a Lift
- CodeForces 479 E. Riding in a Lift
- 480 C. Riding in a Lift
- codeforce 479E - Riding in a Lift
- 【CODEFORCES】 C. Riding in a Lift
- codeforce 479E Riding in a Lift
- Codeforces 479E Riding in a Lift
- Codeforces 480C Riding in a Lift dp
- codeforces 479e Riding in a Lift | dp
- [笔记] Codeforces#274 Riding in a Lift (479E) DP
- Codeforce Round#274 :Riding in a Lift解题报告
- E. Riding in a Lift(Codeforces Round #274)
- Codeforces 274 DIV1 C - Riding in a Lift 动态规划
- Codeforces 479E Riding in a Lift(dp)
- CF 479E Riding in a Lift 前缀和 DP
- 测试用例知识,总结边界值,因果图,等价类划分法
- win7跨网段共享解决方法
- HDU - 2844 Coins(多重背包)
- HDU 4912 Paths on the tree(LCA+贪心)
- OpenCV 学习(几种基本的低通滤波)
- CF479 Riding in a Lift
- SaltStack学习笔记
- HDU - 3732 Ahui Writes Word(多重背包)
- 通过bundle对象实现Fragment之间的传值
- eclipse struts2 错误及解决方法
- lintcode-线段树的构造-201
- Android综合小练习Fragment,解析,Handler,ViewPager
- popupWindow的用法(1)
- UVA 1629 - Cake slicing 题解