Codeforces Round #361 Jul.6th B题 ☺译
最近迈克忙着考前复习,他希望通过出门浮躁来冷静一下。
迈克所在的城市包含N个可以浮躁的地方,分别编号为1..N。通常迈克在家也很浮躁,所以说他家属于可以浮躁的地方并且编号为1.迈克从家出发,去一些可以浮躁的地方。迈克从第i个可以浮躁的地方到第j个可以浮躁的地方需要消耗abs(i-j)点精力。迈克花费的精力点数是这样算的,比如他去一组地方p1=1,p2,...,pk就需要
点精力。
当然,如果木有捷径的话走路会很无聊。无论两个地方相隔多远,走捷径的话迈克都只需要消耗1点精力。迈克所在的城市里由N条捷径。第i条捷径表示这条捷径连接了第i处和第ai(i<=ai<=ai+1)处(这条捷径是单向的)。所以说其实每个可以浮躁的地方i都有一条捷径从这开始,到达api处。如果迈克选择了这样一组地方p1=1,p2,...,pk,其中1<=i<k满足api=pi+1,迈克就只需要花费1点精力而不是abs(p[i]-p[i+1])就可以从pi走到pi+1了。再比如迈克选择了这样一个序列去浮躁p1=1,p2=ap1,p3=ap2,...,pk=apk-1,那么只需要k-1点精力就可以从p1走到pk了。因为迈克忙着码代码,所以说他拜托你帮他求出来从家到每个可以浮躁的地方需要耗费的精力点数。
输入:
第1行:一个整数N(1<=N<=200 000)表示迈克所在的城市包含N个可以浮躁的地方(即N条捷径)
第2行:N个整数a1,...,aN(i<=ai<=N,
用来表示第i个地方有到第ai个地方的捷径(捷径都是单向的)。
输出:
第1行:N个整数m1,m2,...,mN表示迈克从家里到第i个地方所需要花费的精力点数。
样例们:
输入:
3
2 2 3
输出:
0 1 2
==============
输入:
5
1 2 3 4 5
输出:
0 1 2 3 4
==========
输入:
7
4 4 4 4 7 7 7
输出:
0 1 2 1 2 3 3
Codeforces Round #361 Jul.6th B题 ☺译的更多相关文章
- Codeforces Round #361 Jul.6th A题 ☺译
A.迈克和手机 当迈克在沙滩上游泳的时候,他意外的把他的手机扔进了水里.不过你甭担心因为他立马买了个便宜些的代替品,这个代替品是老款九键键盘,这个键盘只有十个等大的数字按键,按以下方式排列: 1 2 ...
- Codeforces Round #361 (Div. 2) 套题
A - Mike and Cellphone 问有没有多解,每个点按照给出的序列用向量法跑一遍 #include<cstdio> #include<cstring> #incl ...
- Codeforces Round #378 (Div. 2) D题(data structure)解题报告
题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...
- Codeforces Round #612 (Div. 2) 前四题题解
这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...
- Codeforces Round #713 (Div. 3)AB题
Codeforces Round #713 (Div. 3) Editorial 记录一下自己写的前二题本人比较菜 A. Spy Detected! You are given an array a ...
- Codeforces Round #361 div2
ProblemA(Codeforces Round 689A): 题意: 给一个手势, 问这个手势是否是唯一. 思路: 暴力, 模拟将这个手势上下左右移动一次看是否还在键盘上即可. 代码: #incl ...
- ST表入门学习poj3264 hdu5443 hdu5289 codeforces round #361 div2D
ST算法介绍:[转自http://blog.csdn.net/insistgogo/article/details/9929103] 作用:ST算法是用来求解给定区间RMQ的最值,本文以最小值为例 方 ...
- Codeforces Round #552 (Div. 3) A题
题目网址:http://codeforces.com/contest/1154/problem/ 题目意思:就是给你四个数,这四个数是a+b,a+c,b+c,a+b+c,次序未知要反求出a,b,c,d ...
- Codeforces Round #412 Div. 2 补题 D. Dynamic Problem Scoring
D. Dynamic Problem Scoring time limit per test 2 seconds memory limit per test 256 megabytes input s ...
随机推荐
- 利用CSOM向列表添加文件夹
博客地址:http://blog.csdn.net/FoxDave 本文只为记录一下这个小细节,不会过多赘述,开发可以看懂. 如果想向一个列表或库中添加文件夹,平时我们自然想到的是list.ro ...
- jpa遇到的 org.hibernate.PersistentObjectException: detached entity passed to persist异常
jpa遇到的 org.hibernate.PersistentObjectException: detached entity passed to persist异常 发生这个原因是因为我们已经在实体 ...
- Kafka的安装和部署及测试
1.简介 大数据分析处理平台包括数据的接入,数据的存储,数据的处理,以及后面的展示或者应用.今天我们连说一下数据的接入,数据的接入目前比较普遍的是采用kafka将前面的数据通过消息的方式,以数据流的形 ...
- ZBJ的linux
PHP服务器 PHP服务器的IP可以ping出来 目录结构:a.代码目录统一为: /data/www/html/zbjv6b.Nginx 配置文件目:/etc/nginx/sites-enabledc ...
- SQL列最大重复项
SELECT 1 AS co1, 'a' AS co2 INTO #a UNION SELECT 2, 'a' UNION SELECT 11,'a' UNION SELECT 12, 'a' UNI ...
- NUBWO/狼博旺 NO-3000台式电脑耳机头戴式游戏电竞语音耳麦带话筒
产品名称:NUBWO/狼博旺 NO-3000 套餐类型: 官方标配 颜色分类: 蓝色耳机(发光) 黑蓝7.1声道USB 黑色 黑蓝色(发光) 黑蓝色 黑蓝单插孔 白色(发光) 白色 佩戴方式: 头戴护 ...
- SQL排序
- linux中模块的构建,传参,和printk函数的简单使用
静态编译,动态加载应用想访问内核需要通过系统调用 驱动:1.模块(打包,加入内核)2.内核机制3.操作硬件 在Kconfig里面配置menuconfig的时候,不同的类型会在图形化界面的终端显示不用的 ...
- 题目: 求1+2+...+n,要求不使用乘除发、for、while、if、else、switch、case、等关键字以及条件判断语句(A?B:C)
#include <iostream> using namespace std; int add_(int a,int b){ return 0; } int Add(int i,bool ...
- GitHub菜鸟日志1——20160531
好吧,事实上很早就知道有github这个东西了,然而就有一种莫名的力量一直阻止着我向这“未知的领域”涉足(which is called lazy). 然后,前略...总之,默默的就开始了github ...