自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tham 在思索中前行!

因为他已经明白,不经过一番苦工是做不成的,而只有想做的人,才忍得过这番痛苦。

  • 博客(124)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

转载 程序员技术练级攻略(技术升级之路)

月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他的一些学习Python和Web编程的一些点滴总结一下。于是他给我发来了一些他的心得和经历

2014-12-08 21:02:38 1670 1

原创 挑战程序设计竞赛 — 知识总结

准备篇1.5 运行时间概述编写的目的是面向ACM程序设计竞赛,不可避免的要涉及复杂度和运行时间的问题,本节给出了解决问题算法选择的依据。假设题目描述中给出的限制条件为n<=1000,针对O(n2)的算法将会执行大于106次。如果时间限制是1s,则有下述结论:上述结论表明,针对O(n2)的算法,n<=1000可以在时限内解决,但是如果n<=10000,则超时的可能性非常大,这就启示...

2018-07-08 17:04:47 3861

转载 NOIP2017 国庆郑州集训知识梳理汇总

第一天  基础算法及数学基本算法递推、递归、分治 二分、倍增 贪心递推指通过观察、归纳,发现较大规模问题和较小规模问题之间的关系,用一些数学公式表达出来在一些题解中,和“计数DP”是指同一个概念看例题例 1用 1 * 2 的骨牌,覆盖 2 * n 的棋盘的方案数?解:很经典的Fibonacci 数 O(n) 求

2017-10-09 09:08:55 1413

原创 从平面上最近的点对,谈谈分治算法

首先介绍一下分治(Divide-and-Conquer )算法:设计过程分为三个阶段–Divide: 整个问题划分为多个子问题–Conquer:求解各子问题(递归调用正设计的算法)–Combine:合并子问题的解, 形成原始问题的解如下图:举例说明题目大意给你n个点,求出其中点与点之间的最短距离。 算法

2017-09-04 16:20:54 2061

原创 莫队算法讲解

问题:有n个数组成一个序列,有m个形如询问L, R的询问,每次询问需要回答区间内至少出现2次的数有哪些。  朴素的解法需要读取O(nm)次数。如果数据范围小,可以用数组,时间复杂度为O(nm)。如果使用STL的Map来保存出现的次数,则需要O(nmlogn)的复杂度。有没有更快的方法呢?  注意到询问并没有强制在线,因此我们可以使用离线方法。注意到一点,如果我们有计算完[L, R]

2017-08-19 22:53:20 860

转载 随机算法 —— 模拟退火

模拟退火例题:CodeVS: P1344 有 N ( P2 -> P3 -> ... -> PN 找出 |P1P2|+|P2P3|+...+|PN-1PN| 长度的最小值)这种问题被称为最优组合问题。传统的动态规划算法O(n22n)在n = 20的情况下空间、时间、精度都不能满足了。这时应该使用比较另类的算法。随机化算法在n比较小的最优化问题表现较好,我们尝试使用随机化算

2017-08-19 22:41:26 1258

原创 OI (信息 ) 竞赛中的对拍程序,造数据,对拍利器

作为一名OIer,比赛时,对拍是必须的 不对拍,有时可以悔恨终身首先,对拍的程序 一个是要交的程序 另一个可以是暴力、搜索等,可以比较慢,但是必须正确下面是C++版对拍程序(C++ & cmd) 注意:所有程序不用加文件输入输出#include#include#includeint main(){ long s,t; while(1){

2017-08-19 15:11:20 4787 2

原创 Codechef GRAPHCNT 支配树学习及tarjan算法求解

[Codechef GRAPHCNT]新年的有向图【题目描述】zlx同学在学习数论时,被虐了一脸,丧心病狂的他决定去报复社会。zlx在公园里埋下N颗地雷,用来炸飞在春节期间秀恩爱的情侣。这N颗地雷由M条有向边连接成为一个有向图,zlx则在1号地雷处引爆1号地雷可以到达的地雷。现在,为了更好的实施这个计划,zlx需要知道存在多少对地雷(x,y),使得存在一条1到x和一

2017-07-29 09:17:55 687

原创 Emacs指北(做一个搬运工好累)

从一个简单的emacs入门教程说起:一个不知道怎么描述的emacs教程一个简单的介绍emacs[/ˈiːmæks/]是地球上的编辑器中最像操作系统,操作系统中最像编辑器的编辑器,按照elisp intro的说法,emacs 是一个可拓展计算环境(extensible computing environment),这一点,如果 学过elisp,可以深刻的体会到。

2017-07-18 17:13:17 1677

原创 firefox浏览器无法打开百度,但是能ping通百度的域名

机房Ubuntu14.04,突然发现firefox打不开百度了,但却能打开其他网站。猜想1:首先想到的是不是我的网络有问题实验1:ping www.baidu.comxs@PC:~$ ping www.baidu.com正常返回数据,且延时很小。由于浏览器能够访问bing,于是我又ping  www.bing.comxs@PC:~$ ping  www.bi

2017-07-09 21:45:33 4987

原创 二分图及其匹配算法——最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配

§1图论点、边集和二分图的相关概念和性质§2二分图最大匹配求解匈牙利算法、Hopcroft-Karp算法§3二分图最小覆盖集和最大独立集的构造§4二分图最小路径覆盖求解§5二分图带权最优匹配求解Kuhn-Munkers算法§6小结每章节都详细地讲解了问题介绍,算法原理和分析,算法流程,算法实现四部分内容,力求彻底解决问题。 

2017-06-05 22:41:47 5435 2

转载 学习一项技能要花多少时间?

转载自: Rei(Ruby-China 创始人)   http://chloerei.com/2013/12/12/how-long-does-it-take-to-learn-a-skill/前不久,一个技术 party 上有人问我:“我学习 Rails 已经2个月了,但还是对整个开发流程缺乏清晰的了解,我应该怎么学呢?”这不是个别现象,在 ruby-china.org 上也经常有人发帖,说

2017-05-21 14:02:04 1699 1

原创 无向图的割点、桥与双连通分量

概念对于无向图G,删除顶点v 和其相连的边后G所包含的连通分量增多,则称v为关节点 (articulation point) 或割点 (cut point)。同理,删除边e 和其相连的顶点后图包含的连通分量增多,则e 是割边 (cut edge) 或桥 (bridge)。割点形式化的定义:A 是割点当且仅当存在两个点u,v 使得u 到v 的每条路径都会经过A (去掉A 后,

2017-05-16 21:15:46 1391

原创 hihocoder#1369 : 网络流算法的一些小结

一道最大流模板水题,借这道题来学习一下最大流的几个算法。分别用Edmond-Karp,Dinic ,SAP来实现最大流算法。从运行结过来看明显SAP+当前弧优化+gap优化速度最快。 hihocoder #1369 : 网络流一·Ford-Fulkerson算法原题网址:http://hihocoder.com/problemset/problem/13

2017-04-11 20:47:19 749

原创 树链剖分 — 轻重边路径剖分

“在一棵树上进行路径的修改、求极值、求和”乍一看只要线段树就能轻松解决,实际上,仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——树链剖分。树链,就是树上的路径。剖分,就是把路径分类为重链和轻链。    记siz[v]表示以v为根的子树的节点数,dep[v]表示v的深度(根深度为1),top[v]表示v所在的重链的顶端节点,fa[v]表示v的父亲,son[v]表示与v

2017-04-01 16:58:41 2173

原创 分治、CDQ分治小结

分治、CDQ分治小结 A Summary for Divide and Conquer0. Anouncement本文部分图片以及部分内容来自互联网,内容过多就不一一注明出处了,冒犯之处还请海涵。 Some of the pictures and the content of the text come from the Internet. Due to plenty of

2017-03-30 22:24:06 7919

原创 Segment Tree 线段树小结

线段树小结 A Summary for Segment Tree0. Anouncement本文部分图片以及部分内容来自互联网,内容过多就不一一注明出处了,冒犯之处还请海涵。 Some of the pictures and the content of the text come from the Internet. Due to plenty of the conten

2017-03-30 22:06:51 749

原创 多项式, FTT, NTT小结

FFT、NTT小结https://www.zybuluo.com/TaoSama/note/171617

2017-03-30 22:05:04 918

原创 transform函数转换字符串string的大小写

首先看一下transform函数的用户手册:template OutputIterator transform ( InputIterator first1, InputIterator last1, OutputIterator result, UnaryOperator op );template < class Input

2016-04-20 15:45:24 2621

原创 Hiho 数论一·Miller-Rabin质数测试,大素数判断

题目1 : 数论一·Miller-Rabin质数测试时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho最近突然对密码学产生了兴趣,其中有个叫RSA的公钥密码算法。RSA算法的计算过程中,需要找一些很大的质数。小Ho:要如何来找出足够大的质数呢?小Hi:我倒是有一个想法,我们可以

2016-04-18 21:37:06 2861

原创 二分图的最大匹配、完美匹配和匈牙利算法

这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙利算法(Hungarian Algorithm);不讲带权二分图的最佳匹配。二分图:简单来说,如果图中点可以被分为两组,并且使得所有边都跨越组的边界,则这就是一个二分图。准确地说:把一个图的顶点划分为

2016-04-18 11:58:26 2806

原创 带权最短路 Dijkstra, SPFA, Bellman-Ford, ASP, Floyd-Warshall 算法分析

图论中,用来求最短路的方法有很多,适用范围和时间复杂度也各不相同。本文主要介绍的算法的代码主要来源如下:Dijkstra: Algorithms(《算法概论》)Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani;《算法竞赛入门经典—训练指南》刘汝佳、陈峰。SPFA (Shortest Path Faster Algorit

2016-04-18 11:37:48 4352 1

原创 操作系统基础及多线程/进程同步

操作系统基础程序VS进程(Process)VS线程(Thread)程序是指令的集合,静态文本进程是程序在一个数据集上运行的过程,进行资源分配和调度的单元线程是进程中的实体,被系统独立调度和执行的基本单元,可共享资源进程间通信方法管道,信号量,消息队列,套接字管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间

2016-04-16 20:14:03 991

原创 数据库基础及常用SQL语句

SQL语句表结构studentsccoursetesachersidsid-tnamesnamecidcid-sagescorecname-ssex-tidtid

2016-04-16 20:11:29 955

原创 C++基础和STL,Effective C++笔记

C++基础staticstatic变量存储在静态数据区相对于function:在函数内,变量,内存只被分配一次,多次调用值相同相对于其他模块(.c文件):变量和函数,不能被模块外其他函数访问(private)相对于类:类中的static变量和函数属于整个类,而不是对象全局变量 VS 全局静态变量若程序由一个源文件构成时,全局变量与全局静态变量没有区别。若

2016-04-16 20:07:54 5466

原创 Linux 常用命令sed/awk/grep及正则表达式

linux命令sed和awksed主要功能sed,stream editor。是一个”非交互式“字符流编辑器。输入流通过程序并输出到标准输出端。sed主要用来自动编辑一个或者多个文件(替换,插入,删除,追加,更改)常见应用抽区域匹配正则表达式比较域增加,附加,替换执行过程sed一次处理一行或多行内容。处理时,把当前处理的行存储在临

2016-04-16 20:01:51 8238

原创 PHP框架认识初步

PHP框架比较CodeIgniterCodeigniter 相当轻量级,下载下来就能用, CI 的最大特点就是可扩展性很强 你可以通过不修改源码的方式 优雅的扩展几乎所有的东西。thinkphp官方文档比较全国产的yii英文好点的推荐yiiLaravelLaravel是PHP 5.3之后开发的新框架,充分使用了PHP 5.3之后的新特性,

2016-04-16 19:43:43 2522

原创 版本控制——Git 使用笔记,以及Windows搭建Git服务器

Git和Github的关系链接:http://www.zhihu.com/question/21907548/answer/95284202来源:知乎Git是一款免费、开源的分布式版本控制系统Github是用Git做版本控制的代码托管平台&lt;img src="https://pic3.zhimg.com/d88e52fc7942ef9a94cc

2016-04-16 19:30:20 3583

原创 单链表的基本操作(C语言实现)

//////////////////////////////////////////// //单链表的初始化,建立,插入,查找,删除。// //////////////////////////////////////////// #include #include typedef int ElemType; //////////////////////////////

2016-04-07 17:46:45 12440 5

原创 学习金字塔 & 沉浸式学习

附图:沉浸就是让人专注在当前的目标(由设计者营造)情境下感到愉悦和满足,而忘记真实世界的情境。心流理论的基础观点非常简单,但是非常有力地解释了人们废寝忘食地投入一件事情的状态。参见下图:

2016-04-07 11:02:59 909

原创 并查集(union)模板

并查集模板1(常用)int findset(int x)//查    {        if(x != father[x])            father[x]=findset(father[x]);//查的过程中进行路径压缩,有效加快并查集运算        return father[x];    }        int unio

2016-03-28 17:40:49 2394

原创 Centos(Linux)系统备份与还原

Centos系统备份与恢复教程tar:  特点  1、保留权限  2、适合备份整个目录  3、可以选择不同的压缩方式  4、如果选择不压缩还能实现增量备份,部份还原,参考man tardd  特点  1、对块进行操作,能备份整个硬盘(包括分区表、MBR,其他Linux不能很好支持的文件系统)  2、可以进行压缩(麻烦一点)  3、由于是备份整

2015-12-25 11:43:07 30327 5

原创 探究 Windows 下编译的栈空间 以及 DEV C++工具栈空间的调整(设置)

关于堆栈的一些认识:程序中变量的定义不是分配在堆上,就是在栈上。今天看了几篇讨论堆和栈的文章,里面讲到栈的默认大小可能是1m,也可能是2m,好奇之下试试。int main (int argc, char *argv[]){ int tmp[600000] = {0}; tmp[1000]=100; printf("%d",tmp[1000]);}大概就是2.

2015-12-15 17:41:44 8396 2

转载 在流程图中求支配点的一种快速算法+[CodeChef FEB14]Graph Challenge解题报告(求半支配点)

0.说明本文译自Tarjan的论文:https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf选取了其中的一部分,有删改,以原文为准。1.简介在学习全局流分析和程序优化时,如下图论问题自然地浮现出来。设G(V

2015-12-03 15:34:02 3406

原创 出栈序列统计—中学高级本

关于栈的应用拓展栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两·种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并输出由操作数序列1,2,…,n,经过一系列操作可能得到的输出序列总数。输入一个整数n(1输出

2015-10-28 17:28:45 1885

原创 最长回文子串解法详解

回文串,就是指正读和反读都一样的字符串,比如"level"或者"noon"等等。那么,如何求一个字符串的最长回文子串(Longest Palindromic Substring)?这里我们有多种解法。解法一:暴力法暴力解法就是直接枚举所有子串,对每个子串判断是否为回文,时间复杂度为O(n3)。这是最糟糕的方法,相信面试官问你这个问题,绝对不是想要这个答案。解

2015-09-24 21:20:03 2014

原创 动态规划—输出所有的最长公共子序列

上篇讲到使用动态规划可以在 θ(mn) 的时间里求出 LCS 的长度,本文将讨论如何输出最长公共子序列。*问题描述:给定两个序列,例如 X = “ABCBDAB”、Y = “BDCABA”,求它们的最长公共子序列的长度。*下面是求解时的动态规划表,可以看出 X 和 Y 的最长公共子序列的长度为4:输出一个最长公共子序列并不难(网上很多相关代码),难点在于输出所有的最

2015-09-24 21:12:24 3680

原创 动态规划—最长公共子序列问题

一、动态规划动态规划(Dynamic Programming)是一种设计的技巧,是解决多阶段决策过程最优化问题的通用方法。基本思想:将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解(这部分与分治法相似)。与分治法不同的是,适合于用动态规划求解的问题,经分解得到的子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被

2015-09-24 21:09:06 2000

转载 编程面试的10大算法概念汇总

嘿,第一次翻译文章,在ProgramCreek看到的,原文章名为Top 10 Algorithms for Coding Interview, 对于我这个明年即将直奔BAT(目前想法,以后不一定)但基础知识又差的小程序媛而言有点价值,就拿来翻译了下,并发表在伯乐在线。文章本身只是总结介绍简单概念,起个抛砖引玉的作用,具体深入了解需要自己慢慢学习,关键是文章中及末尾给出出了很多非常优秀的参考资料

2015-09-21 14:35:01 679

原创 Java编程思想重点笔记

Java编程思想,Java学习必读经典,不管是初学者还是大牛都值得一读,这里总结书中的重点知识,这些知识不仅经常出现在各大知名公司的笔试面试过程中,而且在大型项目开发中也是常用的知识,既有简单的概念理解题(比如is-a关系和has-a关系的区别),也有深入的涉及RTTI和JVM底层反编译知识。 1. Java中的多态性理解(注意与C++区分)Java中除了stati

2015-09-21 14:30:58 604

程序员跳槽宝典

高清,带书签的程序员跳槽大全。有一定参考价值

2014-12-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除