省选模拟赛 1

省选模拟赛 1

先补一下T1的题解,后面2道题难度大,可能很久才会学会所需要的知识点,先欠着,这次不会咕了,把这篇博客置顶。

吐槽:
省选难度好大啊,没有noip的感觉了,像是回到了3个月前,我做noip题爆零的时候。
考的题目是八省联考day2的题目,难度较我而言比较大,可能这几天不会做其他题,就淦这几道题了。
先说结论,最好的情况下,我只有暴力分:\(70+10+10\)
而且不知道能不能拿到,没写代码,因为太难受了。
T1太良心了,题目感觉也挺好的。
在考场上想了2h的T1,因为最近在做网络流,所以感觉这道题很网络流.......
发现选手与导师之间很难处理顺序问题,感觉匹配过程像是个匈牙利,但是没敢写。
因为第二问感觉不可做,就弃了这道题。而且如果最近不刷网络流的话,考场上只能写暴力,根本想不到正解。
然后看了一下T2,T3的题面,十分不可做,就弃掉了这场比赛。
然后这才过去了\(2.5h\),随后打开了《西游记》。。。。。。
一份代码也没写。
写了不一定有暴力分。我码力太差了,我距离大佬有十万八千里。

题解:

LuoguP4382 [八省联考2018]劈配(匈牙利,二分答案)

我只会匈牙利算法,因为我比较菜,所以可能说的比较详细并且按照考场上的思路进行的叙述,这样可能容易理解一些。
这个题有后效性,因为导师会对后面产生影响。
我们发现有一丝像网络流的特性,那么应该就是网络流了。
(特性:在保证前i-1个最优的时候,还要保证)
想到网络流,把\(S\)连向选手,然后把选手连向导师,导师连向\(T\)
我们很容易发现,这个时候的瓶颈在于保证前面的人最优。
因为网络流有退流这种操作,所以我做不动了。
然而在我们模拟中间选手向导师这一部分流量的流动的时候,我们发现过程就是匈牙利。
把S和T去掉,就是一个二分图了,在上面跑匈牙利。
然而这里的匈牙利与朴素算法不太一样
跑匈牙利时每个点只能匹配一个点,这里让每个导师的点可以匹配多个选手。
然而这只是第一问。
第二问可以二分,具体做法:
暴力把二分图前缀存下来,然后二分图check。

不容易写,可能要写一上午,晚上先去看一下凸优化。

猜你喜欢

转载自www.cnblogs.com/gzygzy/p/10362986.html
今日推荐