B Long Path
Posted planche
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B Long Path相关的知识,希望对你有一定的参考价值。
有n+1个房间。从1-n个房间。每个房间有两扇门。一扇去i+1的房间另一扇去编号为pi的房间。
起点为1,终点为n+1,对应第i个各点,如果我奇数次到达,那么下一步走到a【i】的位子,如果是偶数次到达,那么下一步走到a【i】+1的位子。问到达n+1的房间至少要走多少次
解析:
f(i,0)代表第一次到第i号房间所用步数,f(i,1)代表第二次到达房间所用步数
sum[i]:f[i][1]-f[i][0]的前缀和
sdf(n); For(i, 1, n) sdf(a[i]); f[1][0] = 0; f[1][1] = 1; sum[1] = 1; For(i, 2, n) { f[i][0] = (f[i - 1][1] + 1)%mod; f[i][1] = ((f[i][0] + sum[i - 1]+mod)%mod - sum[a[i] - 1] + i - a[i] + 1+mod)%mod; sum[i] = (sum[i - 1] + f[i][1] - f[i][0]+mod)%mod; // cout <<i<<":"<< f[i][0] << " " << f[i][1] <<" "<<sum[i]<< endl; } ans = (f[n][1] + 1+mod)%mod; cout << ans;
以上是关于B Long Path的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #239 (Div. 1) B Long Path
RuntimeError: ‘lengths’ argument should be a 1D CPU int64 tensor, but got 1D cuda:0 Long tensor(代码片段
在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途