avatar
New app store suck!!# Apple - 家有苹果
l*y
1
There are N petrol bunks arranged in circle. Each bunk is separated from the
rest by a certain distance. You choose some mode of travel which needs 1
litre of petrol to cover 1 km distance. You can't infinitely draw any amount
of petrol from each bunk as each bunk has some limited petrol only. But you
know that the sum of liters of petrol in all the bunks is equal to the
distance to be covered.
i.e let P1, P2, ... Pn be n bunks arranged circularly. d1 is distance
between p1 and p2, d2 is distanc
avatar
t*u
2
看到条件里面写着citizen,不知道有没有不是citizen可以申请的。多谢。
avatar
j*1
3
索达吉堪布谈佛教的伦理观
索达吉堪布:
有缘千里来相会,谢谢搜狐微博给我们这个平台,让我们有机会在此共聚,互相学习!
提问: 您去各大高校传播佛法,您有什么特别难忘或者值得与大家分享的事情吗?
索达吉堪布: 不管是去哪个大学,大家都有希求知识的好乐心,这一点让我非常难忘!
提问: 请问上师,出家人会生气吗?遇到特别气愤的事该如何排解?
索达吉堪布: 真正的出家人,遇到一些事情,即使有时候会生气,但因为懂得调心的
方法,比一般人更容易平息烦恼。
提问: 您说“苦才是人生”,那么这“苦”是与生俱来的还是因罪获得的?
索达吉堪布:“苦”分为两种:一种是细微的苦,指一切无常;一种是粗大的苦,比如
头痛、失恋等。《苦才是人生》的“苦”,主要是指佛教中的苦谛,它是跟众生的爱执
联系在一起。
提问: 常听说“我佛慈悲”,慈悲对于佛教文化来说,是什么样的地位?
索达吉堪布: 慈悲是佛教的命根。它不仅仅是佛教中所提倡的,乃至整个人类,都离
不开它。
提问: 上师,你怎么看待中日钓鱼岛之争?
索达吉堪布: 激化矛盾,不如淡化矛盾。不管是什么情况下,伤害别人的同时,最后
定会伤害到自己。冤冤相报何时了!
提问:顶礼大恩上师!请您给当代的学佛人推荐几本书!感恩
索达吉堪布: 《大圆满前行》、《入菩萨行论》和《慧灯之光》。
提问:请问堪布,如何才能摆脱对于异性的贪着?
索达吉堪布:我以前讲过《佛眼看“爱情”》,你可以看一下。http://t.itc.cn/s597d
提问:上师好,据说您之前没有打算出家,后来是什么因缘促使你出家,并且获得如此
高的修为
索达吉堪布:虽然我没有特别高的境界,但从小就喜欢出家人的清净、简单、慈悲,后
来因缘成熟就出家了,呵呵,就这么简单!
提问:尊敬的堪布仁波切:请问佛教伦理,或者佛教修行的最高目标是什么?或者说当
代人为什么需要佛教的知识与修行?感恩!
索达吉堪布:学佛是为了成佛,成佛是为了利他。这种无私利他的精神,相信任何一个
时代都需要。
提问:顶礼大恩上师!出家前要作好哪些准备?请上师慈悲开示.
索达吉堪布:心先要准备好!明白自己到底为了什么出家,以后遇到违缘、诱惑等时,
是否仍可以坚定地走下去。
提问:顶礼大恩上现!请问上师少睡觉的窍诀是什么?
索达吉堪布:前辈大德说:当我们懂得了人身难得、寿命无常时,自然而然就会少睡觉
,精进修行!
提问: 我知道这样说可能不敬,但是我依然好奇,作为现在的修行者,苦休的人越来
越少,很多人是活不下去了混不下去了走投无路了投奔了佛教,很多寺庙更像是一个收
容所不是吗?
索达吉堪布:不一定所有的寺院都是如此,正规的佛教道场,还是以学习佛法、修行佛
法为主。其实不管是什么样的群体,都会存在良莠不齐的现象,关键看你个人如何取舍。
提问:您怎么看西方极乐世界,是像阿弥陀经中描述的那样吗?这种景象是否是一种着
相?因为金刚经中说一切都是空性的,所以是否把极乐世界描述的还是按照人间所谓的
好的世俗的标准
索达吉堪布:倘若能把这个世界的一切也看空,不吃饭、不睡觉对自己丝毫无损,那把
极乐世界看空也可以;否则,如果这个世界对你是真实的,那极乐世界也是如此。所以
,实相与现相不能混为一谈
提问:顶礼上师!面对诽谤、猜测、误解,现代社会的我们,该用怎样的智慧来面对?
索达吉堪布:谣言总是有,不听自然无。
提问:顶礼根本大恩上师,请问,我一个人静下来念莲师心咒时,注意力是应该集中在
自己的声音上,还是集中在面前的莲师像上?
索达吉堪布:最好是专注在面前的莲师像上
提问:学佛,如何选择明师?
索达吉堪布:上师最主要的法相,就是看有没有大悲心。有了大悲心的话,没有其他法
相也可以依止;大悲心若不具足,就算具足百般功德,也不算是大乘的善知识。
提问:顶礼大恩上师仁波切!请问应该如何观清净心?
索达吉堪布:先要明白为什么一切是清净的?否则,明明不清净,却硬把它观成清净,
就像把不净粪非想成甘露一样,这无疑是自欺欺人。至于“一切皆为清净”的道理,只
有学了佛法的相关知识,才能完全通达。你可以先看看汉地的《维摩诘经》。
提问: 佛教对于一个人最大的境界提升是什么
索达吉堪布:断除自私自利的心,全心投入利他的事业
提问: 我们该以什么样的态度来面对爱恨情仇
索达吉堪布:缘来则聚,缘去则散。得之我幸,不得我命。
提问:法师你觉得现在人的精神空虚吗
索达吉堪布:空虚!很多人现在追求的东西,未必是真正需要的东西。
提问:堪布,您说我们现在追求的东西,未必是真正需要的东西。那我们真正需要的应
该是什么?
索达吉堪布:心灵的安宁、自在、解脱
提问: 顶礼大堪布!怎样理解一切万有皆缘起于阿赖耶识?
索达吉堪布: 如同睡眠的心识产生梦境一样
提问: 阿弥陀佛!师父,修习佛法怎样才能把心量打开?
索达吉堪布: 要懂得发菩提心,一旦真实生起了菩提心,心量自然而然可以打开!
提问:法师我很想出家,却又放不下家庭,怎么办?请法师开示
索达吉堪布: 呵呵,那没办法出家!
提问:请问一个没有正确信仰的人的可悲之处在哪里?
索达吉堪布: 很有可能无恶不作,最终毁坏自己和他人!
索达吉堪布:
没有条理地胡言乱语一番,谢谢大家一直在听!如果这次交流对个别人有利益,让我们
一起把功德回向:愿一切众生离苦得乐,天下太平!
主持人 放猪江湖V: 佛教讲求慈悲为怀,兼济天下,利乐有情的救世精神,凸显其无
私利他的伦理价值。利他终究是利己,救人终究是自救。感谢@索达吉堪布 仁波切抽时
间做客本次搜狐微访谈,感谢大家的参与,时间关系,本次访谈就到这里。大家可以与
上师通过微博继续交流。再见!访谈回顾:http://t.itc.cn/GLPdf
avatar
o*n
4
icons搞这么大,每行只能显三个半,一页只能看两行,估计iphone5拉长了也只有两行
半。怎么看怎么不舒服!!
avatar
s*t
5
c[i] = p[i] - d[i]
这样题目就和求连续子序列的最大和很类似
i=0 ,j = 0
if sum [i:j] <0
i = j+1
复杂度是O(n)
代码如下
def gasStation(p, d):
n = len(p)
c = []
for i in range(n):
c.append( p[i]-d[i] )
c += c
i = 0
j = 0
total = 0
print c
while i < n:
total += c[i+j]
if total < 0:
i += j + 1
total = 0
j = 0
elif j == n:
break
else:
j += 1
return i

the
amount
you
between

【在 l*********y 的大作中提到】
: There are N petrol bunks arranged in circle. Each bunk is separated from the
: rest by a certain distance. You choose some mode of travel which needs 1
: litre of petrol to cover 1 km distance. You can't infinitely draw any amount
: of petrol from each bunk as each bunk has some limited petrol only. But you
: know that the sum of liters of petrol in all the bunks is equal to the
: distance to be covered.
: i.e let P1, P2, ... Pn be n bunks arranged circularly. d1 is distance
: between p1 and p2, d2 is distanc

avatar
d*i
6
很多deal都写着citizen的,你仔细看就会发现。
实际上谁管你呢

【在 t****u 的大作中提到】
: 看到条件里面写着citizen,不知道有没有不是citizen可以申请的。多谢。
avatar
d*d
7
跟随上师学佛时间越长,越觉得大德的每一句话都值得反复思考,乃至很多很多年,一
直会不断发现甚深的道理,深不见底。
avatar
h*k
8
jobs 在地下哭死了。。。

【在 o*****n 的大作中提到】
: icons搞这么大,每行只能显三个半,一页只能看两行,估计iphone5拉长了也只有两行
: 半。怎么看怎么不舒服!!

avatar
f*4
9
化简成求连续子序列的最大和的话,只能求出 0 ~ n 的连续子序列 例如5 ~ n-3
但如果序列 n-2,n-1,n,0,1,...,n-3 本身就是最大和的连续子序列,你的算法就找不
到n-2这个值。。。
如果对所有可能的序列开始点 i (0~n)求一次的话,复杂度还是 O(n^2)
记得类似有个题目是求循环序列(序列头尾相连)的最大和的连续子序列
谁来解一下?

【在 s*********t 的大作中提到】
: c[i] = p[i] - d[i]
: 这样题目就和求连续子序列的最大和很类似
: i=0 ,j = 0
: if sum [i:j] <0
: i = j+1
: 复杂度是O(n)
: 代码如下
: def gasStation(p, d):
: n = len(p)
: c = []

avatar
a*n
10
这个太脑残了
教主死不瞑目。。

【在 o*****n 的大作中提到】
: icons搞这么大,每行只能显三个半,一页只能看两行,估计iphone5拉长了也只有两行
: 半。怎么看怎么不舒服!!

avatar
s*t
11
没看懂你写的
我的算法应该可以找到你说的解哦

【在 f****4 的大作中提到】
: 化简成求连续子序列的最大和的话,只能求出 0 ~ n 的连续子序列 例如5 ~ n-3
: 但如果序列 n-2,n-1,n,0,1,...,n-3 本身就是最大和的连续子序列,你的算法就找不
: 到n-2这个值。。。
: 如果对所有可能的序列开始点 i (0~n)求一次的话,复杂度还是 O(n^2)
: 记得类似有个题目是求循环序列(序列头尾相连)的最大和的连续子序列
: 谁来解一下?

avatar
K*a
12
都是吃饱了撑出来的
avatar
f*4
13
主要是我没看懂你的代码
你能再加点注释不?
特别是怎么循环扫描的
谢谢

【在 s*********t 的大作中提到】
: 没看懂你写的
: 我的算法应该可以找到你说的解哦

avatar
s*t
14
首先构造出c数组,然后把c延长一倍,就可以处理循环了
即 c += c
之后从第一个元素开始,求连续子序列的和。在子序列长度到n之前出现负数和就把这个
子序列里的元素全部跳过,从下一个开始。
我的意思是这个地方有点像求连续子序列最大和的机制,不是说两个题目完全等价

【在 f****4 的大作中提到】
: 主要是我没看懂你的代码
: 你能再加点注释不?
: 特别是怎么循环扫描的
: 谢谢

avatar
m*g
15
确实要改一下code, 要么延长一倍,要么用%n来从头再找一遍
avatar
f*4
16
就是这个:
“首先构造出c数组,然后把c延长一倍,就可以处理循环了
即 c += c”
我以为你的c里面就只有0~n的值,原来你是用0~n0~n来做的
多谢

这个

【在 s*********t 的大作中提到】
: 首先构造出c数组,然后把c延长一倍,就可以处理循环了
: 即 c += c
: 之后从第一个元素开始,求连续子序列的和。在子序列长度到n之前出现负数和就把这个
: 子序列里的元素全部跳过,从下一个开始。
: 我的意思是这个地方有点像求连续子序列最大和的机制,不是说两个题目完全等价

avatar
r*o
17
就是说遍历n种情况(分别从元素1,2,...,n开始),对吗? 如果是这样的话,复杂度还是
O(n^2)吧。

这个

【在 s*********t 的大作中提到】
: 首先构造出c数组,然后把c延长一倍,就可以处理循环了
: 即 c += c
: 之后从第一个元素开始,求连续子序列的和。在子序列长度到n之前出现负数和就把这个
: 子序列里的元素全部跳过,从下一个开始。
: 我的意思是这个地方有点像求连续子序列最大和的机制,不是说两个题目完全等价

avatar
s*t
18
一共遍历n个元素,o(n)
想想那个连续子序列最大和的题,只要出现负的就跳过中间所有的从下一个元素开始

【在 r****o 的大作中提到】
: 就是说遍历n种情况(分别从元素1,2,...,n开始),对吗? 如果是这样的话,复杂度还是
: O(n^2)吧。
:
: 这个

avatar
r*o
19
多谢,这题是不是可能有多解,只要找到一个就可以了?

一共遍历n个元素,o(n)
想想那个连续子序列最大和的题,只要出现负的就跳过中间所有的从下一个元素开始

【在 s*********t 的大作中提到】
: 一共遍历n个元素,o(n)
: 想想那个连续子序列最大和的题,只要出现负的就跳过中间所有的从下一个元素开始

avatar
s*t
20
应该是顺时针逆时针各一个解

【在 r****o 的大作中提到】
: 多谢,这题是不是可能有多解,只要找到一个就可以了?
:
: 一共遍历n个元素,o(n)
: 想想那个连续子序列最大和的题,只要出现负的就跳过中间所有的从下一个元素开始

avatar
s*t
21
也可能一堆解。。比如每一个p[i]都等于d[i]

【在 s*********t 的大作中提到】
: 应该是顺时针逆时针各一个解
avatar
d*j
22
我见过这个题,很简单,大概idea:
假设S_i为到达站i(含)后所剩的油量,可以为负数,初始值为0.
从任何一个站i=0开始,假设该站的油量是oil_i, S_i = oil_i
到达下一站S_i的油量即为 S_i = S_(i-1) + oil_i - cost_(i-1,i)
即当前车子的油量为上一站的油量数目 + 此站的油量 - 上站到此站的消耗
遍历完之后,总能找到一个最大的S_x 和x
那么,从第x站出发就肯定没问题
时间复杂度O(n)
======算法有误,更新在后面====
avatar
r*o
23
是不是也要遍历2n, 0..n 0..n ?

【在 d****j 的大作中提到】
: 我见过这个题,很简单,大概idea:
: 假设S_i为到达站i(含)后所剩的油量,可以为负数,初始值为0.
: 从任何一个站i=0开始,假设该站的油量是oil_i, S_i = oil_i
: 到达下一站S_i的油量即为 S_i = S_(i-1) + oil_i - cost_(i-1,i)
: 即当前车子的油量为上一站的油量数目 + 此站的油量 - 上站到此站的消耗
: 遍历完之后,总能找到一个最大的S_x 和x
: 那么,从第x站出发就肯定没问题
: 时间复杂度O(n)
: ======算法有误,更新在后面====

avatar
Z*Z
24
找最大的,也就是贪心。
为什么贪心一定行呢?

【在 d****j 的大作中提到】
: 我见过这个题,很简单,大概idea:
: 假设S_i为到达站i(含)后所剩的油量,可以为负数,初始值为0.
: 从任何一个站i=0开始,假设该站的油量是oil_i, S_i = oil_i
: 到达下一站S_i的油量即为 S_i = S_(i-1) + oil_i - cost_(i-1,i)
: 即当前车子的油量为上一站的油量数目 + 此站的油量 - 上站到此站的消耗
: 遍历完之后,总能找到一个最大的S_x 和x
: 那么,从第x站出发就肯定没问题
: 时间复杂度O(n)
: ======算法有误,更新在后面====

avatar
r*o
25
谢谢,我还是没想明白为啥找到一个最大的S_x,然后从x出发就肯定没问题呢?

【在 d****j 的大作中提到】
: 我见过这个题,很简单,大概idea:
: 假设S_i为到达站i(含)后所剩的油量,可以为负数,初始值为0.
: 从任何一个站i=0开始,假设该站的油量是oil_i, S_i = oil_i
: 到达下一站S_i的油量即为 S_i = S_(i-1) + oil_i - cost_(i-1,i)
: 即当前车子的油量为上一站的油量数目 + 此站的油量 - 上站到此站的消耗
: 遍历完之后,总能找到一个最大的S_x 和x
: 那么,从第x站出发就肯定没问题
: 时间复杂度O(n)
: ======算法有误,更新在后面====

avatar
l*y
26
贴一个按svncheckout的idea实现的c++. Tested.
#include
using namespace std;
int GasStation(int* d, int* g, int size)
{
int i = 0;
int* c = new int[2*size];
for (i = 0; i < 2 * size; i++) {
if (i < size) {
c[i] = g[i] - d[i];
} else {
c[i] = c[i-size];
}
}
int result = -INT_MAX;
int sum = 0;
int start = 0, j = 0;
for (i = 0; i < 2* size; i++) {
sum = sum + c[i];
if (sum >= 0) {
j++;
avatar
r*o
27
请问,为什么sum<0时start=i+1,而不是start=start+1?

【在 l*********y 的大作中提到】
: 贴一个按svncheckout的idea实现的c++. Tested.
: #include
: using namespace std;
: int GasStation(int* d, int* g, int size)
: {
: int i = 0;
: int* c = new int[2*size];
: for (i = 0; i < 2 * size; i++) {
: if (i < size) {
: c[i] = g[i] - d[i];

avatar
l*a
28
处理过的这段如果是解得一部分,那么从i+1开始的n个应该包含这一段
按照你的解法就是O(n2)了

【在 r****o 的大作中提到】
: 请问,为什么sum<0时start=i+1,而不是start=start+1?
avatar
d*j
29
刚才说的方法有问题,没有仔细检查
现在重新说一下,复杂度仍然为O(n),idea还是类似,只是细节上问题
设S_i为第i站时 目前状况下对前景的乐观程度,可以为负值,具体而言
S_i为当前所剩油量+本站油量-到达下一站的油量消耗
例如,刚开始第一站有油30升,到达下一站(第二站)需要40升,S_1=0+30-40= -10
随机取一个站a, S_a= 0 + oil_a - cost(a, a+1)
到达下一站a+1, S_(a+1) = S_a + oil_(a+1) - cost(a+1, a+2)
一直结算到最后一站,也就是a站之前的一站,此时 S_pre_a 肯定 0
选出S_i中最大的,就是能够顺利环绕一圈的站点之一(不一定唯一)
简单情况的分析结果:
如果某一站x的油很多,而到下一站消耗很少,很有可能是这个站能够成功
那么:
1.如果选择此点开始计算,那么S_x为正,很有可能大于所有的S_i,因而被选中
2.如果不幸选择此点x的下个点计算,很可能其他的S_i均为负值,而S_x=0最大
举个具体例子试试?

【在 r****o 的大作中提到】
: 谢谢,我还是没想明白为啥找到一个最大的S_x,然后从x出发就肯定没问题呢?
avatar
d*j
30
呵呵
有证明 一定存在一个站点使得汽车能顺利通过一圈
因而寻找最大的期望就一定能够行
具体的证明还要更严格的说法,俺这里捉襟见肘...

【在 Z*****Z 的大作中提到】
: 找最大的,也就是贪心。
: 为什么贪心一定行呢?

avatar
d*t
31
人品不好,人品不好。
开玩笑的,你不怕折腾,当然应该搞了。

【在 l*****a 的大作中提到】
: 处理过的这段如果是解得一部分,那么从i+1开始的n个应该包含这一段
: 按照你的解法就是O(n2)了

avatar
r*o
32
问问,是不是j==size的时候就可以退出循环了?

【在 l*********y 的大作中提到】
: 贴一个按svncheckout的idea实现的c++. Tested.
: #include
: using namespace std;
: int GasStation(int* d, int* g, int size)
: {
: int i = 0;
: int* c = new int[2*size];
: for (i = 0; i < 2 * size; i++) {
: if (i < size) {
: c[i] = g[i] - d[i];

avatar
i*r
33
嗯,是的,j==size就可以退出了,如果保证题目有解的话。

【在 r****o 的大作中提到】
: 问问,是不是j==size的时候就可以退出循环了?
avatar
c*f
34
mark
avatar
k*e
35
老题了。呵呵
avatar
h*6
36
遍历一圈,然后找出达到每个加油站时油最少(或者说欠油最多)的点,然后从那里开始
,同向行驶。
avatar
r*o
37
你说的是到达加油站的时候不加油的情况,对吗?
还有一种方法是遍历一圈,到达加油站的时候加油,然后找出每个加油站时油最多的点
,然后从那里里开始。
请问这两种方法是否等价? 还有,谁能证明这两种方法为什么正确呢?

【在 h**6 的大作中提到】
: 遍历一圈,然后找出达到每个加油站时油最少(或者说欠油最多)的点,然后从那里开始
: ,同向行驶。

avatar
h*6
38
显然不能计算达到加油站加油之后的油量,因为需要的是成功达到下一个加油站,也就
是加油之前剩油非负。
看下图:
(2) (4)
A-----B
| |
| |
| |
| |
C
(6)
存油A2,B4,C6,距离AB5,BC3,CA4,限定顺时针行驶,那么显然应该由B出发而不是
由C出发。
avatar
K*g
39
我怎么感觉这题很简单呢。假设有5个油桶。之间的距离是 d[5] = {7, 6, 5, 4, 3},
油量 g[5] = {8, 2, 10, 3, 2};
1. 设一个数组a[5×2],a[i]表示从i出发,当目前车子里累计的油量,这个值在到达
一个油桶之前和离开一个油桶之前都要check一次,不能为负数,如果为负数,就说明
不能i出发。
2. 做一个loop,从0到5×2,每一个loop,都要更新a[0]到a[i-1]的值。
比如:i = 0 a[0] = 8
i = 1, a[0] = 1(剩下的油) + 3(新加的油), a[1] = 2
i = 2, a[0]=-2+10, a[1]=-4+10, a[2]=10,很显然,起始点0和1被淘汰
i = 3, a[2]=5+3, a[3]=3
i = 4, a[2]=4+2, a[3]=-1+2, 起始点3被淘汰
i = 5,a[2]=3+8
i = 6, a[2]=4+2
i = 7, a[2]=0, 到这个时候,因为起始点是2,恰好有一圈了,
avatar
b*u
40

为什么要更新这么多?如果每个站点都可行,那总复杂度岂不是达到了O(n^2)? 其实只
要累加的起点被淘汰(比如a[0]),路上路过的点(比如a[1])也必然被淘汰 因为在到
达a[1]时 汽车里还有油。这样最后都不行 直接从a[1]出发当然更没戏。所以只要维护
一个a, 如果小于0就从零开始即可。
笔误?这个例子里新加的应该是2吧?

【在 K******g 的大作中提到】
: 我怎么感觉这题很简单呢。假设有5个油桶。之间的距离是 d[5] = {7, 6, 5, 4, 3},
: 油量 g[5] = {8, 2, 10, 3, 2};
: 1. 设一个数组a[5×2],a[i]表示从i出发,当目前车子里累计的油量,这个值在到达
: 一个油桶之前和离开一个油桶之前都要check一次,不能为负数,如果为负数,就说明
: 不能i出发。
: 2. 做一个loop,从0到5×2,每一个loop,都要更新a[0]到a[i-1]的值。
: 比如:i = 0 a[0] = 8
: i = 1, a[0] = 1(剩下的油) + 3(新加的油), a[1] = 2
: i = 2, a[0]=-2+10, a[1]=-4+10, a[2]=10,很显然,起始点0和1被淘汰
: i = 3, a[2]=5+3, a[3]=3

avatar
g*s
41
用数学归纳法可以证明。
先证一个引理:如果循环数组的元素和为零,则存在非负的数组元素,它和数组中的下一个元素之和也
非负。
给定任意长为n的循环数组,先利用这个引理找到满足条件的元素,再把这两个元素合成一个即可。得到
的新数组长为n-1,可用归纳假设找到起点。显然这个起点也是长为n的原数组的起点。

【在 d****j 的大作中提到】
: 呵呵
: 有证明 一定存在一个站点使得汽车能顺利通过一圈
: 因而寻找最大的期望就一定能够行
: 具体的证明还要更严格的说法,俺这里捉襟见肘...

avatar
r*g
42
这道题我看过一个证明觉得非常简洁, 就是从任意一个点开始走,计算到达每个加油
站的剩余油量
y,这样可以画一条曲线,然后总能找到一个最低点。从新开始,让最低点作为起点,
从这个起点开
始走的话,相应的曲线形状还是不变的,只是所有的点的值(也就是剩余油量)都大于0
了,相当于
移动了坐标轴。

from the
needs 1
any amount
But you
the
distance
between
such

【在 l*********y 的大作中提到】
: There are N petrol bunks arranged in circle. Each bunk is separated from the
: rest by a certain distance. You choose some mode of travel which needs 1
: litre of petrol to cover 1 km distance. You can't infinitely draw any amount
: of petrol from each bunk as each bunk has some limited petrol only. But you
: know that the sum of liters of petrol in all the bunks is equal to the
: distance to be covered.
: i.e let P1, P2, ... Pn be n bunks arranged circularly. d1 is distance
: between p1 and p2, d2 is distanc

avatar
m*s
44
两个指针一头一尾pstart, pend.并且一直记录从pstart到pend的和sum
向后一位一位移动pend,更新sum
如果sum小于0了,向后移动pstart直到sum〉=0,(总可以〉=0的,因为重合时就〉=0)
如果大于等于0了就停止移动pstart,再移动pend。一直这样循环,直到pend-pstart =
sizeof(pointer) * (n-1)
这时候返回pstart

the
amount
you
between

【在 l*********y 的大作中提到】
: There are N petrol bunks arranged in circle. Each bunk is separated from the
: rest by a certain distance. You choose some mode of travel which needs 1
: litre of petrol to cover 1 km distance. You can't infinitely draw any amount
: of petrol from each bunk as each bunk has some limited petrol only. But you
: know that the sum of liters of petrol in all the bunks is equal to the
: distance to be covered.
: i.e let P1, P2, ... Pn be n bunks arranged circularly. d1 is distance
: between p1 and p2, d2 is distanc

avatar
l*g
45
each bunk has same fuel?

circle. Each bunk is separated from the
some mode of travel which needs 1
You can't infinitely draw any amount
some limited petrol only. But you
all the bunks is equal to the
circularly. d1 is distance
p2 and p3. dn is distance between
the travel can be started such
fuel.

【在 l*********y 的大作中提到】
: There are N petrol bunks arranged in circle. Each bunk is separated from the
: rest by a certain distance. You choose some mode of travel which needs 1
: litre of petrol to cover 1 km distance. You can't infinitely draw any amount
: of petrol from each bunk as each bunk has some limited petrol only. But you
: know that the sum of liters of petrol in all the bunks is equal to the
: distance to be covered.
: i.e let P1, P2, ... Pn be n bunks arranged circularly. d1 is distance
: between p1 and p2, d2 is distanc

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。