![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Data Structure
文章平均质量分 78
Rachel-Zhang
yiyan程序员 https://weibo.com/u/2607574543
展开
-
MC, MCMC, Gibbs采样 原理&实现(in R)
本文用讲一下指定分布的随机抽样方法:MC(Monte Carlo), MC(Markov Chain), MCMC(Markov Chain Monte Carlo)的基本原理,并用R语言实现了几个例子:1. Markov Chain (马尔科夫链)2. Random Walk(随机游走)3. MCMC具体方法: 3.1 M-H法 3.2 Gibbs采样 PS:本篇blog为ese机器学习短期班参考资料(20140516课程)。原创 2014-05-15 19:50:44 · 90439 阅读 · 28 评论 -
动态规划 求解 Minimum Edit Distance
自然语言处理(NLP)中,有一个基本问题就是求两个字符串的minimal Edit Distance, 也称Levenshtein distance。受到一篇Edit Distance介绍文章的启发,本文用动态规划求取了两个字符串之间的minimal Edit Distance. 动态规划方程将在下文进行讲解。 1. what is minimal edit distance?简单地说,就是仅通过原创 2012-07-11 12:17:41 · 25542 阅读 · 20 评论 -
浙大计算机研究生复试上机考试-2009年
http://acm.hdu.edu.cn/showproblem.php?pid=3782XXX定律[cpp] view plaincopy#include "iostream" using namespace std; int main() { int n; while (cin>>n原创 2012-06-26 15:59:19 · 9271 阅读 · 3 评论 -
Opencv 图像增强算法 图像检测结果
本code通过直方图变换增强了图像对比度,实现了单通道图像增强。将图像灰度阈值拉伸到0-255,图像检测结果见底部Keywords: 图像增强 增强对比度 直方图变换int ImageStretchByHistogram(IplImage *src1,IplImage *dst1)/*************************************************F原创 2012-03-28 10:58:03 · 43357 阅读 · 21 评论 -
题目1013:开门人和关门人
题目描述: 每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签到、签离记录,请根据记录找出当天开门和关门的人。输入: 测试输入的第一行给出记录的总天数N ( N> 0 ),下面列出了N天的记录。 每天的记录在第一行给出记录的条目数M (M > 0 ),下面是M行,每行的格式为 证件号码 签到时间 签离原创 2012-02-22 09:53:35 · 4274 阅读 · 0 评论 -
导弹拦截
【问题描述】 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹原创 2012-02-20 14:17:50 · 3548 阅读 · 1 评论 -
N皇后问题
N皇后问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2414 Accepted Submission(s): 1117Problem Description在N*N的方格棋盘放置了N个皇后,使得它原创 2012-02-20 14:36:29 · 2918 阅读 · 0 评论 -
名侦探柯南
题目1399:名侦探柯南题目描述:大家一定都看过《名侦探柯南》,我最开始看的是小说版本的,后来出了漫画版本,现在又有了动画片的版本。引用彪叔的一条飞信:做男人就要做柯南。变得了正太,飚的到女声;学得好化学,射的了麻醉;踢得好足球,玩得好极限;破得了大案,干得过黑社会;开得了飞机,躲得过机枪;停得了爆炸,引得了雪崩,最牛的是有一个十几年只见了他几面却依旧死心踏地念念不忘的好女原创 2012-02-18 23:43:22 · 4779 阅读 · 2 评论 -
合唱队形-最长递增子序列变种
题目1131:合唱队形时间限制:1 秒内存限制:32 兆特殊判题:否提交:315解决:97题目描述:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学不交换位置就能排成合唱队形。合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1, 2, …, K,他们的身高分别为T1, T2, …,原创 2012-02-19 09:07:26 · 8200 阅读 · 4 评论 -
大数阶乘-N的阶乘
题目1076:N的阶乘时间限制:3 秒内存限制:128 兆特殊判题:否提交:924解决:249题目描述: 输入一个正整数N,输出N的阶乘。输入:正整数N(0输出: 输入可能包括多组数据,对于每一组输入数据,输出N的阶乘样例输入:4515原创 2012-02-19 09:05:56 · 7982 阅读 · 5 评论 -
hdu 1232 畅通工程
畅通工程Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13081 Accepted Submission(s): 6702Problem Description某省调查城镇交通状况,得到现有城镇道路统原创 2012-02-17 15:44:15 · 2258 阅读 · 0 评论 -
hdu 1231 最大连续子序列
最大连续子序列Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 9289 Accepted Submission(s): 3925Problem Description给定K个整数的序列{ N1, N2,原创 2012-02-17 14:56:18 · 5395 阅读 · 5 评论 -
浙大计算机研究生复试上机考试-2005年-A+B
A + BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7340 Accepted Submission(s): 4142Problem Description读入两个小于100的正整数A和B,计算A原创 2012-02-17 11:07:55 · 3667 阅读 · 0 评论 -
浙大06复试题-hdu 1230
火星A+BTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6946 Accepted Submission(s): 2267Problem Description读入两个不超过25位的火星正整数A和B,原创 2012-02-16 22:47:19 · 2615 阅读 · 0 评论 -
子串计算
题目描述:给出一个01字符串(长度不超过100),求其每一个子串出现的次数。输入:输入包含多行,每行一个字符串。输出:对每个字符串,输出它所有出现次数在1次以上的子串和这个子串出现的次数,输出按字典序排序。样例输入:10101样例输出:0 201 21 310 2101 2#原创 2012-02-26 08:16:25 · 4197 阅读 · 2 评论 -
题目1005:Graduate Admission
大模拟……吐血题目1005:Graduate Admission时间限制:1 秒内存限制:32 兆特殊判题:否提交:693解决:148题目描述: It is said that in 2011, there are about 100 graduate schools ready to proceed o原创 2012-02-24 20:50:17 · 3986 阅读 · 1 评论 -
题目1004:Median(数组Merge)
题目1004:Median时间限制:1 秒内存限制:32 兆特殊判题:否提交:1716解决:432题目描述: Given an increasing sequence S of N integers, the median is the number at the middle position. For examp原创 2012-02-24 18:51:34 · 4209 阅读 · 0 评论 -
01背包变形——hdu 最大报销额
最大报销额Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8910 Accepted Submission(s): 2329Problem Description现有一笔经费可以报销一定额度的发票。允许原创 2012-02-16 17:30:34 · 5027 阅读 · 2 评论 -
计算理论重点——Theory of Computation
一个学期的计算理论课程已经结束,给我的感觉吧,计算理论是一门计算机不得不学,学了短期又没用,但是可以培养一些逻辑思维的课程。其最关注的问题是什么是可计算性,什么问题可计算,问题之间的映射/归约,计算代价及难易。在分析问题和检验模型计算能力之前需要掌握的工具是形式语言、图灵机等。本文主要对计算理论中的重点进行了总结,总结了一些定理和理解上容易有障碍的知识点,但是里面还有一些点没有提到,比如NFA、D原创 2013-01-11 15:54:57 · 32025 阅读 · 23 评论 -
Comprehensions on Group NMF
最近看了一下group sparsity和group structure方面的东西,本文主要针对了其中一种在NMF上的应用得到的group sparsity总结了一些东西。这篇理论上的文章没有被引用很多,但是其在EEG上用Group NMF做得一篇文章倒是有些影响力的。具体参考reference吧。总的来说,group sparsity或者单纯的sparsity对于一些有物理意义的东西比较好解释,原创 2013-06-27 13:11:53 · 11037 阅读 · 6 评论 -
Mat, IplImage, CvMat, Cvarr关系及元素获取
因为之前查资料关于opencv几种坑爹类型CvMat, Mat, IplImage, Cvarr的详细讲解很多,但详细到多通道元素获取和涉及到类型转换的文章极少,还有更坑爹的一些误导文章,所以本文很简要地讲一下怎样获取这几种类型的元素,及其类型转换。原创 2014-01-11 21:51:49 · 15614 阅读 · 8 评论 -
CUDA(六). 从并行排序方法理解并行化思维——冒泡、归并、双调排序的GPU实现
在第五讲中我们学习了GPU三个重要的基础并行算法: Reduce, Scan 和 Histogram,分析了 其作用与串并行实现方法。 在第六讲中,本文以冒泡排序 Bubble Sort、归并排序 Merge Sort 和排序网络中的双调排序 Bitonic Sort 为例, 讲解如何从数据结构课上学的串行并行排序方法转换到并行排序,并附GPU实现代码。 在并行方法中,我们将考虑到并行方法需要注意原创 2015-09-14 19:09:22 · 49062 阅读 · 17 评论 -
CUDA系列学习(五)GPU基础算法: Reduce, Scan, Histogram
喵~不知不觉到了CUDA系列学习第五讲,前几讲中我们主要介绍了基础GPU中的软硬件结构,内存管理,task类型等;这一讲中我们将介绍3个基础的GPU算法:reduce,scan,histogram,它们在并行算法中非常常用,我们在本文中分别就其功能用处,串行与并行实现进行阐述。 1. Task complexitytask complexity包括step complexity(可以并行成几个操作原创 2015-06-25 11:19:39 · 45870 阅读 · 33 评论 -
堆内存和栈内存详解
堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。转载 2014-10-04 17:50:01 · 42301 阅读 · 9 评论 -
CUDA系列学习(四)Parallel Task类型 与 Memory Allocation
本文为CUDA系列学习第四讲,首先介绍了Parallel communication patterns的几种形式(map, gather, scatter, stencil, transpose), 然后复习了cuda memory model并从high level上分析怎样写出高效代码,最后学习了流程控制(control flow)以及其中一个重要部分——原子操作。参考资料:udacity cs344.原创 2015-02-03 11:43:00 · 11829 阅读 · 12 评论 -
CUDA系列学习(二)CUDA memory & variables - different memory and variable types
(一)、CPU Memory 结构CPU提速主要依靠局部性原理,即时间局部性和空间局部性。我们先看一下CPU的内存结构:Data Access先复习一下数据在这几级存储中的传输。作为数据transfer的基本单位,cache line的典型大小为8*8(8个变量,每个8bytes)=64bytes. 当一个cache想要load数据到寄存器时,检查cache中的line,如果hit了就get到数据原创 2015-01-11 23:04:23 · 17184 阅读 · 6 评论 -
有代价的单源最短路径
问题:有代价的单源最短路径,并要求存储路径。(求最短的路径,并使代价最小)特点:* 存储路径:决定了难以用dijkstra,可以用flody,用path[i][j]表示 i 想走到 j 迈出的第一步。假设k是 i->j 的中间节点,更新时候用path[i][j] = path[i][k],具体做法见link。但是flody比较耗时(O(N^3))* 有代价:如果想用flody的话,有要求代价最小,原创 2015-01-09 12:42:09 · 6450 阅读 · 0 评论 -
Image classification with deep learning常用模型
本文中,我会根据下大家image classification常用的cnn模型,针对cifar10(for 物体识别),mnist(for 字符识别)& ImageNet(for 物体识别)做一个model 总结。本文不讲coding(coding请见Convolution Neural Network (CNN) 原理与实现篇)本文不涉及公司内部资料,纯公开资料汇总好,本文就从数据集说起,对数据集不熟悉的小伙伴请先去了解下这3个数据集,下面我们针对每个数据集画出其通用模型。原创 2015-01-07 16:07:31 · 35039 阅读 · 47 评论 -
RNN-RBM for music composition 网络架构及程序解读
RNN(recurrent neural network)是神经网络的一种,主要用于时序数据的分析,预测,分类等。RNN的general介绍请见下一篇文章《Deep learning From Image to Sequence》。本文针对对deep learning有一点基础(神经网络基本training原理,RBM结构及原理,简单时序模型)的小伙伴讲一下Bengio一个工作(RNNRBM)的原理和实现。本文重点内容:针对RNN(recurrent neural network)一个应用:musi原创 2014-10-04 20:11:35 · 21326 阅读 · 9 评论 -
给定字典做分词
最近需要用到分词,无聊写个算法。。。算法:给定一个字典和一句话,做分词;Target:输入词典,输出所有可能的分词结果思路:dfs加速:首先判断是不是这句话里所有的词在字典中都有(validate)//// Wordsplit.cpp// // Target: Find all possible splitting of a sentence given a dictionary di原创 2014-08-16 23:47:26 · 7450 阅读 · 3 评论 -
GMM-HMM语音识别模型 原理篇
本文简明讲述GMM-HMM在语音识别上的原理,建模和测试过程。这篇blog只回答三个问题:1. 什么是Hidden Markov Model?2. GMM是神马?怎样用GMM求某一音素(phoneme)的概率?3. 用GMM+HMM大法解决语音识别原创 2014-05-28 20:52:33 · 108308 阅读 · 45 评论 -
最短路径数 Dijkstra+dfs
寻找最短路径数标准dijkstra和spfa解法见 《畅通工程续——Dijkstra模板》本篇多一项要求,求同样cost的最短路径数目。我们用dfs深搜,见代码注释。原创 2014-02-18 15:01:10 · 7535 阅读 · 0 评论 -
计算二进制数中1的个数
本文提供了三种方法,分别计算一个数的二进制表示中1的个数。方法和解释分别见Count1, Count2, Count3函数。只有Count1不能满足负数要求(会死循环进去),其他两个都可以操作32b以内正负数。Count1:每次将x末位与1相与,看最后以为是否为1, 然后将x右移Count2:将变量y从1开始与x相与,然后每次将y左移,和上个方法类似Count3:每次将x&=(原创 2012-05-22 10:25:50 · 6341 阅读 · 0 评论 -
The Most Important Algorithms (in CS and Math)
本文是Christoph Koutschan列出来的32类计算机与数学领域最为重要的算法(按字符顺序排列)。覆盖的面很广,评价很精准。链接中加入了自己总结过的文章(或者用到该算法的例子),后面有时间将根据重点算法继续补充。原文转载from:http://www.risc.jku.at/people/ckoutsch/stuff/e_algorithms.html1. A* search algor转载 2012-11-15 16:45:24 · 11809 阅读 · 8 评论 -
Dijkstra最短路径模板2
Dijkstra最短路径模板1见http://blog.csdn.net/abcjennifer/article/details/7243297畅通工程续Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9321原创 2012-02-23 14:01:12 · 5706 阅读 · 1 评论 -
PAT 解题报告
PAT 1070Mooncake (25)时间限制100 ms内存限制32000 kB代码长度限制16000 B判题程序Standard作者CHEN, YueMooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types of fillings and crust原创 2014-02-20 12:57:02 · 18624 阅读 · 2 评论 -
寻找前K大数
寻找前K大数,虽然这个问题已经被做烂了,但是无意中看到之前A题时候的一个代码,还是忍不住改了改想提高下效率,从O(NlogN)降到O(KlogN)。当时用的是很简单的冒泡和sort,恩,也就是对数组全部元素排序,复杂度O(NlogN), 但是当K很小时,比如题目中K<=10的情况无疑浪费了。因此用quicksort的思路,每次将数组partition成两部分,一边<key,一边>key。然后迭代地找前k大数。原创 2014-02-15 17:22:33 · 11774 阅读 · 13 评论 -
R语言 基本数据分析
本文基于R语言进行基本数据统计分析,包括基本作图,线性拟合,逻辑回归,bootstrap采样和Anova方差分析的实现。不多说,直接上代码,代码中有注释。1. 基本作图(盒图,qq图)#basic plotboxplot(x)qqplot(x,y)2. 线性拟合#linear regressionn = 10x1 = rnorm(n)#variable 1x2 = rnorm(n)#varia原创 2014-02-08 23:52:14 · 43837 阅读 · 4 评论 -
hdu 1872 稳定排序
/************************************************************************//* 稳定排序Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2282 Acc原创 2012-02-23 14:03:24 · 5696 阅读 · 1 评论 -
hdu 3794 浙大计算机研究生保研复试上机考试-2011年
Magic CouponTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 570 Accepted Submission(s): 130Problem DescriptionThe magic shop原创 2012-02-22 15:10:26 · 4864 阅读 · 1 评论