- 博客(32)
- 资源 (14)
- 收藏
- 关注
原创 求解最大公约数——欧几里得算法及其(解同余方程)拓展欧几里得
求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。最大公约数的求法中最过著名的莫过于欧几里得辗展相除法,它有两种形式(递归与非递归,其实是一样的,任何递归都可以写成非递归)
2014-10-31 14:02:57 3070
原创 N!(N的阶乘)最末位非0的求解方法
关于N!的最后一位非0位, 如3!=6,最后一位非0位为6, 5!=120, 最后一位非0位为2.怎么样快速的求出最后一位非0位呢?
2014-10-31 13:53:55 5232
原创 合并类动态规划,石子归并,合并石子解题报告
设有N堆沙子排成一排,其编号为1,2,3,…,N(N<=100)。每堆沙子有一定的数量。现要将N堆沙子并成为一堆。归并的过程只能每次将相邻的两堆沙子堆成一堆,这样经过N-1次归并后成为一堆。找出一种合理的归并方法,使总的代价最小。
2014-10-30 19:47:36 10488
原创 c语言scanf()停止接受输入及scanf("%c",&c)吃掉回车或者空格字符的问题
scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。 ① 遇空格、“回车”、“跳格”键。 ② 遇宽度结束。 ③ 遇非法输入。问题二:scanf()函数不能正确接受有空格的字符串?如: I love you!#include
2014-10-28 21:38:43 24186
原创 线性动态规划——解最长公共子序列问题
动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加(分治思想,递归方法。往往会由于数据大导致递归层次过多而超时或爆栈,即使采用记忆化等优化策略,仍然可能解决不了问题)。
2014-10-28 17:41:45 1206
原创 浏览器正确理解和使用GBK及UTF-8(UTF-8 + BOM)网页编码
如何让浏览器正确识别网页编码?一般在网页中都要有如下一句:<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,指示此网页的字符集编码是GB2312。(或者UTF-8) 页面有时候指定了编码为什么有时会出现乱码?这可能是页面申明编码与文件本身编码不一致,更多时候是以错误编码打开页面然后保存导致的,或者是用某些FTP软件直接在线修改文件,比如CuteFTP,由于软件编码配置错误而导致转换错了编码。这时候使用window的记事
2014-10-26 20:23:11 3836
原创 PHP代码为什么不能直接保存HTML文件——>PHP生成静态页面教程
1、服务器会根据文件的后缀名去进行解析,如果是HTML文件则服务器不会进行语法解析,而是直接输出到浏览器。2、如果一个页面中全部都是HTML代码而没有需要解析的PHP语法,则没有必要保存为PHP文件,这样反而会降低运行效率。3、如果是需要PHP控制HTML代码的输出,比如需要PHP判断用户是否登陆,如果登陆则输出A,未登录则输出B。这就需要PHP来进行控制了。HTML不能实现这样的功能
2014-10-25 22:20:05 6267
原创 热爱编程,热爱生活,快速适应IT新技术
现在新技术层出不穷,我们没有那么多时间去深入学习每一门。对于大多数技术,我们只需要搞懂概念部分,从宏观上了解一下,决定我们要不要深入地去学习它。有了这些了解,就能轻松地与别人聊天了,也可以为以后技术选型做一些储备。AD:WOT2014:用户标签系统与用户数据化运营培训专场51CTO主办WOT全球软件技术峰会直减百元优惠活动 抢票进行中!前几天
2014-10-25 21:27:07 1715
转载 程序员感叹
做IT这行,重要的还是兴趣与学习,好好学习,天天向上,不设终点。做了将近4年程序员,我觉得我越来越爱这个行业了,因为我对它的喜爱,我可以加班到深夜,因为我对它的喜爱,我可以改变我自己多了阅读的爱好。感谢...... 最近公司业务的发展,需要招聘多个有资质的程序员,也面试了许多的应聘者:实习的、应届生、1年、2年、多年工作经验的,他们都让我深受启发。面试是一个相互的过程,你去选择别人,
2014-10-25 21:23:43 955 1
转载 网络抓包及Http Https通信协议分析
Wireshark基本介绍和学习TCP三次握手之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS。 这篇文章介绍另一个好用的抓包工具wireshark, 用来获取网络数据封包,包括http,TCP,UDP,等网络协议包。记得大学的时候就学习过TCP的三次握手协议,那时候只是知道,虽然在书上看过很多TCP和UDP的资料,但是从来没有真正见过这些数据包, 老是感觉在云上飘
2014-10-24 13:38:19 14948
转载 构架高性能WEB网站的几点知识
HTML静态化什么是html静态化?说得简单点,就是把所有不是.htm或者.html的页面改为.htm或者.html1.纯静态页面当用户访问是,不需要经过服务器解析,直接就可以传送到客户端,此类型的页面,由于不需要解析就能直接访问,一般情况下,比动态页面的执行速度快。2.静态化页面静态化就是用动静结合的方式将动态网站生成静态网站来保存。这是实实在在的html文件,也
2014-10-22 09:49:00 836
原创 ThinkPHP快速实现数据分页(前端/后端分离)
数据 分页 可能是web 编程里最常用到的功能之一。thinkphp 实现分页功能十分简洁。只需要定义 几个参数 就能搞定。当然,扩展也是十分方便的。让我们现在就开始thinkphp的分页实现吧。1:首先,我们得创建一个用于分页测试的数据库 test。sql代码 如下。复制PHP 内容到剪贴板PHP代码:CREATE TABLE `test` ( `id` int(10
2014-10-22 09:32:18 5620
转载 Curl 及 Curl的使用介绍
Curl是Linux下一个很强大的http命令行工具,其功能十分强大。1) 二话不说,先从这里开始吧!$ curl http://www.linuxidc.com回车之后,www.linuxidc.com 的html就稀里哗啦地显示在屏幕上了 ~2) 嗯,要想把读过来页面存下来,是不是要这样呢?$ curl http://www.linuxidc.co
2014-10-21 17:28:05 6149
转载 Git版本管理工具对比(GitBash、EGit、SourceTree)
Git管理工具对比(GitBash、EGit、SourceTree)GitBash是采用命令行的方式对版本进行管理,功能最为灵活强大,但是由于需要手动输入希望修改的文件名,所以相对繁琐。EGit是Eclipse的Git插件,最为纠结的一个软件,因为开发时直操作很方便,尤其是有svn开发情节的人更热衷于这样,不过EGit中有很多bug和不人性化的东西,让人吐血,所以一句话EG
2014-10-21 16:31:54 1738
转载 Windows下修改Git bash的HOME路径
Windows中使用http://git-scm.com/安装Git bash工具,默认的HOME和~路径一般都是C:\Users\用户名,每次得用命令切换到常用的Repository下,此操作重复而没有意义。更重要的是,若使用SSH连接GitHub,其配置文件比如rsa也保存在C盘中,不利于备份。因此,本文的目的是修改Git bash默认的Home路径。打开Git安装位置\etc\p
2014-10-19 21:02:09 2486 1
原创 在windows安装配置Git开发环境
开始配置Git的开发环境。首先从google code下载最新的windows的git安装包msysgit,当时我下载的是Git-1.7.4-preview20110204.exe,然后就开始安装了,开始上图:安装Msysgit下一步同意GNU协议选择安装位置,下一步选择TrueType Front,下一步
2014-10-19 20:31:50 1138
转载 Git 初学者使用指南及Git 资源整理
在介绍安装和简单使用前,先看一下百度百科中的简介吧:———————————————————————————————————————— Git --- The stupid content tracker, 傻瓜内容跟踪器。 Linux 是这样给我们介绍 Git 的: Git 是用于Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS,
2014-10-19 19:28:51 2296
转载 现代魔法学院——闲聊哈希表及哈希表的链地址法实现
经典数据结构教科书中,“表”是数据结构的一个大家族。其中,有顺序表(数组)、单向链表、双向链表、循环链表等等。我们今天聊的不是这些,而是“表”中的异类——哈希表(Hash Table)。为啥需要哈希表为什么会有哈希表这种数据结构呢?让我们用一个通俗的例子来理解:大家一定都查过字典吧,我们知道,《新华字典》是按照读音排序的,可以理解为一个以读音为key,按升序排列的数据库。对
2014-10-17 14:29:13 1874
原创 哈希表(散列表)—Hash表解决地址冲突 C语言实现
哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。具体的介绍网上有很详细的描述,如闲聊哈希表 ,这里就不再累述了;哈希表在像Java、C#等语言中是与生俱来的。可是在C的世界中,似乎只有自己动手,丰衣足食;在网上google了一把,大致有几个版本,我会一一来分析
2014-10-17 14:13:43 5776
转载 Hash表及hash算法的分析
Hash表中的一些原理/概念,及根据这些原理/概念:一. Hash表概念二. Hash构造函数的方法,及适用范围三. Hash处理冲突方法,各自特征四. Hash查找过程五. 实现一个使用Hash存数据的场景-------Hash查找算法,插入算法六. JDK中HashMap的实
2014-10-17 12:57:27 1044
转载 PHP+MySQL中字符集问题分析
Character set顾名思义,就是字符、以及字符对应的编码的集合。例如简体中文字符集gb2312就包括简体中文中的所有规定汉字,以及每个汉字对应的代码。Collation,是指比较字符的规则的集合。有了比较规则,才能够将一组数据排序——例如按照英文字母顺序排序、汉字按照拼音顺序排序等等。显然,针对同样一组字符集可以有不同的排序标准、规则。例如汉字可以按照拼音排序,也可以按照笔画多少排
2014-10-13 22:50:49 762
转载 Apache URLRewrite 原理及配置实现
看一下网站上的一些 URL。您是否发现一些类似于 http://yoursite.com/info/dispEmployeeInfo. ... 99&type=summary 的 URL?或者,您可能将一系列网页从一个目录或网站移动到另一个目录或网站,结果导致已将旧 URL 用作书签的访问者断开链接。在本文中,我们将了解如何通过将 http://yoursite.com/info/dispEm
2014-10-13 22:39:43 4264
原创 Centos 右上角面板里没有wired network图标的问题
开了很多的网页查看解决这个问题,都不是很有效,最后很简单的改了下一个文件就ok了,自己记录下,以免忘记!打入命令:sudo gedit /etc/NetworkManager/nm-system-settings.conf(Ubuntu下)出现文件内容: # This file is installed into /etc/NetworkManager, and i
2014-10-13 14:58:11 14448 2
原创 连续最大和,数字类区间问题
例题:1.N个数排成一排,你可以任意选择连续的若干个数,算出它们的和。问该如何选择才能使得和的绝对值最小。如:N=8时,8个数如下:-20 90 -30 -20 80 -70 -60 125如果我们选择1到4这4个数,和为20,还可以选择6到8这3个数,和为-5,|-5|=5,该方案获得的和的绝对值最小。输入格式:
2014-10-09 17:00:05 1816
原创 NOIP 解题有感
算法方面:在搜索问题上,包括贪心等没有固定算法的题目,还有输出格式(包括输入格式)特别容易出错。这也是自己以前的弱点。1.做搜索题把步骤先用文字写下来,再转换成代码,以避免敲代码时疏漏某个条件。2.贪心先把思路想全面在动键盘。3.平时注意总结输入输出的问题。比如对于多组数据while(scanf()!=EOF)可以判断是否
2014-10-09 16:46:16 819
转载 哈希排序
第一部分:Top K 算法详解问题描述百度面试题: 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1
2014-10-06 22:29:20 8360
转载 设置网页地址栏中的小图标
网页中如何设置在网页地址栏中的小图标:下面我们就讲讲: 这两个代码的作用。在浏览器地址栏有csdn有一个"圆圈"图标 如何在自己的jsp网页之中设置?通常做法是:要预先制作一个图标文件,大小为16*16像素。文件扩展名为ico,然后上传到相应目录中。在源文件“”之间添加如下代码:收藏夹:favicon.i
2014-10-04 13:30:07 3451
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人