由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 赵老师那个pool更好做
相关主题
100%和必需出票属于没戏了这么多讨论的,你们用过12306吗?
出票正确率的定义,赵,姜请进。赵老师你别看不起做机器的
关于换座位的问题乱砍两句火车订票
关于计数器,我有一个疑问12306哪里有什么死锁问题!
赵老师你精确定义 100% 出票data consistency
有人看懂赵老师的 100% 出票什么概念没有?别吵了,看看这个旧贴,三个月还在原地打圈
老魏号称100%出票,现在的算法有碎片化问题吧。座位优化有多难?难于上青天?
12306,座位号应该比较晚出来(比如出发前1星期)这么说吧,goodbug纠缠的那点东西,都不超出初中计算机爱好者的水平
相关话题的讨论汇总
话题: 座位话题: 最优话题: 航段话题: 站票话题: 座位号
进入Programming版参与讨论
1 (共1页)
t**********1
发帖数: 550
1
抢票,先卖肯定能给座位的。然后卖不一定的或者需要换座位的,统称站票。
最后集中爱咋算咋算。上车前领取登车牌。
比赵老师那个所谓的并发优化多了。
而且站票就是个计数器,单线程每秒5000万的计数器。呵呵呵。 :)
t**********1
发帖数: 550
2
老赵,你要点脸。这个帖子你可以掐。

【在 t**********1 的大作中提到】
: 抢票,先卖肯定能给座位的。然后卖不一定的或者需要换座位的,统称站票。
: 最后集中爱咋算咋算。上车前领取登车牌。
: 比赵老师那个所谓的并发优化多了。
: 而且站票就是个计数器,单线程每秒5000万的计数器。呵呵呵。 :)

z****e
发帖数: 54598
3
搞了,我该说的都说了
100%出票做不到怪谁?
z****e
发帖数: 54598
4
当是imei问的时候
还给了两个答复
并发上万,一点没冤枉你
最高峰值是千万访问的
上万大概也就是1ms
所以pool size已经出来了
自己想想从里面找出一个最优解需要多长时间
t**********1
发帖数: 550
5
我们还是执行赌约吧。
赌约规定的,我都会做到。OK?
你胡搅蛮缠没用的。

【在 z****e 的大作中提到】
: 搞了,我该说的都说了
: 100%出票做不到怪谁?

z****e
发帖数: 54598
6

你自己说的,当是imei问了
就在问你必需出票什么意思
你自己反复确认是100%出票
你打算反悔么?

【在 t**********1 的大作中提到】
: 我们还是执行赌约吧。
: 赌约规定的,我都会做到。OK?
: 你胡搅蛮缠没用的。

t**********1
发帖数: 550
7
你那个pool size是个屁。你要是不能比我的算法更优化,谁理你?

【在 z****e 的大作中提到】
: 当是imei问的时候
: 还给了两个答复
: 并发上万,一点没冤枉你
: 最高峰值是千万访问的
: 上万大概也就是1ms
: 所以pool size已经出来了
: 自己想想从里面找出一个最优解需要多长时间

n****j
发帖数: 1708
8
你定义最优,我来解

【在 z****e 的大作中提到】
: 当是imei问的时候
: 还给了两个答复
: 并发上万,一点没冤枉你
: 最高峰值是千万访问的
: 上万大概也就是1ms
: 所以pool size已经出来了
: 自己想想从里面找出一个最优解需要多长时间

z****e
发帖数: 54598
9

lol
怎么不行了?
你看不懂嘛?
一万个并发票的申请
从中找出一个没有空座的组合
就是最优解,我没有要求找出全部最优解
你找出一个就行

【在 t**********1 的大作中提到】
: 你那个pool size是个屁。你要是不能比我的算法更优化,谁理你?
z****e
发帖数: 54598
10

最优就是1w个并发里面
如果有全部占住位置的组合
你要占住

【在 n****j 的大作中提到】
: 你定义最优,我来解
相关主题
有人看懂赵老师的 100% 出票什么概念没有?这么多讨论的,你们用过12306吗?
老魏号称100%出票,现在的算法有碎片化问题吧。赵老师你别看不起做机器的
12306,座位号应该比较晚出来(比如出发前1星期)乱砍两句火车订票
进入Programming版参与讨论
t**********1
发帖数: 550
11
我先抢票,都抢完后再统一求解。
当然可以证明我的算法比你的优化。
你歇着去吧。

【在 z****e 的大作中提到】
:
: 最优就是1w个并发里面
: 如果有全部占住位置的组合
: 你要占住

z****e
发帖数: 54598
12

这样会有碎片啊,早就有人告诉过你了
你看不懂么?

【在 t**********1 的大作中提到】
: 我先抢票,都抢完后再统一求解。
: 当然可以证明我的算法比你的优化。
: 你歇着去吧。

n****j
发帖数: 1708
13
先来后到不需要了是吧?
简单,10000 个请求,5000 车次,你自己看看冲突概率有多大吧,我都不稀算了,LOL

【在 z****e 的大作中提到】
:
: 这样会有碎片啊,早就有人告诉过你了
: 你看不懂么?

z****e
发帖数: 54598
14

LOL
低于1ms的差距你没法精确测量
你也不能保证这个顺序就是绝对客观的
所以把这1ms的请求全部归并起来
组成一个pool,正好给你发挥的机会
你那样搞,pool size = 1,那太傻瓜了
现在并发上万,pool size = 10000,正好给了你足够多的最优解
让你有机会找出来

【在 n****j 的大作中提到】
: 先来后到不需要了是吧?
: 简单,10000 个请求,5000 车次,你自己看看冲突概率有多大吧,我都不稀算了,LOL

z****e
发帖数: 54598
15

LOL
另外,这个东西可不是uniformly distributed
一些热门车次,可是会拥堵的哦
不是说你买去成都的票买不了,换成去新疆的
这不可以的

【在 n****j 的大作中提到】
: 先来后到不需要了是吧?
: 简单,10000 个请求,5000 车次,你自己看看冲突概率有多大吧,我都不稀算了,LOL

n****j
发帖数: 1708
16
低于 1ms 没法测量?我勒个去,老赵我还是去追剧吧 。。。。。。

【在 z****e 的大作中提到】
:
: LOL
: 另外,这个东西可不是uniformly distributed
: 一些热门车次,可是会拥堵的哦
: 不是说你买去成都的票买不了,换成去新疆的
: 这不可以的

z****e
发帖数: 54598
17

lol
你打算怎么测量?
你记住,你越压缩这个窗口
留给你找最优解的时间越少
你打算压缩到多少吧?

【在 n****j 的大作中提到】
: 低于 1ms 没法测量?我勒个去,老赵我还是去追剧吧 。。。。。。
n****j
发帖数: 1708
18
我真服了,如果 pool size = 1,冲突是不是 100% 了?

【在 z****e 的大作中提到】
:
: lol
: 你打算怎么测量?
: 你记住,你越压缩这个窗口
: 留给你找最优解的时间越少
: 你打算压缩到多少吧?

z****e
发帖数: 54598
19

我靠,老姜,你怎么确保先后顺序啊?
并发不是说你说什么顺序就是什么顺序好吧?
你要保证公平性
一秒上千万的请求
你这种搞法跟抽签有啥本质区别?
而且最重要的是
你最后会有空位留出来
铁道部要是出现空位,估计会上新闻被骂死

【在 n****j 的大作中提到】
: 我真服了,如果 pool size = 1,冲突是不是 100% 了?
n****j
发帖数: 1708
20
真是拜服,按请求到达核心的先后顺序,这还不能理解?

【在 z****e 的大作中提到】
:
: 我靠,老姜,你怎么确保先后顺序啊?
: 并发不是说你说什么顺序就是什么顺序好吧?
: 你要保证公平性
: 一秒上千万的请求
: 你这种搞法跟抽签有啥本质区别?
: 而且最重要的是
: 你最后会有空位留出来
: 铁道部要是出现空位,估计会上新闻被骂死

相关主题
12306哪里有什么死锁问题!座位优化有多难?难于上青天?
data consistency这么说吧,goodbug纠缠的那点东西,都不超出初中计算机爱好者的水平
别吵了,看看这个旧贴,三个月还在原地打圈单线程测试结果出来了
进入Programming版参与讨论
z****e
发帖数: 54598
21

说了,这个是你的排序方式
因为你只有一个core,所以用这种方式搞
这一个core会有问题的
你这个core挂了怎么办?
两年前打补丁的时候就打过一个双机热备的补丁
要不要翻出来看看?

【在 n****j 的大作中提到】
: 真是拜服,按请求到达核心的先后顺序,这还不能理解?
n****j
发帖数: 1708
22
搭届伐

【在 z****e 的大作中提到】
:
: 说了,这个是你的排序方式
: 因为你只有一个core,所以用这种方式搞
: 这一个core会有问题的
: 你这个core挂了怎么办?
: 两年前打补丁的时候就打过一个双机热备的补丁
: 要不要翻出来看看?

h*c
发帖数: 45
23
这个有道理,但是还是要数学证明一下站票只要能卖出去最终就一定能找到座位。

【在 t**********1 的大作中提到】
: 抢票,先卖肯定能给座位的。然后卖不一定的或者需要换座位的,统称站票。
: 最后集中爱咋算咋算。上车前领取登车牌。
: 比赵老师那个所谓的并发优化多了。
: 而且站票就是个计数器,单线程每秒5000万的计数器。呵呵呵。 :)

t**********1
发帖数: 550
24
能证明肯定有座位很容易。
但是可能中途要换坐。所以称为站票不是真让你站着。而是你可能要中途换坐。

【在 h*c 的大作中提到】
: 这个有道理,但是还是要数学证明一下站票只要能卖出去最终就一定能找到座位。
h*c
发帖数: 45
25
先假定一个规则:出票的时候只告诉用户你买到票了,然后上临车前确定座位号。注意
这里乘客不换座位。这是你前面提出的一个潜在的合理方案。
在这种规则下,你那个计数器也不用管座位号的事情了,就简单的数座位数就可以了。
但是要证明只按座位数卖出去的票,最后肯定存在一个座位分配落实的方案,并且这个
方案可以用有效的算法求得。
假定你可以证明这个,那么在这种对卖票规则改变的基础上,赵策的那个所谓"并行"问
题确实不是一个问题了。你相当于是pool了所有的买出去的票的seat number
assignment然后交给你所谓的”外围机“去做。
这个我认为算fair。传统的长延迟的异步方案说的是人买票,我跟人说收到了,然后10
分钟后告诉人或者收钱出票,带座位号;或者没票。你这个大体是说人买票,你很快(
例如十秒钟内)告诉或者收钱出票,但没座位号;或者没票。如果有票的话,十分钟后
告诉你座位号。

【在 t**********1 的大作中提到】
: 能证明肯定有座位很容易。
: 但是可能中途要换坐。所以称为站票不是真让你站着。而是你可能要中途换坐。

z****e
发帖数: 54598
26

10
无非就是各种简化,然后把出票简化成一个标记
就这么一个东西,各种trick其实都是一个打算
把该做的事推给其它机器去做

【在 h*c 的大作中提到】
: 先假定一个规则:出票的时候只告诉用户你买到票了,然后上临车前确定座位号。注意
: 这里乘客不换座位。这是你前面提出的一个潜在的合理方案。
: 在这种规则下,你那个计数器也不用管座位号的事情了,就简单的数座位数就可以了。
: 但是要证明只按座位数卖出去的票,最后肯定存在一个座位分配落实的方案,并且这个
: 方案可以用有效的算法求得。
: 假定你可以证明这个,那么在这种对卖票规则改变的基础上,赵策的那个所谓"并行"问
: 题确实不是一个问题了。你相当于是pool了所有的买出去的票的seat number
: assignment然后交给你所谓的”外围机“去做。
: 这个我认为算fair。传统的长延迟的异步方案说的是人买票,我跟人说收到了,然后10
: 分钟后告诉人或者收钱出票,带座位号;或者没票。你这个大体是说人买票,你很快(

h*c
发帖数: 45
27
先把吹牛逼的成分滤掉(例如出全银河系的票啥的),魏老师的方案,从理论上讲,的确
可能在传统的标准架构的基础上对latency有大幅度提高(还是那句话,滤掉吹牛逼的成
分,比如一秒一百万票啥的)。公允的说,我不认为魏老师解决了12306的所有问题。但
是这个思路是值得考虑的。

【在 z****e 的大作中提到】
:
: 10
: 无非就是各种简化,然后把出票简化成一个标记
: 就这么一个东西,各种trick其实都是一个打算
: 把该做的事推给其它机器去做

z****e
发帖数: 54598
28

你就那么确定12306的latency主要就花在内存计数器上?
其次,latency好像不是问题,问题是throughput好吧?
来,看看这篇文章,这还是http好吧
http://www.techempower.com/blog/2014/03/04/one-million-http-rps

【在 h*c 的大作中提到】
: 先把吹牛逼的成分滤掉(例如出全银河系的票啥的),魏老师的方案,从理论上讲,的确
: 可能在传统的标准架构的基础上对latency有大幅度提高(还是那句话,滤掉吹牛逼的成
: 分,比如一秒一百万票啥的)。公允的说,我不认为魏老师解决了12306的所有问题。但
: 是这个思路是值得考虑的。

z****e
发帖数: 54598
29

10
显然还是有问题
举个最简单例子
两个座位
三个航段123
四个人抢
其中一个人要航段123
另外一个人要12
还有人要3
最后一个要23
假设这四个人同时发送请求过来
那么期待组合是
123,12,3
但是如果票发送到的顺序是
123,23,12,3
那么就只会通知前两个人,你买到票了
剩下两个人会被拒掉
然后剩下123和23,两个人怎么搭配都无法实现最优解
航段1会有一个座位空出来
还是老问题,顺序如果一开始就决定了的话,这个最优解就是出不来
最优解是从pool中选组合,而不是固定顺序
丢给外围不外围都是一样的
强制顺序排队是一个死结,不打开这个,你就会有空位出现
至于具体什么座位号,那谁在乎?

【在 h*c 的大作中提到】
: 先假定一个规则:出票的时候只告诉用户你买到票了,然后上临车前确定座位号。注意
: 这里乘客不换座位。这是你前面提出的一个潜在的合理方案。
: 在这种规则下,你那个计数器也不用管座位号的事情了,就简单的数座位数就可以了。
: 但是要证明只按座位数卖出去的票,最后肯定存在一个座位分配落实的方案,并且这个
: 方案可以用有效的算法求得。
: 假定你可以证明这个,那么在这种对卖票规则改变的基础上,赵策的那个所谓"并行"问
: 题确实不是一个问题了。你相当于是pool了所有的买出去的票的seat number
: assignment然后交给你所谓的”外围机“去做。
: 这个我认为算fair。传统的长延迟的异步方案说的是人买票,我跟人说收到了,然后10
: 分钟后告诉人或者收钱出票,带座位号;或者没票。你这个大体是说人买票,你很快(

z****e
发帖数: 54598
30
这个问题跟站票不站票一点关系没有
也跟具体的座位无关
如果你固定好订票顺序,就有可能导致空位
这个空位可能是坐票,也可能是站票,无所谓
用抽象一点的方法说
假定一个车厢容量是n
n包括坐票和站票
那么你只要固定顺序进入,很容易制造出空位来
有站票空余难倒你要说没票了?
最简单的,三个航段123,你卖到最后三个人了
一个人要12,一个人要3,一个人要23
但是进入顺序是23,3,12
那么系统就会确认23这个人订票成功,剩下两个人被拒掉
空位就出来了,航段1空出来了
至于这个空位是站票还是坐票,这个不重要
有站票剩余一样属于没出,还是达不到100%出票的要求
相关主题
100%出票就无法实现了吧出票正确率的定义,赵,姜请进。
我们来做点unit test吧,座位数从3000改为4关于换座位的问题
100%和必需出票属于没戏了关于计数器,我有一个疑问
进入Programming版参与讨论
z****e
发帖数: 54598
31
所以其实中途换坐的话,这个饱和度还会更高一点
对哦,中途不换坐,那你要想在航段和座位两个要求下找出最优解就更难咯
举个例子
两个座位abc
三个航段123
某乘客A,买了a座位,12航段
B买了b座位,23航段
CD分别买了c座位的1和3航段
那么请问,如果这个时候有人来买123航段的票
你要不要给他呢?诶,是有空位的哦
可以以b1,c2,a3这个顺序坐过去的哦
啧啧,不讨论则已,一讨论,漏洞更大了
古德霸下了很大一个陷阱啊
你这个最后出票真可谓是千疮百孔
允许换坐的话,出票会更多一点
如果不允许的话,呵呵
z****e
发帖数: 54598
32
100%出票率我看根本上是无法实现
我一直想的是容量固定,航段的差异导致的空座
现在看,不允许换座位本身也会导致大量空座的出现
呵呵,两个严重漏洞,你自己想想你这个还算不算有票必需出吧
100%这个牛吹大了
h*c
发帖数: 45
33
数学上讲我明白你在讲什么,但是从实际上讲你的这个说法我认为不fair。因为这个过
程还是在模拟窗口售票的过程。在你的例子里面,如果有四个人在窗口排队,依次的请
求是,
1. 123
2. 23
3. 12
4. 3
你想要的优化是要卖给1,3,4好乘客。但是在实际的窗口排队模型中,售票员不能和2号
乘客说,为了全局的优化,我有票也不卖给你,因为要更好的服务别人。
所以我认为100%的正确率是可以严格的数学定义的。如果吧魏老师的计数器分成俩个版
本,
1. 简单版:只数座位数,不包分座位号。
2. 复杂版:管分座位号
假设每个请求只返回yes or no。那么对于任何一个请求序列,100%正确可以定义为如
果简单版有解,复杂版必须有一致的解。即对每一个请求的yes/no答案是一样的。

【在 z****e 的大作中提到】
: 100%出票率我看根本上是无法实现
: 我一直想的是容量固定,航段的差异导致的空座
: 现在看,不允许换座位本身也会导致大量空座的出现
: 呵呵,两个严重漏洞,你自己想想你这个还算不算有票必需出吧
: 100%这个牛吹大了

h*c
发帖数: 45
34
这个例子举得好。我认为非常fair。这个例子用魏老师的:
同步只数数,然后“外围机”异步算座位号
方法可解。对于你这个例子的直接回答是:我期望魏老师的同步算法可以handle你这种
情况。具体的说,魏老师的算法应该能够聪明的决定
A: a-1,2
B: b-2,3
C: b-1
D: a-3
E: c-1,2,3
如果不能,我个人认为魏老师算输。如果能,我个人认为到不必纠结1M/s这些东西。能
到这个latency当然好,但“外围机”的latency反正也跟不上。纠结这个没用。

【在 z****e 的大作中提到】
: 所以其实中途换坐的话,这个饱和度还会更高一点
: 对哦,中途不换坐,那你要想在航段和座位两个要求下找出最优解就更难咯
: 举个例子
: 两个座位abc
: 三个航段123
: 某乘客A,买了a座位,12航段
: B买了b座位,23航段
: CD分别买了c座位的1和3航段
: 那么请问,如果这个时候有人来买123航段的票
: 你要不要给他呢?诶,是有空位的哦

g****u
发帖数: 252
35
按老魏自己描述过的方法,这个特定的情形是能卖出去票的。
因为C和D买票的时候都会尽量把漏洞填了。
但是很容易想出来老魏的算法没法满足的情况。
即便把所有的请求都汇总了离线算,这个还是个NP难的问题,
最优解是不可能的。在线做的话还需要考虑实时性的问题,
最优就更不可能。实际情况下需要一定的优化,但并不需要
最优解。
赵策这个问题我稍微变一下。假设ABCD都已经买票了。
这时候心来一个人说要买2-3,然后一个delta时间后
又有一个人来要买1-2-3。如果delta很大,自然应该
卖给2-3,但是如果delta非常小接近于0, 那显然应该
卖给1-2-3。然后实际delta取舍就成了一个比解决
NP难最优化更重要的一个问题。
实际做这种事情,追求的是帕累托优化,而不是要解决
世界难题。赵策抛出来一个NPC问题说没法做到100%,
要么就是自己不懂,要么就是别有用心。

用。

【在 h*c 的大作中提到】
: 这个例子举得好。我认为非常fair。这个例子用魏老师的:
: 同步只数数,然后“外围机”异步算座位号
: 方法可解。对于你这个例子的直接回答是:我期望魏老师的同步算法可以handle你这种
: 情况。具体的说,魏老师的算法应该能够聪明的决定
: A: a-1,2
: B: b-2,3
: C: b-1
: D: a-3
: E: c-1,2,3
: 如果不能,我个人认为魏老师算输。如果能,我个人认为到不必纠结1M/s这些东西。能

g****u
发帖数: 252
36
赵策说的这个问题叫做0-1背包问题。各种复杂度的近似算法
网上一搜一大堆。实际做系统的话也就是挑一个效率难度啥
的都可以接受的实现了,不需要发明新算法。

【在 g****u 的大作中提到】
: 按老魏自己描述过的方法,这个特定的情形是能卖出去票的。
: 因为C和D买票的时候都会尽量把漏洞填了。
: 但是很容易想出来老魏的算法没法满足的情况。
: 即便把所有的请求都汇总了离线算,这个还是个NP难的问题,
: 最优解是不可能的。在线做的话还需要考虑实时性的问题,
: 最优就更不可能。实际情况下需要一定的优化,但并不需要
: 最优解。
: 赵策这个问题我稍微变一下。假设ABCD都已经买票了。
: 这时候心来一个人说要买2-3,然后一个delta时间后
: 又有一个人来要买1-2-3。如果delta很大,自然应该

h*c
发帖数: 45
37
你说的我大体明白。赵老师说的(抛开搅局的因素)也不是完全没道理。你看我另外一个
帖子,里面提了一个对正确率的定义。你给评一下。根据我那个定义,倒也不是什么
NPC问题。基本上是一个线性问题。不过要魏老师做出来也不是轻而易举的。姜老师好
像以前提过一个什么算法,能不能再贴一回?

【在 g****u 的大作中提到】
: 按老魏自己描述过的方法,这个特定的情形是能卖出去票的。
: 因为C和D买票的时候都会尽量把漏洞填了。
: 但是很容易想出来老魏的算法没法满足的情况。
: 即便把所有的请求都汇总了离线算,这个还是个NP难的问题,
: 最优解是不可能的。在线做的话还需要考虑实时性的问题,
: 最优就更不可能。实际情况下需要一定的优化,但并不需要
: 最优解。
: 赵策这个问题我稍微变一下。假设ABCD都已经买票了。
: 这时候心来一个人说要买2-3,然后一个delta时间后
: 又有一个人来要买1-2-3。如果delta很大,自然应该

g****u
发帖数: 252
38
你定义正确率那个帖子我没找到。
你说的两个版本,老魏做的是分配座位的版本,只不过用的是最简单的heuristic。
他给的协议是返回座位号的。
我有两个直觉:
1. 你说的简单版和复杂版,难度是一样的。如果要保证简单版返回的座位最后
复杂版都能分配出来,简单版必须在内部实现分配算法才行。(前提是不允许
中途换座。)
2. 不加别的任何domain knowledge,老魏的heuristic应该是近似最优的。
所谓的近似最优,是指在上下10倍时间开销范围内所可以实现的近似优化算法,
在优化效果上不会对老魏的算法有显著的改进。对于NPC问题,讨论理论最优值
没有多少实际意义。
我上次讨论专门提过,用户订票中的各种参数肯定不是均匀分布的。goodbug
回复说只要测均匀分布就行。实际每个路段的需求应该符合power law分布。
这个知识对优化策略是有影响的。如果一个路段很热门,你知道票最后肯定
能卖完的,优化时就可以少算点。一个路段很冷门,优化时可以多算点。
因为绝大多数请求都是热门路段,所以平均下来可以达到卖出率和速度兼顾。
这种东西如果要深究,本身就是个大坑。
实际座位分配铁道系统应该有一套常年积累下来的系统。
如果真想搞座位分配,正道是搞到12306实际用的算法,然后对着那个效果做。

【在 h*c 的大作中提到】
: 你说的我大体明白。赵老师说的(抛开搅局的因素)也不是完全没道理。你看我另外一个
: 帖子,里面提了一个对正确率的定义。你给评一下。根据我那个定义,倒也不是什么
: NPC问题。基本上是一个线性问题。不过要魏老师做出来也不是轻而易举的。姜老师好
: 像以前提过一个什么算法,能不能再贴一回?

l*****8
发帖数: 16949
39
我觉得魏老师的方案逻辑上没问题啊。 先来先抢座位,33楼的例子很清楚,卖给A(1,2
,3)和B(2,3)显然没问题,即使C(12),D(3)只比2晚一点点。为了所谓100%上座不给先
来的B,卖给C,D说不通啊。而且在实际操作中,那么多人抢票,几千个座位,最后区
段1空着卖不出去的可能性极小。为了这么点理论上的完美给算法增加那么多复杂度有
什么实际意义哪?况且C,D买不到票,可能再往后(比如E)就是只需要1的乘客哪。我
还觉得卖给ABE比卖给ACD更合理哪。
a9
发帖数: 21638
40
很多情况下区段1根本不卖或者只卖从第1站到第2站的。
比如从北京到上海会给天津预留。

,2

【在 l*****8 的大作中提到】
: 我觉得魏老师的方案逻辑上没问题啊。 先来先抢座位,33楼的例子很清楚,卖给A(1,2
: ,3)和B(2,3)显然没问题,即使C(12),D(3)只比2晚一点点。为了所谓100%上座不给先
: 来的B,卖给C,D说不通啊。而且在实际操作中,那么多人抢票,几千个座位,最后区
: 段1空着卖不出去的可能性极小。为了这么点理论上的完美给算法增加那么多复杂度有
: 什么实际意义哪?况且C,D买不到票,可能再往后(比如E)就是只需要1的乘客哪。我
: 还觉得卖给ABE比卖给ACD更合理哪。

相关主题
关于计数器,我有一个疑问老魏号称100%出票,现在的算法有碎片化问题吧。
赵老师你精确定义 100% 出票12306,座位号应该比较晚出来(比如出发前1星期)
有人看懂赵老师的 100% 出票什么概念没有?这么多讨论的,你们用过12306吗?
进入Programming版参与讨论
l*****8
发帖数: 16949
41
这个和赵策的要求完全不同,当然也不在他们的赌约内。我觉得增加不了多少复杂度。
用魏老师的方案,这趟车次初始化的时候假设第一个区段已经卖掉就行了。

【在 a9 的大作中提到】
: 很多情况下区段1根本不卖或者只卖从第1站到第2站的。
: 比如从北京到上海会给天津预留。
:
: ,2

n****j
发帖数: 1708
42
没啥难度,我们技校生傻大黑粗也能搞定,票源和请求按起始站放两个 2D 队列,然后
匹配。本质上就是索引搜索。

【在 l*****8 的大作中提到】
: 这个和赵策的要求完全不同,当然也不在他们的赌约内。我觉得增加不了多少复杂度。
: 用魏老师的方案,这趟车次初始化的时候假设第一个区段已经卖掉就行了。

1 (共1页)
进入Programming版参与讨论
相关主题
这么说吧,goodbug纠缠的那点东西,都不超出初中计算机爱好者的水平赵老师你精确定义 100% 出票
单线程测试结果出来了有人看懂赵老师的 100% 出票什么概念没有?
100%出票就无法实现了吧老魏号称100%出票,现在的算法有碎片化问题吧。
我们来做点unit test吧,座位数从3000改为412306,座位号应该比较晚出来(比如出发前1星期)
100%和必需出票属于没戏了这么多讨论的,你们用过12306吗?
出票正确率的定义,赵,姜请进。赵老师你别看不起做机器的
关于换座位的问题乱砍两句火车订票
关于计数器,我有一个疑问12306哪里有什么死锁问题!
相关话题的讨论汇总
话题: 座位话题: 最优话题: 航段话题: 站票话题: 座位号