2011-0034

从 Trac 迁移的文章

这是从旧校内 Wiki 迁移的文章,可能存在一些样式问题,您可以向 memset0 反馈。

原文章内容如下:

这道stock题原本是打算出在第一轮的秒杀题= =,但是由于验题不能,结果就顺延到第二轮了,而且令人惊讶地成了一道没人碰的大自然题。其实是“伪大自然题“,难点在于理解题目中给出的计算规则,英文的描述也会增加一定的理解困难,不过只要理解了每条计算规则,那么就只要严格依照题目的描述实现运算就行了,完全不需要任何算法只是。

程序的实现按输入的顺序依次执行思路就会非常清晰。首先第一行读入两个数,分别是购入的股票数和股票所在的证券交易市场。注意这里的股票数仅仅是购入的数量,之后会因为Scrip Issue而使股票数量和股票价格变动。给出证券交易市场是因为如果是上海证券市场,那么买入和卖出时需要每1000股支付1元Transfer fee,不足一千股的部分按一千股计算。下面一行给出买入时每股市值,这样就可以算出买入股票时的成本,即股票的价值加上需要支付的fee,之后一行给出Dividend Issue和Scrip Issue发生的次数,之后按时间顺序具体给出这些事件。Dividedn Issue发生时,你的每10股可以获得S元,不足10股忽略,获得的现金中有10%要交税,然后你的股票价格减少D/10。在这个过程中,你的成本降低了,股价也降低了。Scrip Issue发生时,你的持股数量增加了,不过每股的价格也减少了,因为事件中的S是实数,持股数量是整数,要注意进位。

按照这样的过程把输入读入一遍之后就已经有了当前的持股数,股票价格和成本,然后用二分法二分价格就可以不会让你亏本的最低卖出价格。题目中要注意是四舍五入和买入卖出时要额外付的fee。代码可以在192上看。
by guinao

这道stock题原本是打算出在第一轮的秒杀题= =,但是由于验题不能,结果就顺延到第二轮了,而且令人惊讶地成了一道没人碰的大自然题。其实是“伪大自然题“,难点在于理解题目中给出的计算规则,英文的描述也会增加一定的理解困难,不过只要理解了每条计算规则,那么就只要严格依照题目的描述实现运算就行了,完全不需要任何算法只是。

程序的实现按输入的顺序依次执行思路就会非常清晰。首先第一行读入两个数,分别是购入的股票数和股票所在的证券交易市场。注意这里的股票数仅仅是购入的数量,之后会因为Scrip Issue而使股票数量和股票价格变动。给出证券交易市场是因为如果是上海证券市场,那么买入和卖出时需要每1000股支付1元Transfer fee,不足一千股的部分按一千股计算。下面一行给出买入时每股市值,这样就可以算出买入股票时的成本,即股票的价值加上需要支付的fee,之后一行给出Dividend Issue和Scrip Issue发生的次数,之后按时间顺序具体给出这些事件。Dividedn Issue发生时,你的每10股可以获得S元,不足10股忽略,获得的现金中有10%要交税,然后你的股票价格减少D/10。在这个过程中,你的成本降低了,股价也降低了。Scrip Issue发生时,你的持股数量增加了,不过每股的价格也减少了,因为事件中的S是实数,持股数量是整数,要注意进位。

按照这样的过程把输入读入一遍之后就已经有了当前的持股数,股票价格和成本,然后用二分法二分价格就可以不会让你亏本的最低卖出价格。题目中要注意是四舍五入和买入卖出时要额外付的fee。代码可以在192上看。

by guinao