T1 小 M 的作物 先从简化题目入手,考虑先去掉 \(c\) 的额外收益.然后尝试将所有作物种在 \(B\), 则目前得到了 \(\sum \limits_{i = 1} ^n b_i\) 的收益. 接下来我们将每一个作物 \(i\) 分成两个物品,收益分别为 \(a_i,-b_i\),且规定如果想要选收益为 \(a_i\) 的物品,则一定也要选收益为 \(-b_i\) 的物品. 于是现在成为了最大权闭合子图的裸题. 再加上 \(c\) 的额外收益.我们可以分别将每一个额外收益 \(j\),分…
Description 太长了自己看叭 点这里! Solution 先学一波什么叫最大权闭合子图. 先要明白什么是闭合子图,闭合子图就是给定一个有向图,从中选择一些点组成一个点集V.对于V中任意一个点,其后续节点都仍然在V中.如果给点再加上点权那就会有很多问题可以转化成求最大权闭合子图了. 那怎么求这个最大权闭合子图呢? 可以用网络流的思想来求出来这个东西. 先说建图,如果一个点的权值是正的,那就让源点和这个点相连,流量是这个点的权值.如果一个点的权值是负的,那就让这个点和汇点相连,流量是这个点…
链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1497 思路 最大权闭合子图的裸题 一开始知道是这个最大权闭合子图(虽然我不知道名字),但是我不理解 所以还是去复习了一遍. Orz 错误 写读入优化的时候迷迷糊糊的多打了等号 代码 #include <iostream> #include <cstdio> #include <cstring> #include <queue> const int N=…
今天学了最大权闭合子图..然后找了这道题,发现完全不会..... 看了题解发现这种有诸如选了一个就一定要选另外的一些的限制又要求最优值的题有的可以转化成最大权闭合子图, 这个题我们首先想到不会选相交的区间, 因为那样代价多算了一遍又不会增加价值.然后就是选一些区间,就有了一个经典的限制: 如果选了区间[i,j]就一定要选[i+1,j]和[i,j-1]; 关于代价的处理我们可以对每一个[i,i]连到一个权值为-m*a[i]*a[i]的点,然后把每个[i,i]减去a[i],这里关键是把题意理解好就行…
链接 BZOJ 4873 题解 当年的省选题--还记得蒟蒻的我Day1 20分滚粗-- 这道题是个最大权闭合子图的套路题.严重怀疑出题人就是先画好了图然后照着图编了个3000字的题面.和我喜欢的妹子当年给别人写的情书一样长-- 最大权闭合子图 最大权闭合子图问题:一个有向图中,每个点带有一个权值(有正有负),有向边\(u \to v\)表示选\(u\)必须选\(v\),选出一些点使权值和最大,问权值和最大是多少. 最大权闭合子图的解法:网络流建图,对于每个点\(u\),设权值为\(w_u\),如…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5855 Less Time, More profit Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/65536 K (Java/Others) 问题描述 The city planners plan to build N plants in the city which has M shops. Each shop needs p…
「雅礼集训 2017 Day8」价 内存限制: 512 MiB时间限制: 1000 ms 输入文件: z.in输出文件: z.out   [分析] 蛤?一开始看错题了,但是也没有改,因为不会做. 一开始以为是并集全等,其实只是集合内元素个数相等. 如果是一开始的题意的话,就是选了什么药材就要选什么药,明显的一个最大权闭合子图[于是我真的就这样打了,加上暴力还搞了很多分 数量一样的话,男神有一个方法就是放大点权,普通选法的话左边比右边少,所以药的点权+INF,药材的点权-INF,然后做最大权闭合子…
又是经典模型的好题目 题目描述 人类智慧之神 zhangzj 最近有点胖,所以要减肥,他买了 NN 种减肥药,发现每种减肥药使用了若干种药材,总共正好有 NN 种不同的药材. 经过他的人脑实验,他发现如果他吃下去了 KK(0≤K≤N0≤K≤N)种减肥药,而这 KK 种减肥药使用的药材并集大小也为 KK,这 KK 种才会有效果,否则无效.第 ii 种减肥药在产生效果的时候会使 zhangzj 的体重增加 PiPi​ 斤,显然 PiPi​ 可以小于 00. 他想知道,一次吃药最好情况下体重变化量是多…
问题描述 BZOJ1391 LG4177 题解 最大权闭合子图,本质是最小割 在任务和机器中间的边之前权值设为INF,代表不可违背这条规则 本题的租借就相当于允许付出一定代价,违背某个规则,只需要把中间的边权改为代价即可. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; const int maxn=10500; const int maxm=5000007; const int INF=0x3f3f3f3f; in…
描述 周末,小Hi和小Ho所在的班级决定举行一些班级建设活动. 根据周内的调查结果,小Hi和小Ho一共列出了N项不同的活动(编号1..N),第i项活动能够产生a[i]的活跃值. 班级一共有M名学生(编号1..M),邀请编号为i的同学来参加班级建设活动需要消耗b[i]的活跃值. 每项活动都需要某些学生在场才能够进行,若其中有任意一个学生没有被邀请,这项活动就没有办法进行. 班级建设的活跃值是活动产生的总活跃值减去邀请学生所花费的活跃值. 小Hi和小Ho需要选择进行哪些活动,来保证班级建设的活跃值尽…