码迷,mamicode.com
首页 > 其他好文 > 详细

省选测试13

时间:2020-01-30 22:32:59      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:思路   测试   长度   mit   品种   代码   定义   一个   个人   

A. 同桌的你

没改完,暂咕。

B. 大水题

题意:X非负半轴,给出N个不重点的坐标\(x_i\)种类\(b_i\),求最长区间满足[L,R]中每种点的数量相同或为0,且种数至少为K。N<=1e5,K<=8
首先观察到K很小。
如果不考虑K的限制,那么一段区间合法等价于每种的前缀和的差相等,也就是说可以用相对大小表示。差分后对右端点可以用hash快速查左端点。
由于需要差分,同时加上差分序列长度也无法压缩完整信息,所以在外层\(2^8\)枚举出现的品种集合。
正解复杂度是\(O(8n)\),然而以上如果理想化hash表的复杂度也可过。
PS:考试时差分写挂了,数据太弱拍不出来。

C. 佛罗里达

题意:把n个人分成两队,给出每两个人被分到同一队时的不安值\(T_{i,j}\),定义队A的不安值D(A)为\(\max\limits_{u\in A,v\in A}T_{u,v}\),最小化两队不安值之和。n<=250
看上去有点像《关押罪犯》,n^2枚举A队的不安值,把<=D(A)的全部加到A中,然后从大到小sort加点判断是否为二分图(有初始,并查集不会做),其实到这步思路就很模糊,感觉第一个结论就是错的。。。于是弃了
正解是2-sat
40pts:钦定D(A)<=D(B),枚举D(B),这时D(A)可以二分。
对于点对分类讨论:
1.T<=D(A),无限制
2.D(A)<T<=D(B),至少一个在B中
3.D(B)<T,分开
这样2-SAT求解,复杂度\(n^4logn\)
100pts:优化枚举D(B)
实际上D(B)的取值是\(O(n)\)级别的。
不过想了很久也没能看懂题解,最后只能看着代码yy(哪位打了正解的大神能给我讲下啊kuku)

省选测试13

标签:思路   测试   长度   mit   品种   代码   定义   一个   个人   

原文地址:https://www.cnblogs.com/hzoi-yzh/p/12244055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!