算法分析与设计
Mrchesian
发呆我可以发很久
展开
-
整数划分问题
整数划分问题是算法中的一个经典命题之一,有关这个问题的讲述在讲解到递归时基本都将涉及。 所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+...+mi; (其中mi为正整数,并且1 如果{m1,m2,...,mi}中的最大值不超过m,即max(m1,m2,...,mi) 例如但n=4时,他有5个划分,{4},{3,1},{2,2},{2,1,1},{原创 2016-04-25 23:09:32 · 455 阅读 · 0 评论 -
Scale(标准化)和Normalization(正则化) 区别
一、标准化(Z-Score)标准化或者去除均值和方差缩放公式为:(X-mean)/std 计算时对每个属性/每列分别进行。将数据按期属性(按列进行)减去其均值,并处以其方差。得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1。 实现时,有两种不同的方式:使用sklearn.preprocessing.scale()函数,可以直接将给定数据进行标准化。使用sklearn.prep原创 2017-08-30 11:00:22 · 14535 阅读 · 1 评论 -
树状分词法
最大匹配法分词的缺陷原文:http://blog.csdn.net/jiljil/article/details/2339136一、长度限制(1)词长过短,长词就会被切错(2)词长过长,效率就比较低。二、效率低三、掩盖分词歧义四、最大匹配的并不一定是想要的分词方式中文分词算法一、 高效二、无长度限制三、歧义包容突破口—词库真正要改善是就是我们的匹配过程,我们要减少匹配过程中的浪费,我们要解决匹配中的原创 2017-07-05 19:00:42 · 458 阅读 · 0 评论 -
AnyviewC编程作业系统——支持程序可视化运行、调试和测评
AnyviewC编程作业系统——支持程序可视化运行、调试和测评AnyviewC题库:C程序设计 例题62--习题239(2012-4-27)1.025 编写一个C程序,用函数printf(char *s)输出以下3行信息:第1章 程序设计和C语言(例题0--习题0/2)********************* Very Good! **********原创 2017-02-11 13:35:08 · 6991 阅读 · 0 评论 -
R-树相关技术
空间索引是对存储在介质上的数据位置信息的描述,用来提高系统对数据获取的效率。GIS涉及的各种海量复杂数据存储于外存,如果对磁盘上的数据的位置不加以记录和组织,每查询一个数据项都要扫描整个数据文件,则这种访问磁盘的代价将严重影响系统的效率。因此索引的建立与处理至关重要。此外GIS所表现的地理数据多维性使得传统的B树索引不再适合,因为B树所针对的字符、数字等传统数据类型是在一个良序集之中,即都是在一个原创 2016-08-07 10:45:23 · 2694 阅读 · 0 评论 -
defaultdict 和 namedtuple 的使用(python)
defaultdict 和 namedtuple 的使用defaultdict()和namedtuple()是collections模块里面2个很实用的扩展类型。一个继承自dict系统内置类型,一个继承自tuple系统内置类型。在扩展的同时都添加了额外的很酷的特性,而且在特定的场合都很实用。定义以及作用返回一个和dictionary类似的对象,和dict不同主要体现在2个方面:原创 2016-08-03 10:16:10 · 758 阅读 · 0 评论 -
渐近记号
定义 设 f\left(n\right)f(n) 是一个定义在 \mathbb{N}N(有时也可取 \mathbb{Z}_+Z+ 等,允许有有限个自然数处没有定义)上的函数,定义集合\mathcal{O}\left(f\right)=\left\{{g\left(n\right):\exists N\in\mathbb{N},C\geq 0,\mathrm{\ s.t.\ }\f原创 2016-05-03 18:55:28 · 511 阅读 · 0 评论 -
最长上升子序列 (Longest Increasing Subsequence, 常简称为 LIS)
最长上升子序列 (Longest Increasing Subsequence, 常简称为 LIS) 是动态规划解决的一个经典问题。我们先讲一下子序列是什么。一个数组的子序列就是从里面选出一些元素,并将他们保持原有的先后顺序排列。比如[1, 2, 3, 4, 5]的子序列有[1, 3, 5]、[3, 4],而[1, 5, 3]则不是这个数组的子序列。这里多介绍一下,还有一个原创 2016-05-03 09:50:44 · 509 阅读 · 0 评论 -
数塔问题
#include #include using namespace std;const int N = 100;// 下面这个函数实现的是更新最大值,o赋值为o和x的最大值template void updateMax(T& o, const T& x) { o = (o > x) ? o : x;}// f数组为动态规划的状态数组// num数组为读入的数塔// n原创 2016-05-03 09:43:15 · 670 阅读 · 0 评论 -
程序设计竞赛入门
#include #include #include #include #define ARRSIZE(x) (sizeof(x)/sizeof(x[0]))using namespace std;// 请读者只在下面的函数内修改代码int summary(vector >& mat) { int sum = 0; for (int i = 0; i < mat.s原创 2016-05-02 20:43:25 · 870 阅读 · 0 评论 -
狐狸找兔子(java 版)
围绕着山顶有10个洞,一只狐狸和一只兔子住在各自的洞里。狐狸想吃掉兔子。一天,兔子对狐狸说:“你想吃我有一个条件,先把洞从1-10编上号,你从10号洞出发,先到1号洞找我;第二次隔1个洞找我,第三次隔2个洞找我,以后依次类推,次数不限,若能找到我,你就可以饱餐一顿。不过在没有找到我以前不能停下来。” 狐狸满口答应,就开始找了。它从早到晚进了1000次洞,累得昏了过去,也没找到兔子,原创 2018-01-01 12:14:04 · 2643 阅读 · 0 评论