Nowcoder Girl 初赛第五题

来源

Nowcoder Girl 初赛第五题

题面

\(n(1<=n<=10000)\)件武器,每件武器对于属性有加成,一共五种属性。若使用其中的\(x\)件武器,每个属性获得的加成是\(x\)件武器最大的加成值。要求取出\(k(1<=k<=n)\)件武器,使得所有属性获得的加成值之和最大。输出加成值之和的最大值。

样例

INPUT

4 2
30 30 30 30 0
50 0 0 0 0
0 50 0 50 10
0 0 50 0 20
OUTPUT

170
INPUT

4 3
30 30 30 30 0
50 0 0 0 0
0 50 0 50 10
0 0 50 0 20
OUTPUT

220

题解

  • 如果对于每个属性,都取加成值最大的那件武器,那么最后会取\(t\)件武器,易知\(1<=t<=5\)。
  • 如果\(k>=t\),最后的答案就是取这\(t\)件武器,其他\(k-t\)件随便取。
  • 如果\(k<t\):
    • 可以用\(5\)位的\(bitmask\)表示取了哪几个属性,\(bitmask\)一共有\(2^5=32\)个取值。
    • 对于每个取值,计算取哪件武器会使得选中的这几个属性的加成之和最大。
    • 最后取了\(t\)件武器,易知\(1<=t<=32\)。
    • 那么最后的\(k\)个答案应该在这\(32\)件武器中取。
    • 证明:
      • 很容易知道,最后取出的\(k\)件武器只有\(t\)件是有贡献的,\(1<=t<=5\)。
      • 假设有一件武器贡献了\(1、3、4\)这三个属性,那么它肯定是所有武器中\(1、3、4\)这三个属性之和最大的武器。如果不是的话,我们可以取是的那件武器,这样最后的答案会更大。
      • 然后每一类属性之和最大的武器我们都预处理出来了,\(k\)又小于\(5\),随便\(k\)个循环就可以搞定了。

Nowcoder Girl 初赛 T5的更多相关文章

  1. hdu6188&&百度之星初赛(B) T5

    度度熊的交易计划 Problem Description 度度熊参与了喵哈哈村的商业大会,但是这次商业大会遇到了一个难题: 喵哈哈村以及周围的村庄可以看做是一共由n个片区,m条公路组成的地区. 由于生 ...

  2. 百度之星初赛(A)——T5

    今夕何夕 Problem Description 今天是2017年8月6日,农历闰六月十五. 小度独自凭栏,望着一轮圆月,发出了“今夕何夕,见此良人”的寂寞感慨. 为了排遣郁结,它决定思考一个数学问题 ...

  3. HDU 6787 Chess 2020百度之星 初赛三 T5 题解 dp

    传送门:HDU 6787 Chess Problem Description 你现在有一个棋盘,上面有 n 个格子,格子从左往右,1,-,n 进行标号.你可以在棋盘上放置恰好 m 个传送器,并且对于每 ...

  4. CCF NOI plus 201(7)6 初赛题 解题报告

    GTMDCCF. 今年这题怎么评价? 去看我在知乎的回答:https://www.zhihu.com/question/66621360/answer/244222388 挨个说一遍. 单项选择题 T ...

  5. NOIP2016提高组初赛(C++语言)试题 个人的胡乱分析

    最近在做历年的初赛题,那我捡几道比较有代表性的题说一下好了 原题可以在这里看:https://wenku.baidu.com/view/10c0eb7ce53a580217fcfede.html?fr ...

  6. 哈尔滨理工大学第七届程序设计竞赛初赛(BFS多队列顺序)

    哈尔滨理工大学第七届程序设计竞赛初赛https://www.nowcoder.com/acm/contest/28#question D题wa了半天....(真真正正的半天) 其实D题本来就是一个简单 ...

  7. nowcoder(牛客网)OI测试赛3 解题报告

    昨天因为胡搞了一会儿社团的事情,所以错过(逃过)了nowcoder的测试赛..... 以上,听说还是普及组难度qwq,而且还有很多大佬AK(然而我这么蒻肯定还是觉得有点难度的吧qwq) 不过我还是日常 ...

  8. NOIP2018初赛总结(提高组)(试题+答案+简要解析)

    NOIP2018初赛总结(提高组) 更新完毕(纯手敲),如果有错误请在下面留言 单选题 T1.下列四个不同进制的数中,与其它三项数值上不相等的是 A.\((269)_{16}\) B.\((617)_ ...

  9. NOIP 2011 提高组初赛错题简析

    Preface 好久没做初赛题了,据说今年的审核会更加严苛,作为一名去年未PY时只有\(92\)分的蒟蒻,我今年看来是\(90\)分都莫得了 然而今年也没怎么看重初赛,结果现在才来做,翻车到了\(84 ...

随机推荐

  1. MYSQL5.7 sql_mode=only_full_group_by

    错误提示: .... which is not functionally dependent on columns in GROUP BY clause; this is incompatible w ...

  2. (二)JNI方法总结

    整个网上就没看到一个关于JNI好点的文档,干脆自己写一份,以方便以后使用的时候查阅 1. 类操作 DefineClass jclass DefineClass(JNIEnv *env, jobject ...

  3. 深度为君剖析CTO、技术总监、首席架构师的区别

      CTO.技术总监.首席架构师的区别 经常有创业公司老板来拜访我,常常会拜托给我一句话:帮我找一个CTO. 我解释的多了,所以想把这个写下来,看看你到底需要的应该是啥. 一.高级程序员 如果你是一个 ...

  4. [转]HTTP Error 502.5 - Process Failure asp.net core error in IIS

    本文转自:http://www.cnblogs.com/autohome7390/p/6840652.html 在windows server 2012 上安装完dotnet-win-x64.1.1. ...

  5. 用INFORMATION_SCHEMA逻辑MySQL的索引

    分库分表的场景下,变更目前还不知道有哪个表变更索引失败,是不是所有的表都变更成功了,所以可以从INFORMATION_SCHEMA通过罗列索引个数,或者查看索引行,就可以知道是不是所有的都变更成功了: ...

  6. 对datatable添加数据

    DataTable dt = new DataTable(); dt.Columns.Clear(); dt.Columns.Add("事故发生时间"); dt.Columns.A ...

  7. array(1) { [0]=> int(5) }和array(1) { [0]=> string(1) "5" }

    php array数组: $arrayValue = array(5); $arrayValue = array('5'); 的不同之处 一个是整型一个是字符串型 array(1) { [0]=> ...

  8. 16、IO (Properties、序列化流、打印流、CommonsIO)

    Properties集合的特点 * A: Properties集合的特点 * a: Properties类介绍 * Properties 类表示了一个持久的属性集.Properties 可保存在流中或 ...

  9. g2o error2

    ./pose_estimation_3d2d: error while loading shared libraries: libg2o_core.so: cannot open shared obj ...

  10. Lua脚本语言基础知识

      注释 在Lua中,你可以使用单行注释和多行注释. 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止.相当于C++语言中的"//". 多行注 ...