网易游戏2019暑期实习开发岗笔试题


       网易笔试和百度撞车,共有4道编程题,我是听其他答网易的同学说的题意,想了想思路。

第一题

题意

       签到题,给出一句话,比如“How are you”,反转输出,如“you are How”。

思路

       呃呃呃。

第二题

题意

       给出n个数字,找出有多少组“三个数的最大公约数为1”。

思路

       找出多少组“两个互质的数字”是用莫比乌斯反演,三个数,抱歉,没想到怎么做。据说暴力能过百分之50数据。

第三题

题意

       有n个人要做过山车,过山车有限重,最多只能承受m公斤,给出他们每个人的体重,现在要给这n个人排好队,依次上过山车,如果挨着的两个人的体重之和小于m,则这两个人必须上同一辆过山车,否则单人上一辆过山车(注:不存在单人体重超过过山车限重),问最坏情况下,要安排多少辆过山车。

思路

       贪心,将人的体重从小到大排序,依次上过山车,对于每个上车的人在所有后面的人中找到第一个与其体重之和大于限重的人,插到这个上车的人身后,如果不存在与其体重之和大于限重的人,则不进行插队操作,按规则上车即可。

第四题

题意

       砸金蛋,金蛋顺序排列,每个金蛋有价值 m i m_i mi,砸第 i i i个金蛋可获得 m i − 1 × m i × m i + 1 m_{i-1} \times m_{i} \times m_{i+1} mi1×mi×mi+1的金钱,然后第 i i i个金蛋相当于消失,继续砸别的,问最大化收益是多少。

思路

       区间dp,用dp[i][j]表示从第i个金猪到第j个金猪的最大收益,则:
d p [ i ] [ j ] = m a x ( d p [ i ] [ k ] + d p [ k ] [ j ] + m i × m k × m j ) dp[i][j]=max (dp[i][k]+dp[k][j]+m_i \times m_k \times m_j) dp[i][j]=max(dp[i][k]+dp[k][j]+mi×mk×mj)

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值