语言技巧
文章平均质量分 54
吹石柳生
这个作者很懒,什么都没留下…
展开
-
动态规划之最长上升子序列 O(N log N)版
其实上面的方法的复杂度都达到了O(n^2)的数量级,有没有更好的解法呢?有,用栈。这个解法不是我想的,从网上学来的,这里面与大家分享一下。这个算法的复杂度只有O(nlogn),在有大量数据的情况下,这算法效率极高。。。(摘录原作者的话)这个算法其实已经不是DP了,有点像贪心。至于复杂度降低其实是因为这个算法里面用到了二分搜索。本来有N个数要处理是O(n),每次计算要查找N次还是O(原创 2014-07-20 21:07:09 · 1215 阅读 · 0 评论 -
01背包的c语言实现
01背包算是动态规划的入门项目了,网上的各种解释原创 2014-10-23 21:19:34 · 3933 阅读 · 0 评论 -
数据结构基础:链表
这两天上学校的课,在讲链表,原创 2014-10-12 01:33:07 · 450 阅读 · 0 评论 -
c++浮点数的处理
c++浮点数的处理#include #include #include using namespace std;int main(){ bitset a(100); cout << a << endl; double t = 15.9375;//double占8个字节.&t则是指向double型的指针(指向8个字节的第一个字节) char* l原创 2015-03-09 00:16:16 · 1141 阅读 · 0 评论 -
如何确定字符串行数
今天碰到了一个问题:已知一个字符串的长度,以及每行所能容纳的字符数,如何确定需要几行来显示?按照一般的做法,几行代码也就做出来了。但今天突发奇想,能不能写得漂亮一些呢?#include #include using namespace std;int ans;int str_n,n;int Add(int a,int b){return (b) ? Add(a^b,(a&b)<<1原创 2015-04-28 01:44:26 · 1516 阅读 · 0 评论 -
列举本机进程并杀掉他们
#include <windows.h>#include <tlhelp32.h>#include <string.h>#include <stdio.h>using namespace std;int KillProcess(DWORD Pid){ HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, Pid);//打开原创 2015-09-08 18:05:54 · 290 阅读 · 0 评论 -
文件操作编程之复制移动删除
文件操作编程之复制移动删除上一篇文章介绍了文件操作编程中的读写操作。除了读写操作之外,还可以进行复制、删除、以及移动等操作,下面来介绍相关的函数:CopyFile函数BOOL CopyFile( LPCTSTR lpExistingFileName,//要进行复制的文件名 LPCTSTR lpNewFileName,//复制到目标位置的新文件名及其路径 BOOL bFailI原创 2015-09-08 01:44:10 · 471 阅读 · 0 评论 -
文件操作编程之文件读写
文件读写微软提供了强大的文件读写(文件I/O)操作的编程接口,我们可以通过调用API函数的方式来实现文件的读写。一般情况下,文件的读写过程如图所示:Created with Raphaël 2.1.0调用CreateFile函数打开或创建文件,返回文件句柄利用文件句柄调用WriteFile或者ReadFile函数写入或读取文件调用closeHandle函数关闭文件句柄CreateFile函数该函数的原创 2015-09-08 01:28:25 · 682 阅读 · 0 评论 -
使用Python操控MySQL数据库
使用Python操控MySQL数据库1.MySQLdb的简单示例import MySQLdbtry: conn=MySQLdb.connect(host='localhost',user='root',passwd='xxx',db='xxx',port=3306) cur=conn.cursor() cur.execute('select * from user')原创 2015-09-05 01:26:25 · 534 阅读 · 0 评论 -
Military Phonetic Alphabet
Military Phonetic AlphabetletterNOTOMorse CodeAAlfa▪ -BBravo- ▪ ▪ ▪CCharlie- ▪ - ▪DDelta- ▪ ▪EEcho▪FFoxTrot▪ ▪ - ▪G原创 2015-09-05 18:34:13 · 514 阅读 · 0 评论 -
程序员面试经典题--归并排序
归并排序是一个只会出现在面试中的神奇存在。该算法的时间复杂度无论是在最好情况下还是在最坏的情况下,都是O(n log 2n ),空间复杂度为O(n),是一种稳定的排序方法,其性能在待排序的记录较多时能得到充分的发挥。原创 2015-11-12 20:44:29 · 454 阅读 · 0 评论 -
求a,b两个数中较大的数
#include <iostream>#include <cmath>using namespace std;int compare0(int a, int b){ return a = (a>b)?a:b;}int compare1(int a, int b){ return ((a+b) + abs(a-b))/2;}int main(){ int a,b;原创 2015-11-14 16:43:41 · 1609 阅读 · 0 评论 -
路径搜索问题
这个是学校的课设题目,单纯的套一下模板就可以出来的,我为了偷懒上了Floyd,有需要的同学请自取。#include <stdio.h>#include <string>#include <iostream>#define MAX_VERTEX_NUM 100#define INF 1<<16using namespace std;typedef struct{ char V[MAX原创 2015-11-14 16:46:40 · 307 阅读 · 0 评论 -
简易员工信息系统
还是学校的课设题目,说白了就是借系统的名复习一下数据结构,有用的话请自取。#include <iostream>#include <stdio.h>#include <set>#include <string>#include <sstream>using namespace std;struct Date{ int year; int month; int day原创 2015-11-14 16:49:25 · 485 阅读 · 0 评论 -
Java之OOP基础
以前一直想一探Java的究竟来着,原创 2014-09-21 11:33:56 · 491 阅读 · 0 评论 -
约瑟夫环问题
有这样一个故事:据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Jo原创 2014-08-05 15:46:36 · 455 阅读 · 0 评论 -
Catalan数
Catalan数的定义: 设表示用下面的方法把凸多边形区域分成三角形区域的方法数:在有n+1条边的凸多边形区域内通过插入在其中不相交的对角线而把它分成三角形区域。定义。则满足递推关系 这个递推关系的解是:,这里的叫做Catalan数。 那么上面的递推式的正确性我们可以简单描述一下即可:证明:这里因为表示按照上原创 2014-08-06 09:15:08 · 690 阅读 · 0 评论 -
动态规划之最长非降(升)子序列
问题描述:在一个无序的序列a1,a2,.....,am里,找到一个最长的序列,满足ai问题分析:如果前i-1个数中的最长非降子序列的最后一个数是ak;那么下一步就是在求前k-1个数中的的最长非降子序列;因此我们可以设计一个状态opt[j]表示前i个数中用到a[i]所构成的最优解。那么决策就是在前i-1个数中找到最大的opt[j] 使得a[j]方程可以这样表示:原创 2014-07-20 16:01:38 · 732 阅读 · 0 评论 -
动态规划基础
动态规划基础一.动态规划三要素:阶段、状态、决策。他们的概念到处都是,我就不多说了。用图论的知识解释动态规划的话,就是把动态规划中的每一个状态抽象成一个点,在有直接关联的状态间连一条有向边,状态转移的代价就是边上的权。这样就形成了一个有向无环图AOE网。对这个图进行拓扑排序,删除一个边后同时出现入度为0的状态在同一阶段。这样对图求最优路径就是动态规划问题的求解。二.动态规划的适用范围原创 2014-07-21 01:08:46 · 630 阅读 · 0 评论 -
sort函数的使用
#include #include #include using namespace std;typedef struct index{ int a; int b;}index;bool cmp(index a , index b){ if (a.a > b.a ) { return true; } else if ( a.a == b.a ) {转载 2014-07-20 00:46:50 · 614 阅读 · 0 评论 -
欧几里得算法
int ITERATIVE-GCD(int a, int b) //迭代版本{ int r = a % b; while (r) { a = b; b = r; r = a % b; } return b;} int RECURSIVE-GCD(int a, int b) //递归版本{ if原创 2014-07-24 20:57:07 · 389 阅读 · 0 评论 -
扩展欧几里得
ax + by = gcd(a,b) 满足贝祖定理原创 2014-07-24 21:44:54 · 495 阅读 · 0 评论 -
AC自动机浅析
AC自动机,这么吉利的名字,咱得好好研究研究。转载 2014-07-24 22:14:48 · 523 阅读 · 0 评论 -
探索KMP算法
记得第一次接触KMP算法的时候是在初中,那个时候搞NI转载 2014-07-24 14:45:51 · 551 阅读 · 0 评论 -
C++ 容器及选用总结
目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法第六章 函数第七章 在程序中使用STL====================================================第1章 容器第1条转载 2014-07-25 23:05:41 · 318 阅读 · 0 评论 -
最小生成树之kruscal算法
这几天留校疯狂学习,想起来了好多已经忘干净的算法,原创 2014-07-28 16:18:08 · 728 阅读 · 0 评论 -
最长公共子序列(LCS)
我们用三个数组来完成这个算法:(1)啊【原创 2014-07-29 14:48:52 · 449 阅读 · 0 评论 -
MR素性检测算法
素数是除了自身和1以外,没有其它素数因子的自然数。自从欧几里得证明了有无穷个素数以后,人们就企图寻找一个可以构造所有素数的公式,寻找判定一个自然数是不是素数的方法。因为素数的地位非常重要。原创 2014-07-29 16:46:42 · 3559 阅读 · 2 评论 -
莫比乌斯反演
原文题目:http://acm.uestc.edu.cn/#/problem/show/811 题意:给定两个正整数和,其中,,求的值,其中。 分析:本题是典型的莫比乌斯反演问题。那么,怎么反演呢? 首先,我们枚举的所有值,根据以前学的莫比乌斯反演,可以很容易得到 ,其中 我们设 ,那么得到,反演后得到转载 2014-08-05 15:03:57 · 370 阅读 · 0 评论 -
范德蒙恒等式的证明
今天我们来认识组合数学中一个重要的恒等式---范德蒙恒等式。这个恒等式的表述如下 很自然的公式,接下来一起来看看它的证明,在维基百科上给出了两种方法证明,分别如下 (1)组合方法证明 甲班有个同学,乙班有个同学,从两个班中选出个一共有种不同的选法。而换一种思维方式 从甲班中选取个同学,从乙班中选取个同学,共有种方法,而转载 2014-08-06 10:39:47 · 1220 阅读 · 0 评论 -
关于JQuery Moblie多选表单提交时PHP接收的处理方法
这两天在帮一个初创公司做一个公司的展示页面,其中需要设计一个人员的招聘信息表单。由于JQuery Moblie这货在表单提交的时候默认使用了Ajax,所以在PHP后台每次都只能接收到多选表单选择的最后一项数据。所以说解决方法是什么呢?当然是禁止Ajax啊,可以在from标签中添加data-ajax=”false” 标签即可。<form name="myForm[]" method="post" ac原创 2016-01-09 23:30:53 · 1021 阅读 · 0 评论