[BZOJ5251][多省联测2018]劈配】的更多相关文章

bzoj luogu sol 从前往后依次加边,每次对一个人做完劈配后就把当前这个残余网络存下来.这样第二问就可以二分排在第几名然后check一下在对应排名的残余网络上还能不能再增广. 给网络流开结构体直接赋值美滋滋. 然后这样就可以根据评测机的实际情况获得\(60-80\)不等的好成绩. 一个显而易见的优化就是:对于一个人,如果他已经确认了选择某个志愿,那么不仅更靠后的志愿是没用的,更靠前的志愿也是没用的. 所以对于一个人我们只需要保留他选的那个志愿对应的那至多\(C\)条边,这样边数和时间复…
5251: [2018多省省队联测]劈配 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 33  Solved: 22[Submit][Status][Discuss] Description 一年一度的综艺节目<中国新代码>又开始了. Zayid从小就梦想成为一名程序员,他觉得这是一个展示自己的舞台,于是他毫不犹豫地报名了. 题目描述 轻车熟路的Zayid顺利地通过了海选,接下来的环节是导师盲选,这一阶段的规则是这样的: 总共n名参赛选手(编号…
劈配,匹配,网络流.那么考虑怎么跑网络流. 先看第一问.首先套路的建出超源超汇.不用想也知道导师向汇连容量为战队人数上限的边.特别地,给出局也建一个点,向汇连容量inf的边(似乎没有必要).对于一个新学员,假设我们已经知道了之前的学员的最优选择,可以把之前的每名学员和可以选择的导师连边,并由源向学员连容量为1的边.然后对于该名新学员,先只连最优选择的边,如果此时跑出的最大流不等于学员数,则表明这名学员无法选择最优,那么删掉最优边(此时这些边里一定没有流量,可以通过容量改为0实现)并连上次优边,次…
https://www.lydsy.com/JudgeOnline/problem.php?id=5251 https://loj.ac/problem/2477  <-可以看数据 https://www.luogu.org/problemnew/show/P4382 题面太长,请自行读完之后再看本题. 考试的时候让我伤心的一道题,分明想的就是正解结果sb般第二问没二分丢了15分. 如果b=1就是一个显然的匈牙利匹配了. 考虑b!=1也只不过就是让一个导师可以多匹配几个人而已,额外记录这个导师是…
Description 一年一度的综艺节目<中国新代码>又开始了.Zayid 从小就梦想成为一名程序员,他觉得这是一个展示自己的舞台,于是他毫不犹豫地报名了. Input 轻车熟路的Zayid 顺利地通过了海选,接下来的环节是导师盲选,这一阶段的规则是这样的: 总共n 名参赛选手(编号从1 至n)每人写出一份代码并介绍自己的梦想.接着 由所有导师对这些选手进行排名.为了避免后续的麻烦,规定不存在排名并列的情况. 同时,每名选手都将独立地填写一份志愿表,来对总共 m 位导师(编号从 1 至 m)…
BZOJ 洛谷 对于每个人,每次枚举一个志愿看是否能增广即可. 对于第二问,可以保留第一问中\(n\)次增广前后的\(n\)张图,二分,在对应图上看是否能增广即可. 貌似匈牙利的某种写法比网络流优多了...懒得看... 写的常数莫名大... 增广失败的话原图流量不会变啊,不用特意删掉新加的边,把表头head改了即可,而且判断是否能增广只需要判断BFS()是否返回1. Dinic: //195228kb 6676ms #include <cstdio> #include <cctype&g…
洛谷题目传送门 说不定比官方sol里的某理论最优算法还优秀一点? 所以\(n,m\)说不定可以出到\(1000\)? 无所谓啦,反正是个得分题.Orz良心出题人,暴力有70分2333 思路分析 正解的思路很巧妙,其实我并不觉得这是个正儿八经的网络流或者二分图匹配的题目,主要还是个思维+建图模型+乱搞...... \(C=1\)时我们就可以对于每个人直接匹配而不会影响到后面的选择了.但是\(C>1\)的话,可能某一个人可以选多个导师,当他随便选了其中一个以后,可能影响到后面某个人使其选不到本来的最…
题目链接 题意分析 受到了\(olinr\ \ julao\)的影响 写了匈牙利算法 首先 我们对于每一个人 从高到低枚举志愿 如果当前志愿的老师有剩余的话 那么我们就选 否则的话 我们看看谁的那个志愿选了这个老师 我们跑匈牙利算法 看看是否更优 如果当前可以在接受范围内匹配上的话 我们就选择 否则的话 我们就看看 匈牙利增广中遇到的编号最大的人是谁 如果我们增广过程中碰到了争夺的人 那么一定是排名靠前的人 我是这么思考的 我们是在增广的过程中找到了ta 那么取代ta之后 其他争夺的人一定会把我…
luogu 我记得我第一次做这道题的时候屁都不会qwq 先考虑第一问,暴力是依次枚举每个人,然后从高到低枚举志愿,枚举导师,能选就选.但是可以发现前面的人选的导师可能会导致后面的人本来可以选到这个志愿,但是不能选.这个问题是不是有点眼熟?你可以理解成二分图匹配问题,就是对于每个人,枚举志愿,然后把这个志愿对应的一些导师连边,如果跑匹配能跑出来那么他就是这个志愿,否则撤销刚才的操作 第二问类似,暴力枚举某个人到了前面的哪一名,然后把前面其他人在第一问中的方案的图先建好,然后把对应志愿\(\le s…
[BZOJ5251][八省联考2018]劈配(网络流,二分答案) 题面 洛谷 BZOJ Description 一年一度的综艺节目<中国新代码>又开始了. Zayid从小就梦想成为一名程序员,他觉得这是一个展示自己的舞台,于是他毫不犹豫地报名了. 题目描述 轻车熟路的Zayid顺利地通过了海选,接下来的环节是导师盲选,这一阶段的规则是这样的: 总共n名参赛选手(编号从1至n)每人写出一份代码并介绍自己的梦想.接着由所有导师对这些选手进行排名. 为了避免后续的麻烦,规定不存在排名并列的情况. 同…
直接网络流模拟即可AC. 可持久化+暴力=90分, 可持久化+二分=30分, 暴力加边+二分=100分. 我也很无奈啊. Ivan便涨红了脸,额上的青筋条条绽出,争辩道,“memcpy也是可持久化……memcpy!……OIer的事,当然是可持久化!”接连便是难懂的话,什么“可持久化无旋Treap套线段树启发式合并”,什么“暴力踩正解”之类,引得众人都哄笑起来. #include <cstdio> #include <cstring> #include <iostream>…
https://www.lydsy.com/JudgeOnline/problem.php?id=5251 第一问: 左边一列点代表学生,右边一列点代表导师 导师向汇点连流量为 人数限制的 边 然后从第一个学生的第一志愿往里面加边 如果当前学生的当前志愿可以满足,即目前网络流可以满流,保留这一志愿的边,然后下一个学生 否则,删除这一志愿的边,然后下一个志愿 第二问: 二分这个学生要前进多少名 假设是学生i要前进x名 把前i-x-1名的学生 在第一问中满足的志愿 的边加进去 在把学生i的边加进去…
Description 一年一度的综艺节目<中国新代码>又开始了. Zayid从小就梦想成为一名程序员,他觉得这是一个展示自己的舞台,于是他毫不犹豫地报名了. 题目描述 轻车熟路的Zayid顺利地通过了海选,接下来的环节是导师盲选,这一阶段的规则是这样的: 总共n名参赛选手(编号从1至n)每人写出一份代码并介绍自己的梦想.接着由所有导师对这些选手进行排名. 为了避免后续的麻烦,规定不存在排名并列的情况. 同时,每名选手都将独立地填写一份志愿表,来对总共m位导师(编号从1至m)作出评价. 志愿表…
题目链接 分析: 这道题看题都看了我好久... 我们可以容易想到这道题和网络流有关. 首先,从原点向每个学员连一条流量为1的边 然后,要限制每个导师的学员,在每个导师连到汇点的时候流量限制为bi 再接着,按照学员的顺序一个个动态加边,一次性加入同样优先级的边,如果有增广路就记录答案. (第一问完美解决) 然后第二问怎么做呢? 对于一个学员,如果已经确定了排位,那我们很容易的就能验证是不是满足他的要求. 那么我们就能在[1,i-1]的区间里二分答案去检验,在[1,now-1]的残余网络里面跑即可(…
不知道这个Zayid是谁... 题意: 有n个人,m个导师.每个导师能接纳bi个人,每个人对于这m个导师都有一个志愿档次. 优先满足靠前的人,问到最后每个人匹配的导师是他的第几志愿. 每个人又有一个限制si,问至少前进多少名才能被志愿档次不大于si的导师录取. 解: 首先发现,每个志愿档次只能填一个人的时候,可以直接贪心.否则在同一志愿档次内选择不同的导师会对后面有影响. 这时我们就可以利用网络流. 一个流量代表一个的归属,动态加边. 对于每个人枚举志愿档次,添加流向导师的边.然后看是否有流量.…
bzoj luogu sol 首先可以把依赖关系转成一个森林.自下而上维护出每个点的\(size\),表示这关解锁以后一共有多少关. 考虑没有重复数字的情况. 直接从小往大贪心把每个数赋给当前已解锁的最后一关就可以了. 有重复? 一样的.重复的数字一起考虑,假设有\(k\)个重复的数,那就把这个数先赋给第\(k\)大的位置,然后是\(k-1\)大...直到\(k\)个数全部填满. code #include<cstdio> #include<algorithm> #include&…
bzoj luogu sol 首先,要保证一个格子的左边和上方都放满了棋子,就需要这个点的左上方那个矩形都放满了棋子. 这样放棋子状态就会是一个自左下至右上的轮廓线. 状态数?\(C_{20}^{10}\).相当于是从左下角走到右上角一共要走\(20\)步,在其中选出\(10\)向上走其余的向右走. 也可以打个表看一看... #include<cstdio> #include<algorithm> using namespace std; int n,m,a[20],tot; vo…
主要思路为连反向边. 对于本题,贪心策略,依次决定每个人的最优解 但因为每人达到的最优解可能有多种方式,如果每个都尝试就会超时,所以只能先采取其中一种 并将这个方案连反向边,其它方案连正向边 这样对于之后的人决策,可以看哪些导师能够走到汇点 就是反向建图后,从汇点BFS判断能到达哪些导师,再判断哪个更优. 例如:对于这个例子 建图为 先考虑选手1. 1,2号导师都能到达汇点,并且选择1,2号导师对于目前来说都是最优解(现在无法确定哪个对于之后更优),所以先选择1. 图变为 (红色为反向边) 考虑…
考虑依次选择每一位考生,设当前选到第$i+1$位,前i个分别为$p1,p2,--pi$(注意:这里只确定了导师的志愿编号),然后枚举第$p_{i+1}$,通过网络流建图+判定,复杂度为$o(nm*f(n+m,cn))$($f(n,m)$表示点数为n.边数为m的网络流),无法通过 考虑优化,由于网络流可以先任意流,那么直接在之前的残余网络上加上第k份志愿并判断能否联通即可,复杂度$o(cn^{2}m)$ 第二个问题类似,存储下每一次跑完后的残余网络,然后从下往上枚举其排名(志愿为si及其以上的)并…
(总计:共90题) 3.10~3.16:17题 3.17~3.23:6题 3.24~3.30:17题 3.31~4.6:21题 4.7~4.12:29题 ZJOI&&FJOI(6题) TJOI2016(6题) 六省联考2017(6题) SDOI2016(3题) HNOI2013(6题) CQOI2017(3题) 九省联考2018(3题) 3.10 [BZOJ4552][TJOI2016&&HEOI2016]排序(二分答案+线段树) [BZOJ4012][HNOI2015]开…
P2764 最小路径覆盖问题 问题描述: 给定有向图\(G=(V,E)\).设\(P\) 是\(G\) 的一个简单路(顶点不相交)的集合.如果\(V\) 中每个顶点恰好在\(P\) 的一条路上,则称\(P\)是\(G\) 的一个路径覆盖.\(P\) 中路径可以从\(V\) 的任何一个顶点开始,长度也是任意的,特别地,可以为\(0\).\(G\) 的最小路径覆盖是\(G\)的所含路径条数最少的路径覆盖.设计一个有效算法求一个有向无环图\(G\) 的最小路径覆盖. 提示:设\(V={1,2,....…
P2764 最小路径覆盖问题 问题描述: 给定有向图\(G=(V,E)\).设\(P\) 是\(G\) 的一个简单路(顶点不相交)的集合.如果\(V\) 中每个顶点恰好在\(P\) 的一条路上,则称\(P\)是\(G\) 的一个路径覆盖.\(P\) 中路径可以从\(V\) 的任何一个顶点开始,长度也是任意的,特别地,可以为\(0\).\(G\) 的最小路径覆盖是\(G\)的所含路径条数最少的路径覆盖.设计一个有效算法求一个有向无环图\(G\) 的最小路径覆盖. 提示:设\(V={1,2,....…
CF 566A Matching Names 题目描述 给出n个名字和n个昵称,求一个名字和昵称的劈配方案,使得被劈配的名字和昵称的最长公共前缀长度的和最大. 1<=n<=100000 字符总数最多800000 输入格式 第一行n 后面n行名字 最后n行昵称 输出格式 第一行最大最长公共前缀长度和 后面n行每行两个整数分别为名字和昵称的编号代表劈配方案,有SPJ 这题好神仙. 本来一看匹配,费用流费用流,一看数据,萎了 考虑是匹配字符串,遂用一些字符串的算法. 要求总匹配长度最大,由贪心我们先…
少了回程铁路相关信息,有空补 AFO 辣鸡蒟蒻ghj1222顺利地退役了 由于没带手机拍照片,本次坐动车不写运转记录,下次去CTS/APIO应该是坐普速车,应该能带手机拍照,应该会写运转记录 Day -4 (2019.4.1) 考了leigehhh的题,及其毒瘤 T1看着像一个数据结构,其实是一个莫比乌斯反演+乱搞??? T2毒瘤动态点分治+线段树子树dfs序,不过好像可以用LCT撵过,好像还比动态点分治快? T3毒瘤DP单调优化没改过... 一天废到T2上了...心态差点崩了 Day -3 (…
反正这次的目标也不是进省队,目标就是做到最好吧-- 下面都是流水账~ Day -INF ~ Day -3 专题交流没什么好说的,模拟赛详见3.11-3.27省选前多校联考乱记和3.28-4.2CJ大毒瘤们的省选前校内互Ce有感,密码各位懂得 Day -2 匆匆地把PAM收尾,然后做了几个网络流板子题,结果劈配因为把没有匹配上导师的人的贡献算进去了调了2h-- 晚上被Tgotp拉去写制胡窜,结果想了两节晚自习不会算答案,省选之前智商掉线khx Day -1 昨晚晚自习之后Tgotp把制胡窜怎么算答…
JSOI2019R1过去了. Day0 打板子.看白书. 晚上太热了,楼下还在打铁,睡不着. 折腾到好晚才勉强睡着. Day1 早上好困啊. 开T1.看起来T1的60分很可做的样子?5min打完了(为后文的爆炸埋下伏笔) 开T2.emmm这什么玩意啊??制胡窜???怎么像个图论??? 大力码T2...一遍过样例很舒服.. 开T3.咦这怎么会有个题答啊... 看看第一个点..woc这不就是个快速幂???写上了..woc高精度???码码码... 好吧写完了...看看wa又是个什么玩意... 什么东西…
转载请注明出处:http://www.cnblogs.com/LadyLex/p/8792894.html 今年的省选题目真是赞啊……Day2的题完全不会做…… 不过终于卡着校线爬着进了B队 终于改完了题……在这里总结一下这次的题目吧 DAY1 Pro.1 一双木棋 这道题的确是T1难度的题目…… 我们考虑这其实是个对抗搜索 已经放好棋子的位置只能是左上角,并且从上到下是不降的 如果我维护了现在已经放了棋子的位置,我就可以知道下一步该谁放,以及哪里可以放了 具体做法……我用11进制压位来着,出题…
P2341 [HAOI2006]受欢迎的牛 塔尔羊标准模板(我才不会告诉你我嘴里含着一个九省联考的出题人) 不会劈配.林克卡特树.制胡窜 我还会叉粪宿主,梳妆素组,西安段素 #include<cstdio> #include<iostream> #include<algorithm> #include<vector> using namespace std; vector<int>line[50000]; int dfn[10100],low[1…
真·会了网络流,忘了匈牙利 一共两种颜色,很容易想到二分图劈配 虽然这题数据水 但是,数据强的话肯定会卡掉的. 为什么? 我暴力质因数都过了 我们可以在两边的数与质因数相连.然后跑网络流. #include<algorithm> #include<iostream> #include<cstring> #include<queue> using namespace std; struct node { int point; int value; int nx…
--某不知名蒟蒻的SDOI2018 R1退役场游记&&OI生涯总结 真的是混不下去了. 进队是不可能的, 进队是不可能进队的. 这辈子不可能进队的. 刷题又不会刷 就是靠打表找规律这种东西 才能维持的了苟过一轮这样子.. 去学文化课大概会像回家一样, 班里各各都是学霸, 说话又好听, 我会喜欢那里的. 然而内心十分痛苦与煎熬.jpg 本来看到自己这波惨状是不想写游记了的, 但逃是不能逃的, 总还是要直面这段经历的. 不过这次也确实暴露出了自己技不如人的一面, 平时缺少的努力也无处遁形. 无…