[学习笔记]动态规划-各种 DP 优化 [大前言] 个人认为贪心,\(dp\) 是最难的,每次遇到题完全不知道该怎么办,看了题解后又瞬间恍然大悟(TAT).这篇文章也是花了我差不多一个月时间才全部完成. [进入正题] 用动态规划解决问题具有空间耗费大.时间效率高的特点,但也会有时间效率不能满足要求的时候,如果算法有可以优化的余地,就可以考虑时间效率的优化. [DP 时间复杂度的分析] \(DP\) 高时间效率的关键在于它减少了"冗余",即不必要的计算或重复计算部分,算法的冗余程度是决定…
目录 「学习笔记」FFT 之优化--NTT 前言 引入 快速数论变换--NTT 一些引申问题及解决方法 三模数 NTT 拆系数 FFT (MTT) 「学习笔记」FFT 之优化--NTT 前言 \(NTT\) 在某种意义上说,应该属于 \(FFT\) 的一种优化. --因而必备知识肯定要有 \(FFT\) 啦... 如果不知道 \(FFT\) 的大佬可以走这里 引入 在 \(FFT\) 中,为了能计算单位原根 \(\omega\) ,我们使用了 \(\text{C++}\) 的 math 库中的…
1.定义: $c[i][j]=\sum a[i][k]\times b[k][j]$ 所以矩阵乘法有条件,(n*m)*(m*p)=n*p 即第一个矩阵的列数等于第二个矩阵的行数,否则没有意义. 2.结合律与分配率 矩阵乘法不一定任何时候都有交换律.因为交换后甚至不能保证第一个矩阵的列数等于第二个矩阵的行数. 但是,矩阵乘法有结合律. A*B*C=A*(B*C) 这是一个最常用的运算律,使之可以用矩阵快速幂. 3.构造技巧. 矩阵乘法主要用途还是矩阵加速dp. 例如什么n=1e9之类的. 关键还是…
定义 & 等价形式 四边形不等式是定义在整数集上的二元函数 \(w(x, y)\). 定义:对于任意 \(a \le b \le c \le d\),满足交叉小于等于包含(即 \(w(a, c) + w(b, d) \le w(b, c) + w(a, d)\).① 等价形式,对于任意的 \(a < b\),都有 \(w(a, b-1) + w(a+1,b) \le w(a+1, b-1)+w(a,b)\).② ① 推 ② 看定义即可,② 推 ① 的证明: 任取 \(a < d\),\…
目录 算法 例题 最大子段和 题意 思路 代码 修剪草坪 题意 思路 代码 瑰丽华尔兹 题意 思路 代码 股票交易 题意 思路 代码 算法 使用单调队列优化dp 废话 对与一些dp的转移方程,我们可以通过拆使它与某个区间的最值相关. 这时可以用单调队列算出区间最值,进行优化. 例题 最大子段和 题意 给出一个长度为 \(n\) 的整数序列,从中找出一段长度不超过 \(m\) 的连续子序列,使得整个序列的和最大. 思路 设 \(sum_i\) 为 \(i\) 的前缀和,易得答案为: \[\max_…
序列 dp 引入:最大子段和 给定一个数列 \(a_1, a_2, \cdots, a_n\)(可能为负),求 \(\max\limits_{1\le l\le r\le n}\left\{\sum_{i=l}^ra_i\right\}\). 这是一个经典的 动态规划 问题:设 \(f_{i}\) 为以 \(a_i\) 结尾的最大子段和,设 \(g_{i}\) 为前 \(i\) 个数的最大子段和.那么显然有: \[\begin{cases} f_i = \max(f_{i-1} + a_i, 0…
转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 全连接神经网络 辅助阅读:TensorFlow中文社区教程 - 英文官方教程 代码见:full_connect.py Linear Model 加载lesson 1中的数据集 将Data降维成一维,将label映射为one-hot encoding def reformat(dataset, labe…
分治策略:解决问题的典型策略,分而治之 将问题分为若干更小规模的部分 通过解决每一个小规模部分问题,并将结果汇总得到原问题的解 递归算法与分治策略 递归三定律 体现了分支策略 应用相当广泛 排序 查找 遍历 求值等 优化问题 计算机科学中许多算法都是为了找到某些问题的最优解 两点之间最短路径 能最好匹配一系列点的直线 满足一定条件的最小集合 经典案例:找零兑换 贪心策略 兑换最少个数的硬币 贪心策略及失效 63=252+101+1*3 63=21*3 递归解法 步骤 确定基本结束条件 需要兑换的…
一.数据库性能评测关键指标 1.IOPS:每秒处理的IO请求次数,这跟磁盘硬件相关,DBA不能左右,但推荐使用SSD. 2.QPS:每秒查询次数,可以使用show status或mysqladmin extended-status命令来查看QPS值,如下所示. mysql> show global status like 'Questions';--QPS=Questions/Uptime(show status like 'Uptime')这是一个全局的平均值 +---------------…
SQL优化 1.查看各种SQL执行的频率 mysql> show status like 'Com_select';--Com_insert,Com_delete,connections(试图连接mysql服务的次数),uptime(mysql工作时间),slow_queries(慢查询次数)等等 2.定位执行效率较低的SQL语句 通过慢查询日志,定位查询效率低下的SQL语句,然后分析语句进行优化 3.通过explain或desc分析SQL语句的执行计划,如要查看所访问的分区使用explain…