摘要:
DP 免费馅饼 HDU1176 "vjudge题面" 一道基本的DP题,状态转移很好想,每一个状态的位置$pos$都只能由上一秒的$pos 1, pos, pos+1$三个位置转移而来(当然要判断边界情况),这种简单的转移就直接写代码写死就行了,不需要像其他DP,还需要一个循环来专门决策。另外,这种 阅读全文
摘要:
知了课堂 Python Flask零基础到项目实战系列 视频的所有笔记,现整理在下,视频地址: "bilibili" "网易云课堂" 笔记目录: [TOC] 起步 安装Python2.7: 1. Mac下使用Python2.7. 2. Windows下安装Python2.7. 从python官网下载 阅读全文
摘要:
[TOC] 更新ing 不适合新手入门,适合写项目时参考备忘 虚拟环境 安装虚拟环境 新建环境 激活环境 在进入虚拟环境目录下 文件夹后 退出环境 在进入虚拟环境目录下 文件夹后 Debug模式 开启 关闭 配置文件 新建一个 然后在主程序里面导入 最后应用 url传入参数 url反转 重定义向 模 阅读全文
摘要:
字典树入门 原理 将一个长度为$n$的单词,维护在一个$n$层的树中,每层存对应的字母;判断时,一层一层地判断,最后一层注意要还要判断这个节点是非曾作为为一个单词的终点(如存有abcd,判断abc) 实现 数据结构 结构体 为字典树节点, 表示该节点的儿子们所在的节点, 表示该节点是非层作为为一个单 阅读全文
摘要:
榨取kkksc03 多维dp 题面: "洛谷 P1855 榨取kkksc03" 一道简单的动态规划,背包再加一维费用,首先可以易得三维动态规划转移方程 $$ dp[i][j][w]=\left\{ \begin{array}{} max(dp[i 1][j][w], dp[i 1][j a[i].m 阅读全文
摘要:
种族并查集总结 原理 用于描述对象的属性具有传递性的关系,诸如:食物链、朋友的朋友是朋友,敌人的敌人是朋友这种东西 比如,我们可以开一个补集来存放某个对象的反面(如A的反面A',可以理解为A的反面的 招牌 ,所有是A的反面的元素都与它相连,归为它旗下),如果元素A与元素B的反面B'联通则说明元素A与 阅读全文
摘要:
倍增 ST表 预处理 $f[i][j]$表示从$i$开始的 长度为$2^{j}$ 的区间(即区间$[i, i+2^{j} 1]$) 递推公式(j在外层递增): $f[i][j]=max\{f[i][j 1], f[i+2^{j 1}][j 1]\}$ 即将区间$[l, r]$分为两个区间合并 查询 阅读全文
摘要:
求最大公因数(辗转相除法&更相减损术) 辗转相除法 又名欧几里得算法 ,其原理其实是基于这个定理:$gcd(a,b)=gcd(b,a\%b)$, "详细证明" ,而任何数与0的最大公约数是它本身 (递归终止条件),所以可以如下递归求出两数最大公因数: $$ f(a,b)=\left\{ \begin 阅读全文
摘要:
二分图匹配(匈牙利算法) 二分图 如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图 原理 线性安排,不管是不是最优解,先安排着,如果后续无法匹配了再递归调整前面已经匹配好了的,最终肯定是 最大匹配 。匈牙利算法其实就是一个利用递归 先假设匹配再不断反悔重新匹配的过程 ,很好 阅读全文
摘要:
二分答案 使用场景 如果答案具有单调性且有范围,那么就可以二分枚举答案,在答案合法的条件下 不断逼近最优 (如最大值最小或最小值最大),最后一个合法的答案就是最优解,这便是二分答案 板子 整数域上的二分 最后while结束后,ans便是最后一个合法的答案即最优解 另一种写法: 为精度,一般需要保留k 阅读全文