一个环形公路,上面有N个站点,A1, ..., AN,其中Ai和Ai+1之间的距离为Di,AN和A1之间的距离为D0。 高效的求第i和第j个站点之间的距离,空间复杂度不超过O(N)。
来源:互联网 发布:淘宝御泥坊怎么样 编辑:程序博客网 时间:2024/05/29 16:16
//点数#define N 10//点间距int D[N];//A1到每个Ai的距离int A1ToX[N];void preprocess() {srand(time(0));//随机分配每个点间的距离for (int i = 0; i < N; ++i) {D[i] = rand() % (RAND_MAX + 1) * N;}/*A1ToX[i]:A1到每个点Ai的距离*///A1到A2的距离A1ToX[1] = D[1];for (int i = 2; i < N; ++i) {A1ToX[i] = A1ToX[i - 1] + D[i];}//全长A1ToX[0] = A1ToX[N - 1] + D[0];}int getDistance(int i, int j) {int disI = i == 0 ? 0 : A1ToX[i - 1];int disJ = j == 0 ? 0 : A1ToX[j - 1];int dis = abs(disI - disJ);//环形公路,每个点存在2条路径,取最短的return (dis > A1ToX[0] / 2) ? A1ToX[0] - dis : dis;}
0 0
- 一个环形公路,上面有N个站点,A1, ..., AN,其中Ai和Ai+1之间的距离为Di,AN和A1之间的距离为D0。 高效的求第i和第j个站点之间的距离,空间复杂度不超过O(N)。
- 给定一个数列a1,a2,a3,...,an和m个三元组表示的查询,对于每个查询(i,j,k),输出ai,ai+1,...,aj的升序排列中第k个数。
- 给一个数组[a1,a2,a3....an],要求出令ai-aj有最大值,其中i<=j,时间和空间复杂度尽可能小
- 给出一列数a1,a2,a3....an,求它们的逆序对数,即有多少个有序对(i,j) 使得i<j,ai>aj,n高达10的6次方
- 最大子序列问题:给定一整数序列A1,A2,A3...An(可能有负数),求A1~An的一个最大子序列Ai~Aj的和。
- 疑问:已知a1,a2,...,an是正整数。如果有(a1+a2+...+an)-n+1只鸽子放在n只鸽笼中,则对某个数i,“第i个鸽笼中至少含有ai只鸽子”一定正确
- emgucv 求n个点两两之间的距离
- poj 2763 求任意树的2个节点之间距离和修改2点之间的距离
- 最短路径问题平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。
- 求浮点数数组A={A1,A2,A3,…,An}中,Aj-Ai(j>i)的最大值。要求时间复杂度越小越好
- 深搜法:模拟地铁路线算出两个站点之间的距离和所有通过的可能
- 有两个序列A和B,A=(a1,a2,...,ak),B=(b1,b2,...,bk),A和B都按升序排列,对于1<=i,j<=k,求k个最小的(ai+bj),要求算法尽量高效
- 有两个序列A和B,A=(a1,a2,...,ak),B=(b1,b2,...,bk),A和B都按升序排列。对于1<=i,j<=k,求k个最小的(ai+bj)。要求算法尽量高效。
- 面试-链表逆置 作业手写一个单链表,并且实现单链表元素的逆置,(a0, a1,a2,a3,..an)-> (an,an-1,… a1, a0),算法的空间复杂度和时间复杂度经可能低
- 朋友之间的友情和距离
- 求两点之间的距离,类中有静变量和静态方法
- 求两点之间的距离
- 求两点之间的距离
- win10下修改pip源
- 创龙TMS320C6748开发板———PLL模块和PINMUX说明
- UVA 673 Parentheses Balance
- 快速排序pascal程序
- android手机上实现竖直seekbar的EQ均衡器
- 一个环形公路,上面有N个站点,A1, ..., AN,其中Ai和Ai+1之间的距离为Di,AN和A1之间的距离为D0。 高效的求第i和第j个站点之间的距离,空间复杂度不超过O(N)。
- javascript的正则表达式的学习
- 遗传算法与直接搜索工具箱学习笔记 十-----遗传算法的工作原理
- 创龙TMS320C6748开发板———中断介绍(1)中断及中断相关寄存器
- ItemClick(AdapterView<?> adapterView, View view, int i, long l)中参数
- oracle 的二维分区
- 大数据学习笔记之二十一 云存储的分布式文件存储代表GFS
- 241. Different Ways to Add Parentheses
- Matlab基础(《精通MATLAB最优化计算》笔记)