10 2013 档案
摘要:acm总结帖_By AekdyCoin 各路大牛都在中国大陆的5个赛区结束以后纷纷发出了退役帖,总结帖,或功德圆满,或死不瞑目,而这或许又会造就明年的各种“炸尸”风波。为了考虑在发退役贴以后明年我也成为“僵尸”的可能性,于是改名曰“总结贴”,不提比赛细节,不提比赛流水账,权当是大学本科生涯中acm生活的点滴记录…… (1)入门篇甲 PS:以下内容为 Ctrl+a,c,v的产物======================================================================================================...
阅读全文
摘要:题解:还记得2年前的一个晚上,我和一个女孩一起写完了这篇文章。写完后,她哭了,我笑了。然后,她走了,我哭了。2年后,我又找到她,这次,我没有让她走掉,她成了我的新娘。不知道什么时候,开始知道ACM;也不知道什么时候,开始喜欢上ACM。但是,我知道,我喜欢上了,而且不会后悔。我是大一的时候进的学校ACM队,那个时候,一切都是冰冷的,华东理工大学,在别人的眼里,只是每次给别人垫底的学校,次次如此。但是,我们不甘心,我们从不甘心,当我们主力队员中的一个,一个月拼命集训,瘦了很多的时候,突然,我有一种哭的冲动。我问他,为什么?他告诉我:我喜欢ACM。也许是个傻傻的理由,但是就是这句话让我一直留在了这里
阅读全文
摘要:利用假期空闲之时,将这几年GCJ,ACM,TopCoder 参加的一些重要比赛作个回顾。昨天是GCJ2006 的回忆,今天时间上更早一些吧,我现在还清晰记得3 年前,我刚刚参加ACM 时参加北京赛区2005 和杭州赛区2005 的情况。2005 年ACM-ICPC——酸甜苦辣我进入清华大学开始本科学习的时间是2004 年8 月,在进入清华大学的第一年里,由于基础课学习比较紧张,再加上计算机系不允许大一学生自带电脑,我没有参加2004 年的ACM 比赛。不过在大一一年中没有停止这方面的练习,对ACM还是热情高涨。大概在2005 年7 月底,与同班同学shell(贝小辉)和superzn(张宁)一
阅读全文
摘要:关于编程的学习,大家肯定都知道,也是大家都说来说去的,就几句话:1.多看书。2.多看代码。3.多敲代码。这些我不想多说,也觉得没有多说的必要。经常在CSDN上看到有人问“我学习C++一段时间了,该如何进阶?”,然后接着就是一大堆的人,重复这上面的三句话或者更多,我不是说这些方法是错的,我只是认为,这样没有点到本质,初学者喜欢依赖于书籍,他们看书了,他们也照着书敲了代码,但是他们就是感觉一直在基础的层面上打转,这是为何呢?在C++里定义复制构造函数时,大家知道,一般对于类中含有指针的,要进行深复制,而不是浅复制。而我在这里也要讲一个类似的方法,那就是关于编程的浅学习与深学习的问题。大家在这里可以
阅读全文
摘要:1 //http://acm.hdu.edu.cn/showproblem.php?pid=1047 2//这题要说的,我觉得就是要考虑进位的问题,而且不是进一位两位,可能是很多位,//不过好像不考虑也能过,估计是测试数据太弱了。//还有就是题目讲了半天不知道再扯什么东西,,,给的Input感觉有问题,,,//水过就好。。。。 3 #include 4 #include 5 using namespace std; 6 int main() 7 { 8 int n,i,a,l; 9 char s[100]; 10 while(cin>>n)11 ...
阅读全文
摘要:1 //表达式求值 数据结构严蔚敏 表达式求值 代码实现 2 #include 3 4 using namespace std; 5 6 typedef struct _NODE_ 7 { 8 int a; 9 _NODE_* pNext; 10 }Node,*pNode; 11 12 13 int Precede(int cur,int sta); //优先级判断 函数 14 15 int EvaluateExpression(); //表达式求值 函数 16 17 int Result(int ...
阅读全文
摘要:#includeusing namespace std;typedef struct _NODE_{ int a; _NODE_* pNext;}Node,*pNode;typedef struct _TABLE_{ pNode pHead; int iNodeCount;}Table,*pTable;void InitStack(pTable pTableTemp);bool PushStack(pTable pTableTemp, int a);bool PopStack(pTable pTableTemp,int* a);bool GetTop(pTable pT...
阅读全文
摘要:1028139825661085170910851171139820792069208221522189
阅读全文
摘要:1 //LineTable 2 //先是联合体union,,后是结构体,复合型数据类型的一种自定义类型 3 4 5 //内存分配,按整分配。和CPU相关,数据总线 6 //结构体中内存的分配 7 /* 8 内存空洞大,更容易中病毒 9 10 char a[4] = "xyw"; 11 12 char b = 'x'; 13 char c = 'y'; 14 char d = 'w'; 15 16 17 内存分配, 有效字节 18 */ 19 /* 20 21 特点一 22 23 24 如果...
阅读全文
摘要:1 #include 2 #include 3 #include 4 using namespace std; 5 6 int main() 7 { 8 9 10 //C语言的文件操作 11 /* 12 13 FILE *指针变量标识符 14 15 //fopen fclose 16 17 18 //fgetc fputc //by Character 字符读写 19 //fgets fputs //by stream 字符串读写 20 //fread fwr...
阅读全文
摘要:1 //模拟机排序 2 //运用链性队列(先进先出) 3 // 4 5 #include 6 7 using namespace std; 8 9 typedef struct _NODE_ 10 { 11 int a; //没有再用一个DATA来封数据域,这里只有数据 int a 12 _NODE_* pNext; 13 14 }Node,*pNode; 15 16 17 18 class CQueue //封装成queue类 19 { 20 private: //私有成员pTop 和 pBase 21...
阅读全文
摘要://http://acm.hdu.edu.cn/showproblem.php?pid=1098/*题目说x任意,于是取x=1,公式变为f(x)=5+13+k*a然后从小到大枚举a,满足f(x)%65==0即输出,枚举a为1到64,因为a>=65时可简化为 65+i,65可以约去有一个函数: f(x)=5*x^13+13*x^5+k*a*x给定一个非负的 k 值 求最小的非负的 a 值 使得对任意的整数x都能使 f(x) 被 65 整除。每输入一个k 值 , 对应输出一个 a值 , 若不存在a值 则输出 no 数学归纳法证明:1.假设当x=n时,f(n)=...........
阅读全文
摘要://http://acm.hdu.edu.cn/showproblem.php?pid=2098//标准的筛选法 #includeusing namespace std;bool prime[10000+5]; //题目中给出了数值不会超过10000,这样刚好能够用筛选法 void Init() //直接初始化素数表就好了。 { for(int i = 2; i <= 10000; ++i) //初始条件为都是素数 { prime[i] = true; } for(int i =2;i <= 10000; ++i) ...
阅读全文
摘要://超级水题,热身的,没必要解释//http://acm.hdu.edu.cn/showproblem.php?pid=2161#includeusing namespace std;bool IsPrime(int n){ int i = 0; if(n0 ) { count++; if(IsPrime(N)) printf("%d: yes\n",count); else printf("%d: no\n",count); } return 0;}
阅读全文
摘要://http://acm.hdu.edu.cn/showproblem.php?pid=1395//同样,快速幂取余不用解释,注意点输出格式就行了//注意全部使用位运算#includeusing namespace std;__int64 Montgomery(int a, int b, int r){ __int64 ans=1, buff=a; while(b) { if(b&1) ans = ans*buff%r; buff = buff*buff%r; b>>=1; } return ans;}int ma...
阅读全文
摘要:人见人爱A^BTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17481Accepted Submission(s): 12376Problem Description求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方”Input输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1 3 4 using namespace std; 5 6 __int64 qpow(int a,int b,int r) 7 {...
阅读全文
摘要:1 //对于插入,一般都是现查找再插入,这指的是数据不会相同的情况下 2 /*然后另外一个问题,关于数据的前移问题,,使用的非用for循环一个一个向前移动, 3 而是使用了memcpy进行整体往前拷贝。 4 注意,如果是数据的后移,可以用strcpy,但是前移绝对不能用。 5 6 因为是先查再进行插入,所以在Insert中肯的有一个FindData函数进行查找. 7 8 删除数据时,先找到数据,然后memcpy进行“删除”. 9 */ 10 11 /* 12 本代码为线性表的管理, 13 用到了就是Insert,Delete,Find,Travel等函...
阅读全文
摘要:本文地址:http://www.cnblogs.com/Lee-geeker/p/3372084.html转载请注明。1.最大公约数和最小公倍数。//模版int gcd(int a, int b){ if(ausing namespace std;int gcd(int a, int b){ if(a>=1; } return ans;}可参考题目:HDU1395 http://acm.hdu.edu.cn/showproblem.php?pid=1395#includeusing namespace std;unsigned Montgomery(unsigned ...
阅读全文
摘要:AuthorIgnatius.L题目大意:1.第一行输入一个整数T代表接下来有T组测试数据。2.接下来的T行,每行输入一个整数(1#include int main(void){ int n, i, ncase; long long x; scanf("%d", &ncase); for(i = 0; i :lg(a.~)=lg(num)-n; 又n为num的总位数减1,n=(int)lg(num); ->:a.~=pow(10,1g(num)-(int)(lg(num)));*/#include #include #include #include usin
阅读全文
摘要://题目地址//http://acm.hdu.edu.cn/showproblem.php?pid=1071 1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 int T; 8 double x1,x2,x3,y1,y2,y3,a,b,c,k,t,x,s1,s2; 9 cin>>T;10 while(T--)11 {12 cin>>x1>>y1>>x2>>y2>>x3>>y3;13 a=(y2-y1)/((x1-x2)*(x1-x
阅读全文
摘要:1 //http://acm.hdu.edu.cn/showproblem.php?pid=2037 1 //贪心问题:选择不相交的区间问题 2 3 4 #include 5 #include 6 using namespace std; 7 8 typedef struct _NODE_ //结构体 9 {10 int Ti_s;11 int Ti_e;12 13 }Node;14 15 Node TV[101];16 17 int cmp(Node x,Node y) //排序规则 18 {19 return x.Ti_e = t...
阅读全文
摘要://原题目地址//http://acm.hdu.edu.cn/showproblem.php?pid=1009//经典贪心题目/*其实贪心都是还是其次的,这里用结构体来装Room的信息,然后用sort来排序.*/#include#includeusing namespace std;typedef struct _NODE_{ double J; //JavaBean double F; //cat food double V; //性价比 }Node;Node Room[1001]; //定义出来1001个结构体,...
阅读全文
摘要:1 sort函数的用法 2 3 做ACM题的时候,排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头文件。 4 这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。 5...
阅读全文
摘要:1 #include 2 #include 3 4 using namespace std; 5 6 7 typedef struct _DATA_ 8 { 9 int iAge; 10 int iGrade; 11 char szName[20]; 12 }Data,*pData; 13 14 15 16 typedef struct _NODE_ 17 { 18 Data DataTemp; 19 _NODE_* pNext; 20 21 }Node,*pNode; 22 23 24 class CLis...
阅读全文
摘要:1. 首先要理解几个概念:文件: 按一定规则存储在磁盘上的数据集合。文件名: 能唯一标识某个磁盘文件的字符串。形式: 盘符:/ 路径 / 文件名.扩展名文本文件:: 数据以其数字字符的ASCII码形式、一个字节一个字节地存储在磁盘上。二进制文件:数据以二进制形式在存储在磁盘上。设备文件:输入/输出设备标准输入文件:键盘标准输出文件/标准错误输出文件:显示器文件型指针:C语言是通过名为FILE的结构型指针来管理文件读写的。FILE *文件的打开和关闭 :文件操作先建立文件与文件指针之间的关系,接着进行文件的读与写。建立文件与文件指针之间的联系的过程是文件的打开。终止这种联系就是文件的关闭。...
阅读全文
摘要:/* 1.C中的内存分配 栈:用来存放函数的形参和函数内的局部变量。 结合汇编,我的理解就是函数的话,都是通过压栈,出栈来处理的。 堆:用来存放由动态分配函数(如malloc)分配的空间。 是由程序员手动分配的,并且必须由程序员用free手动释放。 如果忘记free释放的话,会导致所分配的空间一直占着不放, 导致内存泄漏。 堆:数序随意 栈:后进先出(LIFO) 全局区(静态区):用来存放全局变量和静态变量 ...
阅读全文
摘要:交了4次才过,以为很简单,结果大意了。。注意两个问题:一个是考虑可能的溢出情况,这个以前就遇到过,所以这里没有忘记 1 int lcm(int a, int b) 2 { 3 return a/gcd(a,b)*b; 4 } 5 6 7 //避免写成这样 8 int lcm(int a, int b) 9 {10 return a*b/gcd(a,b); //可能会溢出11 }第二个是考虑特殊数据1 //如果数据是这个样子的2 23 1 34 1 45 6 这样只有一个数据7 那么直接输入a[0],即为最大公约数了考虑以上就能轻松AC 1 #include 2 3 usi...
阅读全文
摘要:Twilightgod CUST http://blog.csdn.net/twilightgodAekdycoin FZU http://hi.baidu.com/aekdycoinForeverlin HNU http://hi.baidu.com/forverlin1204/blogMatrix67 PKU http://www.matrix67.com/blog/watashi ZJU http://watashi.ws/blog/tag/zoj/Sha崽 HDU http://www.notonlysuccess.comChenyajun...
阅读全文
摘要:1.Oline JudgeCII题库https://icpcarchive.ecs.baylor.edu/杭电 http://acm.hdu.edu.cn/杭电题目分类:http://acm.hdu.edu.cn/typeclass.phpNOYJ http://acm.nyist.net/JudgeOnline/problemset.phpPOJ http://poj.org/九度 http://ac.jobdu.com/ZOJ http://acm.zju.edu.cn/ZOJ News http://acm.zju.edu.cn/onlinejudge/ZOJ题目分类 http://..
阅读全文
摘要:1 //自己写的! 2 3 #include 4 5 using namespace std; 6 7 8 typedef struct _DATA_ 9 { 10 11 char szName[20]; 12 int iAge; 13 }Data,*pData; 14 15 typedef struct _NODE_ 16 { 17 Data DataTemp; 18 _NODE_* pNext; 19 }Node,*pNode; 20 21 22 class CList 23 { 24 public: 25 CLi...
阅读全文
摘要:通常文件打开后,读写位置按先后顺序.但有时你想变动读写位置,例如重新从某处起,再读一次.int fseek(FILE *stream, long offset, int fromwhere);fseek 用于二进制方式打开的文件,移动文件读写指针位置.fseek(in,-1L,1); -- 文件流in, 零点为当前指针位置,SEEK_CUR 就是 1, -1L -- 文件指针回退1个字节int fseek( FILE *stream, long offset, int origin ); 第一个参数stream为文件指针 第二个参数offset为偏移量,整数表示正向偏移,负数表示负向...
阅读全文

浙公网安备 33010602011771号