luoguP4313 文理分科】的更多相关文章

luoguP4313 文理分科 复习完之后做了道典型题目. 这道题条件有点多 我们逐个分析 如果没有\(sameart\)或者\(samescience\)的限制,就是一个裸的最大权闭合子图的问题了 但是再考虑有的话(其实还是一个最大权闭合子图) 很明显我们还是可以按照套路分成两个集合. 然后先按照权值分别划分\(S\),\(T\)集合 然后再向他要求的学生连一条\(\infty\) 放一张奇丑无比的图 感性理解一下就好了 #include<cstdio> #include<cstrin…
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define R(a,b,c) for(register int a = (b); a <= (c); ++ a) #define nR(a,b,c) for(register int a = (b); a >= (c); -- a) #defi…
3894: 文理分科 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 674  Solved: 392[Submit][Status][Discuss] Description  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式…
Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 667  Solved: 389 Description  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j…
Description  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如   果选择理科,将得到science[i][j]的满意值. 2.如果第i行第J列的同学选择了文科,并且他相邻(两个…
BZOJ_3894_文理分科_最小割 Description  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如   果选择理科,将得到science[i][j]的满意值. 2.如果第i行第…
题目描述  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如   果选择理科,将得到science[i][j]的满意值. 2.如果第i行第J列的同学选择了文科,并且他相邻(两个格子相邻当且…
最小割劲啊 原题:  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如   果选择理科,将得到science[i][j]的满意值. 2.如果第i行第J列的同学选择了文科,并且他相邻(两个格子…
分析: 最小割(一开始我没看出来...后来经过提点,大致理解...),不选则割的思想. 我们先这样考虑,将和选理相关的和S相连,与选文相关的和T相连,如果没有第二问,那么建图就是简单的S连cnt,cnt连T,流量分别为对应的喜悦值,那么在这个图的基础上,考虑第二问,因为我们需要将所有不选的边割掉,那么,我们可以考虑新建两个点,一个连接S,流量为喜悦值,一个连接T,流量为喜悦值,那么将这两个节点连向相应的要求节点(比如两个人同时学理/文),流量为inf,这样,我们每次割掉一个S连向cnt的边的时候…
[BZOJ3894]文理分科(最小割) 题面 BZOJ Description 文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过) 小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如 果选择理科,将得到science[i][j]的满意值. 2.如…
[BZOJ3894]文理分科 Description 文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过) 小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如果选择理科,将得到science[i][j]的满意值. 2.如果第i行第J列的同学选择了文科,并且…
文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过) 小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: .如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如 果选择理科,将得到science[i][j]的满意值. .如果第i行第J列的同学选择了文科,并且他相邻(两个格子相邻当且 仅当它们拥有一条相同的…
http://www.lydsy.com/JudgeOnline/problem.php?id=3894 文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过) 小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式得到: 1.如果第i行第J列的同学选择了文科,则他将获得art[i][j]的满意值,如果选择理科,将得到science[i][j]的…
$ \color{#0066ff}{ 题目描述 }$ 文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过) 小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式得到: 如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如果选择理科,将得到science[i][j]的满意值. 如果第i行第J列的同学选择了文科,并且他相邻(…
Description  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如果选择理科,将得到science[i][j]的满意值. 2.如果第i行第J列的同学选择了文科,并且他相邻(两个格子相邻当且仅…
原文地址:http://www.cnblogs.com/GXZlegend 题目描述 文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠结过) 小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如果选择理科,将得到science[i][j]的满意值. 2.如果第…
[bzoj3894]文理分科 2015年3月25日3,4002 Description  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如   果选择理科,将得到science[i][j]的…
文理分科 bzoj-3894 题目大意:题目链接. 注释:略. 想法: 这种题也是一种套路. 我们新建一个点表示收益点. 然后把所有的收益都加一起,求最小割表示代价即可. Code: #include <bits/stdc++.h> #define inf 0x3f3f3f3f #define N 1000100 using namespace std; int to[N<<1],nxt[N<<1],head[N],val[N<<1],tot=1,dis[N…
3894: 文理分科 题目:传送门 感谢波老师没有来D飞我,让我做出了这题... 题解: 这题其实和我做的上一题(bzoj2132)很像,所以就不写题意了. 依然是那最小割... 这题给出了四个利益矩阵,看似比上一题复杂,想了很久,发现其实建图没有我想象的麻烦. 首先复习一下最小割的定义:把原图分为两个不相交的子集(st和ed) 那么这题用最小割来做的话,我们就把st当成文科的子集,ed为理科. 对于任意的一个x点 st到x连一条流量为文科利益的边,x到ed连一条流量为理科利益的边 那么另外两个…
Description  文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过)  小P所在的班级要进行文理分科.他的班级可以用一个n*m的矩阵进行 描述,每个格子代表一个同学的座位.每位同学必须从文科和理科中选择 一科.同学们在选择科目的时候会获得一个满意值.满意值按如下的方式 得到: 1.如果第i行第秒J的同学选择了文科,则他将获得art[i][j]的满意值,如   果选择理科,将得到science[i][j]的满意值. 2.如果第i行第J列的同学选择了文科,并且他相邻(两个…
Sol. 说实话,对于一个初学者,这道题很难看出是一道网络流-最小割.对于一个熟练者,这是比较套路的一种模型. 最小割,可以看做是在一个图中删掉最小的边权和使得源点.汇点不连通.或者换一个角度,可以看做是将图中的所有点以最小的代价分成两个阵营. 现在就有点像这道题了.我们以损失最小代价将这些学生分开为文理两阵营. 答案即为 \(\sum \limits _{i, j} \mathrm{Art}(i, j) + \sum \limits _{i, j} \mathrm{Science}(i, j)…
网络流/最小割 rausen大爷太神辣-作为一个蒟蒻还是搬运题解吧…… 很明显的一道网络流题.. 首先把所有值的加起来,再减掉网络流最小割值就好了,问题就是如何建图.这貌似也是考了好多次了的... 把每个人抽象成一个点p,则 先是S向p连边,流量为选文科的高兴值,p向T连边,流量为选理科的高兴值. 然后是same的条件,对每个人新建两个点p1, p2 S向p1连边,流量为文科same的高兴值,p1向相邻点和自己的p连边,流量为inf p2相T连边,流量为理科same的高兴值,相邻点和自己的p向p…
题目链接:BZOJ - 3894 题目分析 最小割模型,设定一个点与 S 相连表示选文,与 T 相连表示选理. 那么首先要加上所有可能获得的权值,然后减去最小割,即不能获得的权值. 那么对于每个点,从 S 向它连权值为它选文的价值的边,从它向 T 连权值为它选理的价值的边. 对于一个点,它和与它相邻的点构成了一个集合,这个集合如果都选文,可以获得一个价值v1,如果都选理,可以获得一个价值 v2. 只要这个集合中有一个点选文,就无法获得 v2,只要有一个点选理,就无法获得 v1. 那么处理方式就是…
题链: https://vijos.org/d/ljt12138/p/58c696b8d3d8a16c62a248d4 (要权限号啊...用这个交吧) 题解: 题目大意:    N*M的矩阵,每个位置有一个人    每个人有两个选择:A和 B,并给出每个人对应的选择后的收益.(a[i][j],b[i][j])            同时如果一个人和它上下左右相邻的人选择相同,会多收益一个对应的值.(sa[i][j],sb[i][j])    问选择的最大收益值为多少. 题还不错,一个最小割模型.…
链接Click Here 这个题就是个板子的最小割多选一模型啦\(QwQ\),这里介绍一种通用的解法. 抛开组合收益不谈,这个题就是一个简单的最小割模型.我们只需要建出来这样一张图,在上面跑最小割,割掉的就是不用的,留下来的就是最大收益啦~(≧▽≦)/~,是不是很显然呢? 如果要考虑组合收益的话,我们把这个组合收益实体化成一个点来进行处理.还是上面那个图,我们假设\(2\), \(3\)是以和\(1\)四连通的两个点.这样的话我们需要保证一件事情: 在\(art_1, art_2, art_3\…
bzoj3894,懒得复制题面,戳我戳我 Solution: 首先这是一个网络流,应该还比较好想,主要就是考虑建图了. 我们来分析下题面,因为一个人要么选文科要么选理科,相当于两条流里面割掉一条(怎么想到割我也不知道,颓的题解),那么我们就可以从原点连向每个人,流量为文科愉悦值,然后每个人连向汇点,流量为理科愉悦值.因为要构成最小割,就相当与每条路径一定割一条. 然后我们考虑周围人那个情况,拿文科做例子,我们可以从原点连到一个新点,流量为这个额外愉悦值,然后把这个新节点连向这个周围的五个点(或者…
题目链接:https://cn.vjudge.net/contest/281959#problem/D 题目大意:中文题目 具体思路: 首先说一下最小割:在最小代价的前提下,删除一些边之后,能够使得整个图不再联通.对于这个题,为什么要使用最小割?我的理解就是,建边的时候是按照st->文科->理科->ed.然后,每个人都只能选择一门,所以整个图肯定不连通,然后原来整个图的权值是输入的所有的值,为了使整个图不再联通,我们就需要花费最小的代价使得整个图不在联通,所以这个时候就需要用到最小割了.…
题目链接:https://cn.vjudge.net/contest/281959#problem/D 题目大意:中文题目 具体思路:我们需要求出最大的满意值,从另一方面想,我们可以求出总的满意值,然后再求出不符合情况的最小的代价,这两个相减,就能求出最大的满意值,这个时候就可以通过最小割来求了(最小割:使得整个图不连通的最小花费). 这一篇博客讲的很好:https://blog.csdn.net/yakeding/article/details/79357545 AC代码: #include<…
思路 遇到这种利益冲突的最终利益最大化问题 考虑转化为最小割,使得损失的价值最小 相当于文科是S,理科是T,选出最小割就是确定损失代价最小的方案 然后就把S向每个点连一条cap=art[i][j]的边,每个点向T连一条cap=science[i][j]的边,再新建n*m个点表示同选文科的利益,然后S向每个新建点连一条cap=same_art[i][j]的边,然后再从新建点向每个点和它的相邻点向连一条cap=INF的边,然后同选立刻的收益同理新建点再向T连边,相邻点同理的向新建点连边 再跑出最小割…
(1) 对每个位置建一个点F1,S向这个点连art[i][j]的边,这个点向T连science[i][j]的边. (2) 对每个位置再建一个点F2,S向这个点连same_art[i][j]的边,这个点向F1的相邻的五个点连inf的边. (3) 对每个位置再建一个点F3,这个点向T连same_science[i][j]的边,F1的相邻的五个点向这个点连inf的边. 先让ans等于所有art,science,same_art,same_science的和,减去最大流就是答案. 可以这么理解: 首先a…