Elmagnifico's Blog

云深不知归处

背包问题,动态规划

0/1,DP,NPC

Foreword 遇到一个涉及到很多球根据约束条件,选取最多数量的球的问题,类似于背包问题. 基本0/1背包 问题:有n个物品,物品不重复,每个物品对应价值为price[i],对应重量是weight[i],背包最大载重是w,求背包能装的最大价值的是多少,或者说背包要怎么装才能得到最大价值. 因为对于每个物品而言只有两种选择,拿或者不拿,对应0/1,当然可以用暴力搜索直接遍历一遍所有的...

网络流,最大流

增广路,EK

Foreword 之前的二分匹配问题,要做的是一对一的情况下,求得最优匹配的情况。 而从某种角度上来说二分带权匹配可以算是网络流中最大流的一种特殊情况。 网络流一般来说都是有一个源点和一个汇点。源点只负责无限流出流量,而汇点则是无限接收流量,然后会包含一些从源点到汇点的路径,每条路径能承载的流量都有上限,类似于二分带权最优匹配。 网络流图一般来说都是一个有向图,但是在求解的时候有时候...

二分图带权最大匹配

KM,完备匹配

Foreword 前面的二分图,都是基于每条边都是可行的,最大匹配也是只要可行就行,完全不考虑,选择这条边带来的代价,认为所有的边都是代价平等的,然而实际上很多问题不同的选择需要付出的代价并不相同。 那么为了解决这种问题,从而有了二分图带权匹配,其实还有一种方法,就是通过网络流求最小费用最大流,从而获得最佳匹配。 KM算法 KM算法的基础也一样是匈牙利算法,但是在它的基础上融合了贪心...

Bipartite Graph 二分图

匈牙利算法,最大匹配

Foreword 遇到一个匹配问题,搜了很久,就是找不到相关的算法,经过询问,重新描述问题以后,发现原来问题这么简单,而且还有专门描述此类问题的算法。 问题: 有若干男孩和女孩,他们之间存在互相喜欢的关系,求一种配对方式使得所有人都能得到喜欢的人(或者是得到最多配对数) 此类问题都有一个共同的数学模型,二分图。图G = (V,E) 是一个无向图,如果一个图可以被分成两部分,并且...

Maya C++开发 in VS2017

API, HelloWorld, plugin

Foreword maya除了可以直接使用MEL和Python的脚本语言(Maya Commands)来开发,还可以使用C++ API或者python API,又或者C# 从本质上说python API 是基于C++ API来的,而C#的API基本就是C++ API 在这里面C++无疑是速度最快的,并且最接近maya的,而python则是速度最慢的。 要开发maya c++ pl...

IoT-WIFI

无线物联网,WLAN,近距离

Foreword 最近寻找合适的网络方案,查询了不少无线传感网络的相关信息,这里一一举例其相关信息 下图基本列举出了目前在用的各种方案,下文将按照图中的顺序来进行介绍。 物联网无线通信技术 近距离无线局域网络 WNAN Wireless Neighborhood Area Network,无线邻域网络 Wi-SUN ZigBee NAN ZigBee NAN = Jup...

IoT-WAN

无线物联网,宽带广域,WAN

Foreword 最近寻找合适的网络方案,查询了不少无线传感网络的相关信息,这里一一举例其相关信息 下图基本列举出了目前在用的各种方案,下文将按照图中的顺序来进行介绍。 物联网无线通信技术 远距离广域无线网络 宽带广域/WAN 一般来说窄带是泛指Sub-1GHz,1G赫兹以下的频段,称之为窄带. 也有许多通讯协议其既有窄带也有宽带,比如LTE,Zigbee,Thread. ...

IoT-NET

无线物联网,窄带广域,WSN

Foreword 最近寻找合适的网络方案,查询了不少无线传感网络的相关信息,这里一一举例其相关信息 下图基本列举出了目前在用的各种方案,下文将按照图中的顺序来进行介绍。 物联网无线通信技术 远距离广域无线网络 窄带广域/LPWAN 一般来说窄带是泛指Sub-1GHz,1G赫兹以下的频段,称之为窄带 也有许多通讯协议其既有窄带也有宽带,比如LTE,Zigbee,Thread....

APM与STM32中系统时间计数器溢出

APM,Copter loop,Overflow

Overflow static volatile uint32_t timerx_micros_counter = 0; static volatile uint32_t timerx_millis_counter = 0; void TIMX_IRQHandler(void) { if(TIM_GetITStatus(TIMx, TIM_IT_Update)==SET) { ti...

Python selenium

auto test,Firefox,

Foreword selenium 一般都是作为web自动化测试工具的一部分,当然也可以拿来当网页爬虫(只不过效率上比较低),这里我也只是用来自动获取网页混淆后的代码而已. selenium 安装 python 下使用他还比较简单,直接 pip install selenium 即可完成安装. 但是selenium除了需要python安装以外,还需要对应浏览器的驱动. 比如...