zoukankan      html  css  js  c++  java
  • CF1483D

    不难发现一条边 ((x,y)) useful 当且仅当存在两个点 ((a,b)) 满足 (dis_{a,x}+eg_{x,y}+dis_{y,b}leq l_{a,b})。由于题目保证 (eg)(l) 的给定都没有重边,所以直接枚举点们是正确的。但是是四方的,考虑优化之。

    (l) 移过来之后,发现任意一个变量都独立不开来,不好处理。容易发现,四个变量之间的关联关系是一个四元环,而枚举变量可以把当前点删除。我们的目的就是枚举一些点,删点之后使得剩下的都是孤立点,这样就能对每个点独立枚举处理了。

    不难发现枚举对角点的方案,例如枚举 (a,y)。这样一来 (dis_{a,x},eg_{x,y}) 成了关于 (x) 的函数,(dis_{y,b},l_{a,b}) 成了关于 (b) 的函数,于是可以分别独立处理:计算 (dis_{y,b}-l_{a,b}) 的最小值,然后枚举 (x) 看是否有 (dis_{a,x}+eg_{x,y}+mnleq 0) 即可。这样就降了一方。

    (以上都是瞎写的,别当真。实际上稍微乱想就出来了,这是个较为简单的 d1d)

    珍爱生命,远离抄袭!
  • 相关阅读:
    QuartzNet使用
    Flex Metadata tags 元数据标签
    fb设置viewSourceURL
    免费开放的API
    测试跨域加载
    nape.geom.MarchingSquares
    bootstrap 全局样式
    <meta> 标记汇总
    bootstrap模版兼容IE浏览器代码嵌入
    正则表达式语法
  • 原文地址:https://www.cnblogs.com/ycx-akioi/p/solution-cf1483d.html
Copyright © 2011-2022 走看看