zoukankan      html  css  js  c++  java
  • 省选测试13

    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)为(maxlimits_{uin A,vin 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)

  • 相关阅读:
    搭建kafka集群
    fluentd 安装、配置、使用介绍
    彻底解决 es 的 unassigned shards 症状
    nginx 反向代理时丢失端口的解决方案
    kubernetes的imagePullSecrets如何生成及使用
    创建MySQL数据库账号
    Linux中查找文件
    Linux快速访问多个目录
    Django查询数据库返回字典dict数据
    linux 将压缩包复制到另外一个文件夹下面
  • 原文地址:https://www.cnblogs.com/hzoi-yzh/p/12244055.html
Copyright © 2011-2022 走看看