Codeforces Round #353 (Div. 2) ABCDE 题解 python
2016-05-18 00:07
525 查看
Problems
View Code
from collections import deque def argmax(q,z): l = 0 r = len(q) - 1 while(l<=r): mid = (l+r)/2 x = q[mid]['i'] if(x<=z): r = mid - 1 else: l = mid + 1 return q[l]['i'] def gank(n,A): a = [0]*(n+1) a[1:] = A b = [0]*(n+1) b[n-1] = 1 q = deque() q.append({'i':n-1, 'a':a[n-1]}) for i in range(n-2, 0, -1): if(a[i]>=n): b[i] = n-i else: x = argmax(q,a[i]) b[i] = x-i + b[x] + n - a[i] while(len(q)>0 and q[-1]['a'] < a[i]): q.pop() q.append({'i':i, 'a':a[i]}) return sum(b) n = int(raw_input()) a = map(int , raw_input().split(' ')) print gank(n,a)
View Code
相关文章推荐
- python中的id() 函数深度解剖
- Python爬虫学习资料书籍推荐
- Python文件迭代的用法实例教程
- Twitter的分布式自增ID算法Snowflake实现分析及其Java、Php和Python版
- Python实战:爬虫的基础
- Python performance
- PySide——Python图形化界面
- Python 代码性能优化
- python匹配ip正则
- python 基于次世代验证码识别系统的小demo
- 发现使用python+tushare做量化交易 其实不是很难
- kombu------python的消息库
- python 安装 cairo
- 步步学习之用python实战机器学习1-kNN (K-NearestNeighbors)算法(a)
- 简单的python爬取网页字符串内容并保存
- python一些内建函数(map,zip,filter,reduce,yield等)
- Python之常用模块(待更新)
- Tornado X MVC
- [Python笔记]第九篇:re正则表达式
- python