zoukankan      html  css  js  c++  java
  • hiho 第119周 最大权闭合子图

    描述

    周末,小Hi和小Ho所在的班级决定举行一些班级建设活动。

    根据周内的调查结果,小Hi和小Ho一共列出了N项不同的活动(编号1..N),第i项活动能够产生a[i]的活跃值。

    班级一共有M名学生(编号1..M),邀请编号为i的同学来参加班级建设活动需要消耗b[i]的活跃值。

    每项活动都需要某些学生在场才能够进行,若其中有任意一个学生没有被邀请,这项活动就没有办法进行。

    班级建设的活跃值是活动产生的总活跃值减去邀请学生所花费的活跃值。

    小Hi和小Ho需要选择进行哪些活动,来保证班级建设的活跃值尽可能大。

     
     

    比如有3项活动,4名学生:

    第1项活动产生5的活跃值,需要编号为1、2的学生才能进行;

    第2项活动产生10的活跃值,需要编号为3、4的学生才能进行;

    第3项活动产生8的活跃值,需要编号为2、3、4的学生才能进行。

    编号为1到4的学生需要消耗的活跃值分别为6、3、5、4。

    假设举办活动集合为{1},需要邀请的学生集合为{1,2},则得到的班级活跃值为5-9 = -4。

    假设举办活动集合为{2},需要邀请的学生集合为{3,4},则得到的班级活跃值为10-9 = 1。

    假设举办活动集合为{2,3},需要邀请的学生集合为{2,3,4},则得到的班级活跃值为18-12 = 6。

    假设举办活动集合为{1,2,3},需要邀请的学生集合为{1,2,3,4},则得到的班级活跃值为23-18 = 5。

    小Hi和小Ho总是希望班级活跃值越大越好,因此在这个例子中,他们会选择举行活动2和活动3。

     

  • 相关阅读:
    WriteFile函数
    良好的动态内存申请与释放
    只需一条命令,快速在Windows 10上关闭Linux
    盘点程序员过年最怕被问的问题:薪资问题首当其冲,对象问题紧追其后
    程序员为什么是吃青春饭,而不是像医生律师一样越老越值钱?
    Linux网络配置的三种方法,手把手教你,一看就会!
    应届程序员VS往届程序员:当面对HR和领导时,此时的内心活动是这样的...
    MySql数据在磁盘上到底是怎么存储的?被存储的数据怎么查找?
    如何写出高质量的代码?优秀的程序员都是这样做的
    哼!MySQL 8.0不讲武德,给我挖坑!
  • 原文地址:https://www.cnblogs.com/TreeDream/p/5942354.html
Copyright © 2011-2022 走看看