zoukankan      html  css  js  c++  java
  • 图论专项测试

    T1:
    先跑个Floyd,然后求一下建在点上的答案
    容易发现已经把答案限制的比较紧了
    然后统计边的答案,加一个最优性剪枝
    然后考虑二分解决就行了
    如果不加剪枝,复杂度为(O(n^3+n^3logC))
    如果加上的话,因为第一次就把答案限制的很紧,所以复杂度大概为(O(n^3+n^2logC))

    T2:
    有点东西
    一条合法路径显然可以分成三段,1->a->b->n,其中a->b中不经过任意一条最短路边
    1->a和b->n走最短路就完了,a->b整个二进制分组就行了,但多一个log跑不过(可能是我自带大常数QAQ)
    那就随它!
    logn大概是17,那就随机其中的一些跑一下,调调种子就过了(19260817好啊)

    T3:
    题解的做法要消圈,太麻烦就没写
    考虑另一种做法,反着考虑,先将所有位置填上,然后考虑最少需要拿下来几个
    枚举limit
    对于行列建点,S向行连(数量,0)的边,列向T连(数量,0)的边
    对应的行列间,行向列连(limit,0)的边,表示可以留下limit个
    对于(i,j)为空地,i行向j列连(1,1)的边,表示可以取下来一个
    跑最小费用最大流,若最后满足当前(limit leq all*A/B)的限制,则更新答案

  • 相关阅读:
    Wannafly Camp 2020 Day 2D 卡拉巴什的字符串
    [POI2010] GIL-Guilds
    Wannafly Camp 2020 Day 1D 生成树
    [AH2017/HNOI2017] 影魔
    机器学习之决策树
    终端多窗口分屏Terminator
    python的面对对象
    安装 Google BBR 加速VPS网络
    DNSLOG在渗透测试中的玩法儿
    如何利用GitHub搜索敏感信息
  • 原文地址:https://www.cnblogs.com/Gkeng/p/12730181.html
Copyright © 2011-2022 走看看