04 2012 档案

动态分配的标准写法(new, delete; malloc, free)
摘要:1、可能有的人涉及到动态分配只用到下面的这句:#include <iostream> using namespace std; int main(void) { int *p; p = new int(1); // 1 cout << *p << endl; int *q; q = (int *)malloc(sizeof(int)); *q = 1; cout << *q << endl; return 0; }漏洞百出,不想多说。(补充一句,上面用的是new的plain new用法)2、自己总结了一下动态分配的写法(当然还有其他写 阅读全文

posted @ 2012-04-30 12:15 jjtx 阅读(325) 评论(0) 推荐(0)

理解矩阵(三)
摘要:理解矩阵(一)理解矩阵(二) 这两篇文章发表于去年的4月。在第二部分结束的时候,我说:“矩阵不仅可以作为线性变换的描述,而且可以作为一组基的描述。而 作为变换的矩阵,不但可以把线性空间中的一个点给变换到另一个点去,而且也能够把线性空间中的一个坐标系(基)表换到另一个坐标系(基)去。而且,变换点 与变换坐标系,具有异曲同工的效果。线性代数里最有趣的奥妙,就蕴含在其中。理解了这些内容,线性代数里很多定理和规则会变得更加清晰、直觉。这个留在下一篇再写吧。因为有别的事情要做,下一篇可能要过几天再写了。 ”然而这一拖就是一年半。一年半以来,这两篇粗糙放肆的文章被到处转载,以至于在Google的搜索... 阅读全文

posted @ 2012-04-28 16:49 jjtx 阅读(183) 评论(0) 推荐(0)

理解矩阵(二)
摘要:接着理解矩阵。上一篇里说“矩阵是运动的描述”,到现在为止,好像大家都还没什么意见。但是我相信早晚会有数学系出身的网友来拍板转。因为运动这个概念,在数学和物理里是跟微积分联系在一起的。我们学习微积分的时候,总会有人照本宣科地告诉你,初等数学是研究常量的数学,是研究静态的数学,高等数学是变量的数学,是研究运动的数学。大家口口相传,差不多人人都知道这句话。但是真知道这句话说的是什么意思的人,好像也不多。简而言之,在我们人类的经验里,运动是一个连续过程,从A点到B点,就算走得最快的光,也是需要一个时间来逐点地经过AB之间的路径,这就带来了连续性的概念。而连续这个事情,如果不定义极限的概念,根本就解释不 阅读全文

posted @ 2012-04-28 16:47 jjtx 阅读(187) 评论(0) 推荐(0)

理解矩阵(一)(转自孟岩兄)
摘要:http://blog.csdn.net/myan/article/details/647511前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊!线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用最广泛的同济线性代数教材(现在到了第四版),一上来就介绍逆序数这个“前无古人,后无来者”的古怪概念,然后用逆序数 阅读全文

posted @ 2012-04-28 16:45 jjtx 阅读(193) 评论(0) 推荐(0)

交换
摘要:template <class T> void Swap( T& a, T& b ) { T c( a ); a = b; b = c; } 阅读全文

posted @ 2012-04-27 18:50 jjtx 阅读(169) 评论(0) 推荐(0)

计算个税(定义一个薪水类)
摘要:(起征点800):#include <iostream> using namespace std; #define TAX_THRESHOLD 800 struct Tax { double standard; double tax_rate; }; class Salary { double income; public: static Tax tax_array[]; Salary(int m = 0) { income = m; } void operator - (int payout) { income -= payout; cout << "工资余 阅读全文

posted @ 2012-04-24 19:39 jjtx 阅读(270) 评论(0) 推荐(0)

大学那点破事
摘要:挺搞笑的,前几天运动会,我们必须作为托去看台看比赛。我就第一天看了开幕式,后来的三天都没去了,所以后果很严重,受到了警告的处分,其实没去看运动会的时候我都去图书馆上自习了=_=,看到图书馆不也有很多人吗?当然了,处分的后果是一系列的,“钱”、入党、评优各种都没了,其实我也做好了这最坏的打算!钱这方面,我是无所谓的,但是我觉得对不起父母,苦了我劳作的父母亲。入党,必须推迟一年。评优,我也淡然了。更悲催的是,还有位成绩不错的基友受到“严重警告”,亮了。自嘲完毕。 阅读全文

posted @ 2012-04-23 17:11 jjtx 阅读(187) 评论(0) 推荐(0)

const 的用法(持续更新)
摘要:先上一段代码:#include <iostream> using namespace std; int main(void) { int a = 1; const int *p = NULL; p = &a; int *q = p; // 错误 // error C2440: 'initializing' : cannot convert from 'const int *' to 'int *' // Conversion loses qualifiers q = &a; // (1) q = (int *)p; / 阅读全文

posted @ 2012-04-22 22:10 jjtx 阅读(235) 评论(0) 推荐(0)

汉诺塔问题(竟然还与Sierpiński三角形分形有关)
摘要:Tower of Hanoi// 把n个盘子从1(a)号柱子借助2(b)号柱子移到3(c)号柱子 // 总共要移 2^n-1 次 #include <iostream> using namespace std; void Move(int &x, int &y) // 没有真正移动盘子,只是输出方案 { cout << x << " --> " << y << endl; } void Hanoi(int n, int a, int b, int c) { if(n > 0) { Han 阅读全文

posted @ 2012-04-21 22:49 jjtx 阅读(315) 评论(0) 推荐(0)

Bell number
摘要:Bell number定义:应用:1、集合A的基数为n,A上可定义的等价关系(A的划分)有B(n)种。 阅读全文

posted @ 2012-04-20 12:44 jjtx 阅读(196) 评论(0) 推荐(0)

今天早上
摘要:今天早上抽了筋地跟室友6点半去南体打篮球,打着打着听到有人在垃圾桶那摆弄着什么,我心想,清洁人员也不会这么早来打扫啊,仔细一看,原来那是一个学生模样的男生,背着单肩包,手拿着一个橘黄色的“中国电信”那样的布袋。我朝那边望时他也抬头望了这边一眼,我很不好意思地假装看着远处。看样子没有找到什么,于是利索地跑到这边的垃圾桶来了,我也再没有朝他看了。我的大学我做主! 阅读全文

posted @ 2012-04-18 07:45 jjtx 阅读(163) 评论(0) 推荐(0)

Polynomial 一元多项式的表示及相加 (线性链表实现 严蔚敏版)
摘要:1、贴代码:#include <iostream> #include <cstdio> using namespace std; struct Node { double coef; int expn; Node *next; }; void CreatPolynomial(Node *&head, int n) // 生成带表头结点的单链表,除头结点外另生成n个结点 { head = (Node *)malloc(sizeof(Node)); head->coef = 0; head->expn = 0; head->next = NULL; 阅读全文

posted @ 2012-04-15 22:58 jjtx 阅读(759) 评论(1) 推荐(0)

函数指针
摘要:1、常见的用法#include <stdio.h> typedef int (*PFUN)(int, int); // PFUN 是函数指针类型 int fun(int a, int b) { return a + b; } int main(void) { PFUN pf = fun; // 或 PFUN pf = &fun; printf("%d\n", pf(1, 2)); printf("%d\n", (*pf)(1, 2)); return 0; }2、第二种用法#include <stdio.h> typede 阅读全文

posted @ 2012-04-14 14:50 jjtx 阅读(174) 评论(0) 推荐(0)

滑雪(二维平面上 动态规划)
摘要:http://acm.pku.edu.cn/JudgeOnline/problem?id=1088先MARK,待自己慢慢研究出来再A!http://www.cppblog.com/AClayton/archive/2007/09/17/32336.aspx#include <iostream> #include <cstdio> #include <cstdlib> using namespace std; #define MAXNUM 10 int dlen[MAXNUM][MAXNUM]; unsigned int a[MAXNUM][MAXNUM]; 阅读全文

posted @ 2012-04-10 19:23 jjtx 阅读(275) 评论(0) 推荐(0)

最长递增子序列(LIS) 学习中ing
摘要:单调递增最长子序列描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3 aaa ababc abklmncdefg样例输出1 3 7Accepted #include<stdio.h> int length(char * s) { int len[128] = {0}, i, t; for(; *s != '\0' && (t = len[* 阅读全文

posted @ 2012-04-08 16:39 jjtx 阅读(251) 评论(0) 推荐(0)

心情
摘要:我每天都关注你的状态可我几乎从不评论。因为那里面诉说的都是我不知前后的故事。说的也都是无关于我的事情。可我还是每天都看,因为它多少能让我知道你最近的心情。我们彼此的交集变得越来越少。我知道所有的难过与快乐在时间的打磨下都会变得无色无味。慢慢得习惯了不再问候,慢慢的变的无话可说。于是在那个交点之后我们越走离彼此就越远。尽管拼命地阻拦到最后才发现在现实面前我变得无能为力。我明白这不是我们彼此期待的结果但我们早已无力对抗这距离、时间、以及越来越多的空集。在往后有一天我们在某个路口偶然相遇,猛然发现那个就是曾经陪我一起上课下课的人。但或许那时我们早已不再年轻。我知道我们注定会越走越远。但我希望你带着我 阅读全文

posted @ 2012-04-08 14:28 jjtx 阅读(193) 评论(0) 推荐(0)

POJ 1163题 数字三角形问题(动态规划)
摘要:http://poj.org/problem?id=11631、普通递归#include <iostream> #include <cstring> #include <cstdio> using namespace std; #define __max(a,b) (((a) > (b)) ? (a) : (b)) #define MAXNUM 101 int N; int aMax[MAXNUM][MAXNUM]; // aMax is memorandum int matrix[MAXNUM][MAXNUM]; int Max(int i, int 阅读全文

posted @ 2012-04-07 19:11 jjtx 阅读(562) 评论(0) 推荐(0)

我的第一个动态规划程序(试图用递归求斐波拉契数)
摘要:1、这是一般的递归(指数爆炸型,时间复杂度O(1.618^n)):#include <iostream> #include <cstdio> using namespace std; __int64 Fib(int n) { if(n == 1 || n == 2) return 1; return Fib(n - 1) + Fib(n - 2); } int main(void) { int n; while(cin >> n) printf("%I64d\n", Fib(n)); return 0; }2、今天看了动态规划的入门,觉得 阅读全文

posted @ 2012-04-07 14:31 jjtx 阅读(469) 评论(0) 推荐(0)

Catalan number
摘要:Catalan number 定义:,n>=0学到现在,已知的用处如下:1、n个元素进栈,有C(n)种不同的出栈序列。2、二叉树。学到了再补充。 阅读全文

posted @ 2012-04-06 13:04 jjtx 阅读(154) 评论(0) 推荐(0)

NYOJ 2题 括号配对问题
摘要:http://acm.nyist.net/JudgeOnline/problem.php?pid=21、我的代码: #include <iostream> #include <cstring> using namespace std; #define MAXSIZE 10005 int main(void) { int k; cin >> k; while(k--) { char str[MAXSIZE]; cin >> str; char stack[MAXSIZE]; int len = strlen(str); int j = 0; boo 阅读全文

posted @ 2012-04-04 00:52 jjtx 阅读(248) 评论(0) 推荐(0)

导航