一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 151|回复: 0
收起左侧

zenifits OA4 面经

[复制链接] |试试Instant~ |关注本帖
xiaohl0913 发表于 2016-2-14 14:24:40 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 博士 全职@zenifits - 网上海投 - 在线笔试 |Pass在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
题目没变。我是用c++写的。测了在他们机器上测了sizeof(long long) 和sizeof(long)都是8, 所以用long就行。
第一题:卖票
用的方法是下面的帖子:. 1point 3acres 璁哄潧
http://www.1point3acres.com/bbs/thread-134442-1-1.html
注意的是
1. 票数m的最大值可以是10^10, 所以得用 long
2. 最后的和最大值可以是 (10^10) * (10^5+1) / 2 所以也得用long, 算的时候注意转换成long就行了。
3. heap看见过有其他的人讨论说过不了所有的测试。最坏情况是m log(n) = n^2 log(n)

第二题:
方法是下面的帖子:
http://www.1point3acres.com/bbs/thread-143974-1-1.html
最上面第一个帖子里面的讨论也很详细,再参考一下就行了-google 1point3acres
注意的是
1.  inverse函数给了, 自己得照着题目给的写一份
2. 你要保证每次算完加法和乘法都要模一下那个素数。
    就是loop invariance每次的值都在long以内, 比如 (a * b) % p, (a + b) %p 这样下一个循环a和b的乘机(或者和)就不会超过long的最大值
3. 下面有介绍模运算的, 很靠谱
    https://codeaccepted.wordpress.com/2014/02/15/output-the-answer-modulo-109-7/

评分

1

查看全部评分

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-6 16:09

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表