[CF407B] Long Path
题目传送门
18.10.24模拟赛T2。
一道简单的DP。当时推出了式子,但是有一个小地方推错了,忘记了减一。
于是怎么算都不对,就没再往这边考虑......
设f[i]为第一次到达i的时间。
显然f[i]=f[i-1](先到达i-1)+1(又到了p[i-1])+(f[i-1]-f[p[i-1]])(又回到i-1)+1(最后到了i)=2*f[i-1]-f[p[i-1]]+2。
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define ll long long 5 #define mod 1000000007 6 using namespace std; 7 8 int n; 9 int p[1000005]; 10 int f[1000005]; 11 12 int read() 13 { 14 int ret=0;char c=getchar(); 15 while(c<'0'||c>'9')c=getchar(); 16 while(c>='0'&&c<='9')ret=ret*10+c-'0',c=getchar(); 17 return ret; 18 } 19 20 int main() 21 { 22 scanf("%d",&n);; 23 for(int i=1;i<=n;i++)p[i]=read(); 24 f[1]=1; 25 for(int i=2;i<=n+1;i++) 26 f[i]=((2*f[i-1]-f[p[i-1]]+2)%mod+mod)%mod; 27 printf("%d",f[n+1]-1); 28 return 0; 29 }
转载于:https://www.cnblogs.com/eternhope/p/9847798.html
[CF407B] Long Path相关推荐
- CF407B 「Long Path」
CF407B 「Long Path」 星影落九天,鱼雁舞千弦.但为君沉吟,落日天涯圆. [题目传送门](洛谷) 题目描述 有个人进入一个迷宫,这个迷宫共有n+1n+1n+1个房间,编号从111~n+1 ...
- python路径拼接os.path.join()函数的用法
os.path.join()函数:连接两个或更多的路径名组件 1.如果各组件名首字母不包含'/',则函数会自动加上 2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃 3.如果最后一个组 ...
- Android 自定义View —— Path
Path 的概念: Path类封装由直线段,二次曲线和三次曲线组成的复合(多个轮廓)几何路径.可以使用canvas.drawPath(path,paint)对其进行填充或描边绘制(基于Paint的St ...
- Retrofit 网络请求参数注解@Path @Field @Query 等使用
请求参数呢大致如下,到个别人的图, 下面就说下这些内容使用 其中 @Path.@Query.@QueryMap 使用 Get 请求 , 加入使用了Post 请求注解使用@Path 一般都会是项目崩溃 ...
- MSDN 教程短片 WPF 16(Path路径)
制作动画路径-Path Path中有个Date属性,用来获取或设置指定要绘制的形状的 Geometry. 所以我们画一个圆来和一个椭圆路径,是圆在椭圆路径上移动,我们先画个圆. <Ellipse ...
- 对python3中pathlib库的Path类的使用详解
原文连接 https://www.jb51.net/article/148789.htm 1.调用库 ? 1 from pathlib import 2.创建Path对象 ? 1 2 3 4 5 ...
- Go 学习笔记(53)— Go 标准库之 path(判断绝对路径、拆分目录和文件、组合路径、返回路径目录、获取路径最后文件名、获取文件扩展名、路径匹配规则)
1. 概述说明 import "path" path 实现了对斜杠分隔的路径的实用操作函数. 2. 主要函数 2.1 func IsAbs func IsAbs(path stri ...
- [leetcode] Minimum Path Sum
Minimum Path Sum Given a m x n grid filled with non-negative numbers, find a path from top left to b ...
- java build path entries 为空_同事的代码简直没法看,我来教你如何更优雅的设计Java异常...
点击上方蓝色字体,选择"设为星标" 回复"666"获取面试宝典 异常处理是程序开发中必不可少操作之一,但如何正确优雅的对异常进行处理确是一门学问,笔者根据自己的 ...
最新文章
- MirantisOpenStack-Fuel 9.0
- ThinkPHP5 清除runtime缓存文件
- linux怎么安装java环境变量_linux怎么配置java环境变量
- java 伪异步 netty,Netty(一) - 不死的达芬奇的个人空间 - OSCHINA - 中文开源技术交流社区...
- 使用键值flyweight的Boost.Flyweight示例
- 1970“变种”bug连WiFi热点iOS设备会变砖?
- Python time sleep()方法
- 数据结构 - 多路搜索树(2-3树、b树、b+树、b*树)
- android file isdirectory,android – 为什么我不能在Environment.DIRECTORY_PICTURES中创建一个目录?...
- docker知识点查阅
- Java与XML编程之SAX
- 【GDB源码编译】GDB源码编译
- vs2012 MSDN帮助文档离线包下载安装方法
- 【weiphp微信开发教程】留言板插件开发详解
- 机器学习常见算法个人总结
- javascript基础知识练习题
- 云计算机ppt模板,云服务云技术云计算PPT模板
- 浏览器被hao123劫持
- 区块链是什么通俗解释_区块链是什么,区块链是什么通俗解释
- 协议大全 http协议 http://www.chinaitpower.com/Net/xieyi/HTTP/index.html