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. 查询MySQL数据表的字段名和表结构

    查询表的字段: -- 查询表的字段名 SELECT COLUMN_NAME -- GROUP_CONCAT('a.', COLUMN_NAME SEPARATOR ',') AS COLUMN_NAM ...

  2. jmeter(4)——简单测试流程

    今天通过一个简单的例子梳理一下用jmeter进行测试的流程 1.确定被测网站:gogomall.com 2.制定测试指标:响应时间和错误率 3.设计测试场景 4.具体测试步骤 1>创建一个测试计 ...

  3. Charles 抓取 iphone https的设置方式

    1. Charles:  help > SSL Proxying > Install Charles Root Certificate, 2. 将会打开 钥匙串访问 的功能,查找 Char ...

  4. JAVA练手--异常

    1. 基本的 public static void main(String[] args) { //1. try catch基本用法 { try{ int[] intA = new int[2]; i ...

  5. C C++ OC指针常量和常量指针区别

    看Effective Objective-C 2.0  编写高质量iOS与OS X代码的52个有效方法这本书的时候看到有一个说多用类型常量,少用#define预处理指令 ,在这里面有说到指针常量,之前 ...

  6. json和xml以及ajax的数据格式用法

    JSON的两个方法: 1.将字符串转换为JSON格式:parse(). 2.将原生JavaScript值转换为JSON字符串:stringify(); <!DOCTYPE html> &l ...

  7. layer关闭弹出层返回值到父页面

    1.首先在父页面定义一个空间,Id=layerResult 然后 layer.open({ type: , title: '选择看课件', shadeClose: true, shade: 0.8, ...

  8. [转]Support Composite Key in ASP.NET Web API OData

    本文转自:https://code.msdn.microsoft.com/Support-Composite-Key-in-d1d53161 he default EntitySetControlle ...

  9. 对.net事件的看法

    对.net事件的看法 一.事件的本质 事件是软件系统里的两个子系统之间,或者两个模块之间,或者两个对象之间发送消息,并处理消息的过程.在面向对象的世界里,就可以统一认为是两个对象之间的行为. 两个对象 ...

  10. 二、socket编写简单BIO的HTTP服务器

    一.目标 诸如tomcat等web服务器中间件简化了我们web的开发成本,但有时候我们或许并不需要这么一个完备的服务器,只是希望做一个简单地处理或者做特殊用途的服务器. 本文将提供一个HTTP的服务器 ...