摘要: 一直没有深究过这个算法的正确性。今天搜了下它的证明,发现这个算法其实就是个动态归化中间只经过最多前k个点的 两点间最短距离 dp(k,a,b) = min(经过了第k个点[a-k-b], 没有经过第k个点[dp(k-1,a,b)] )。 空间压缩一下,就是floyd算法了 阅读全文
posted @ 2014-10-22 15:12 J.Z's World 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 微积分 单变量微积分多变量微积分拉格朗日定理线性逼近,二次逼近导数与极限微积分第一、第二定理格林公式卷积线性代数 特征值和特征向量正定矩阵线性空间、基LUSVD行列式逆和伪逆概率 条件概率贝叶斯定理切比雪夫不等式、大数定理、中心极限定理假设检验随机变量的分布线性回归和logistic回归随机变量的数字特征蒙特卡罗最大似然估计熵梯度下降 牛顿法和牛顿优化法M-L共轭随机梯度batch傅里叶变换 傅里叶级数展开拉普拉斯变换特征 HarsiftLBPLABgaborDLHog数值分析 指数数据分析距离度量(欧氏、马氏等)采样定理ML基础 VC维正则化、过学习、欠学习交叉验证 阅读全文
posted @ 2014-03-25 16:49 J.Z's World 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 将连通分量求出后,收缩为一个节点。(这里我没有对两个连通分量间的边进行收缩为一条边)。新图中,入度为0的点都需要注入新软件,且注入新软件后,其余连通分量都能获得新软件。故入度为0的节点个数为第一问答案。设入度为0点个数为m,出度为0点个数为n,如果m>n。我们把入度为0与出度为0的m对节点相连,可以想象一下:存在一种方案,可以得到一个环,它把这m对节点都连通在内,剩下的m-n个入度为0的点,再添加反方向的边,他们也变为了连通。而且这些收缩操作与第一步形成的环可以确保这些连通分量间也是连通的。所以,只要添加m条边即可实现全连通。同理,如果n>m,则答案为n。 不过有一个特殊情况,如果 阅读全文
posted @ 2013-05-14 09:30 J.Z's World 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 用线性表实现的。算覆盖面积的时候,每次从当前矩形向后扫描最多被后一个矩形分成n1(n1<=4)个小的矩形,然后这n个小的矩形再分别计算被下下个矩形覆盖后形成了n2个新的矩形...开始把b 和 t 的操作给搞反了,还有就是定义的nTop 先把它往纵坐标理解的,写着写着突然脑抽了一下,把它当行号给理解了。结果关于top的判断就错了一半...。第4次才提交通过./*ID: zhangyc1LANG: C++TASK: window*/#include <string>#include <cstring>#include <cstdlib>#include & 阅读全文
posted @ 2013-05-10 16:39 J.Z's World 阅读(262) 评论(0) 推荐(0) 编辑
摘要: dfsid。因为dfs的顺序不能保证数字序小的组合先被搜索到,所以搜到第一个可行解时候不能输出,而应该拷贝到候选数组中。并在此后搜索时直接跳过大于候选集数字序的搜索。/*ID: zhangyc1LANG: C++TASK: milk4*/#include <string>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;int Q, N, nCheck;int arrVol[100], arrAns[100] 阅读全文
posted @ 2013-05-09 12:12 J.Z's World 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 这个也不记得了,反正不难/*ID: zhangyc1LANG: C++TASK: wissqu*/#include <string>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;char arrMatrix[4][5];bool arrNewCow[4][4], bFound = false;int arrCowNum[5] = {3, 3, 3, 4, 3};int nValid = 0;struct 阅读全文
posted @ 2013-05-09 12:08 J.Z's World 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 非随机版的模拟退火/*ID: zhangyc1LANG: C++TASK: fence3*/#include <string>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;int N;struct SLine { int nMin, nMax, nConst; bool bParallelX;//0 - 平行X轴, 1 - 平行Y轴};SLine arrLine[150];int arrStepX[4] 阅读全文
posted @ 2013-05-09 12:06 J.Z's World 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 已经不记得这个题目是什么了。/*ID: zhangyc1LANG: C++TASK: snail*/#include <string>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;int N, B, nMaxSetp = 0, nCurStep = 0;bool arrIsBar[120][120], arrVisited[120][120];int arrDirectionX[4] = {0, 1, 0 阅读全文
posted @ 2013-05-09 12:04 J.Z's World 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 用的就是后缀数组。最近非常烦躁。谁人定我去或留,定我心中的宇宙。/*ID: zhangyc1LANG: C++TASK: theme*/#include <string>#include <cstring>#include <cstdlib>#include <cstdio>using namespace std;#define MAXSIZE 5000#define MAXDIF 176int N;int arrNum[MAXSIZE], arrRank[MAXSIZE], arrSufix[MAXSIZE], arrHeight[MAXSIZ 阅读全文
posted @ 2013-05-09 12:03 J.Z's World 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 详细的学习了后缀数组,及其应用。由于罗穗骞论文中的代码写的有些随意,我按照自己的思路,算是整理了一下吧。倍增法求 后缀数组,以及height数组char* strTest = "aabaaaab";const int MaxSize = 256;// arrRank为各位置后缀排名,末位的$排名为0; arrSufix为排名对应的位置索引,arrSufix[0]为strlen(char*);arrHeight[i]为排名第i的后缀与排名为i-1的后缀的公共串长度,从arrHeight[1] = 0有效int arrRank[MaxSize], arrSufix[MaxSiz 阅读全文
posted @ 2013-04-25 10:41 J.Z's World 阅读(182) 评论(0) 推荐(0) 编辑