https://codeforces.com/problemset/problem/407/B

这个题目是一个dp,有那么一点点的递归的意思,这个应该算一个找规律的dp,

dp[i]定义为第一次到第i个房间的步数,

转移方程 dp[i]=dp[i-1]+dp[i-1]-dp[p[i]]+1;

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<queue>
#include<vector>
#define inf 0x3f3f3f3f
#define debug(x) cout<<"-----"<<" x = "<<x<<"-----"<<endl
using namespace std;
typedef long long ll;
const int maxn = 5e3 + ;
const ll mod = 1e9 + ;
ll dp[maxn];
int p[maxn]; int main()
{
int n;
scanf("%d", &n);
for (int i = ; i <= n; i++) scanf("%d", &p[i]);
dp[] = ;
dp[] = ;
for(int i=;i<=n;i++)
{
dp[i+] = ( * dp[i]%mod - dp[p[i]]%mod + +mod)%mod;
}
printf("%lld\n", dp[n + ]%mod);
return ;
}

最新文章

  1. 定向爬虫 - Python模拟新浪微博登录
  2. 如何动态在spring mvc中增加bean
  3. url的路径设置问题
  4. Java面向对象之接口
  5. python 二分法查找实例(递归、循环)
  6. ACM: NBUT 1646 Internet of Lights and Switches - 二进制+map+vector
  7. Ubuntu 汉化及kate汉化和使用自带终端的解决方式
  8. 编写一个Java项目,定义包,在包下定义包含main方法的类,在main方法中声明8种基本数据类型的变量并赋值,练习数据类型转换。
  9. 利用OpenCV检测图像中的长方形画布或纸张并提取图像内容
  10. JAG Practice Contest for ACM-ICPC Asia Regional 2016
  11. canvas-a10isPointPath2.html
  12. ghostDoct 使用 (转 http://www.cnblogs.com/RockyMyx/archive/2010/04/20/Project-Route-Using-GhostDoc.html)
  13. sicily 1007 To and Fro
  14. RH133读书笔记(11)-Lab 11 System Rescue and Troubleshooting
  15. Minor GC、Major GC和Full GC之间的区别
  16. Ubuntu14.04安装配置Chrome浏览器
  17. Eclipse 那些小技巧(值得收藏)
  18. SpringBoot在启动时的多环境配置以及加载顺序
  19. mybatis的一对多
  20. 推荐一款优秀的代码编辑软件--Source Insight

热门文章

  1. JPA入门例子(采用JPA的hibernate实现版本) --- 会伴随 配置文件:persistence.xml
  2. 事务的传播属性及隔离级别 Spring
  3. Sprint 5 summary: UI 界面更新,Azure端部署和用户反馈分析 12/28/2015
  4. Linux学习笔记(九)Vim文本编辑器的使用
  5. JUC并发编程基石AQS之主流程源码解析
  6. 权威的国际敏捷认证Certified Scrum Master (CSM)
  7. h5前端animate等js特效问题汇总
  8. udp包最大数据长度是多少
  9. java内存模型(JMM)和happens-before
  10. Spring5参考指南:容器扩展