• 最大权闭合子图学习


    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。

     

  • 相关阅读:
    dp_Pku1887
    他们实际上控制的定义很easy5/12
    一:redis 的string类型
    我已经写了DAL层的代码生成器
    《Java并发编程实战》第十二章 测试并发程序 读书笔记
    [Pug] Template Engine -- Jade/ Pug
    [Angular] Alternative Themes
    [Angular] Separating Structural Styles From Theme Styles
    [React] Setup 'beforeunload' listener
    [Node] Convert CommonJS Requires to ES6 Imports
  • 原文地址:https://www.cnblogs.com/mfys/p/7273334.html
Copyright © 2020-2023  润新知