• [做题记录-乱做] [AGC004F] Namori


    题意

    给定一个 (N) 个点,(M) 条边的图,没有自环,没有重边。其中 (N-1le Mle N),每个点初始是白色。每次操作可以处理一条边,其两个点如果颜色相同则都变成相反的颜色(黑变白,白变黑)。询问能否将每个点都变为黑色。如果能,输出最少的操作数;如果不能,输出 (-1).

    [1 leq n leq 10^5, n - 1leq m leq n ]

    题解

    泪目, 根本不会

    先考虑树的情况。

    据说有套路是按层奇偶分类, 如果看成奇数层是有棋子的, 偶数层没有, 每次的操作就是移动棋子, 使得偶数层放满棋子。小编也不知道咋想到的, 反正确实是对的。

    然后就可以发现一条边被移动的次数就是棋子数量和空位的差, 这一步大概可以感觉出来, 然后树大概就搞完了。

    然后考虑基环树, 奇环是简单的, 直接断一条边, 然后由于这条边两边颜色一样, 用来消同颜色的东东即可。

    偶环的话可以列出移动次数相关的方程, 感觉上就是在数轴上选一个位置使得总和最小, 直接选就好。

    至于为啥随便选条边断开就好, 可以考虑是我们考虑这条边的所有作用, 偶环里面实际上我们对所有的情况都考虑了贡献在环上的流动, 奇环里面的是因为本来动了也是要被那条边消掉, 消掉以后更新环上贡献的时候就无法更优了。

    太奇妙了

  • 相关阅读:
    【Demo】QQ,github,微博第三方社交登录
    crontab执行时间和系统时间不一致
    CDN服务技术架构图
    【php】命名空间 和 自动加载的关系
    【运维工具】Git代码发布系统
    【ipv6惹的祸】curl 超时
    MySQL:动态开启慢查询日志(Slow Query Log)
    Virtualbox 虚拟机支持硬件摄像头
    网页取消快照、禁止抓取等meta标签功能
    ajax 跨域
  • 原文地址:https://www.cnblogs.com/clover4/p/15362455.html
Copyright © 2020-2023  润新知