zoukankan      html  css  js  c++  java
  • [做题记录-乱做] [AGC004F] Namori

    题意

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

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

    题解

    泪目, 根本不会

    先考虑树的情况。

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

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

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

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

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

    太奇妙了

  • 相关阅读:
    C. Chessboard( Educational Codeforces Round 41 (Rated for Div. 2))
    B. Lecture Sleep( Educational Codeforces Round 41 (Rated for Div. 2))
    51Nod 1256 乘法逆元(扩展欧几里得)
    C
    B
    9.13 web基础知识
    web基础知识
    9.11 web基础知识
    9.10 web基础知识
    web 基础知识
  • 原文地址:https://www.cnblogs.com/clover4/p/15362455.html
Copyright © 2011-2022 走看看