zoukankan      html  css  js  c++  java
  • 匈牙利算法学习笔记

    亲爱的绿帽子算法。

    【关于裸题】

    我还是那么喜欢把变量名打反(luoguP2055假期的宿舍)。

    话说用输出查错是很舒服的。

     尽快学会和熟练对拍啊!

    【关于建模】

    特点便是 ,不管是左部点还是右部点,都必须是一一对应(对应不了就不连了)的关系——也就是“宁可绿帽戴尽,也要从一而终”。

    部点可以抽象化

    例如luoguP1640连续攻击游戏,看到题目很容易去想把一个装备的2个属性分别放到左部点和右部点去。但是如果把图一画就会发现,这样子的话,节点们完全不像是个二分图的样子。那么该怎么建模呢?|+_+|让我们来看一下有哪些一一对应的关系。

    1.1个装备只能对应1种伤害值

    2.1种伤害值只能使用一次

    真棒!所以不妨把伤害值设作左部点,装备编号设作右部点。由于模板统计的是左部点的量,而题目问的是最多伤害次数,所以把伤害值设作左部点是OK的(其实都差不多啦,左边有连线的点数不就等于右边有连线的点数吗)。

    这样子的左部点有一些抽象,但是是非常好用的,明显是正解啦。

    【关于常错】

    1.这次把定义的MAXN和MAXM打反了

    2.加边时一时激动,把add(a,i);add(b,i);打成了add(a,b);

    3.用二维数组已经存不下了,但是用链表存图依然是那么优秀

  • 相关阅读:
    Transformers 简介(下)
    OpenCV-Python 姿态估计 | 五十
    Transformers 简介(上)
    OpenCV-Python 相机校准 | 四十九
    在Keras中可视化LSTM
    分析师和统计学家可以和谐相处吗?
    Array类模板
    C++中 公有继承 私有继承 和保护继承的区别
    文件输入输出
    PTA(浙大数据结构,c语言)
  • 原文地址:https://www.cnblogs.com/nishida-rin/p/12271148.html
Copyright © 2011-2022 走看看