ACM之学习记录
noname40
这个作者很懒,什么都没留下…
展开
-
基数排序
#includeusing namespace std;int main(){ int data[10]={73,22,93,43,55,14,28,65,39,81}; int temp[10][10]={0};int order[10]={0}; //temp[i][j]代表当前尾数,可能是个位,十位...order[i]这个尾数所在的temp位置中的位置 //例如根据各位数原创 2012-02-09 14:09:18 · 371 阅读 · 0 评论 -
最长上升子序列
转载于:http://blog.csdn.net/wangkechuang/article/details/7949151最长上升子序列问题是各类信息学竞赛中的常见题型,也常常用来做介绍动态规划算法的引例,笔者接下来将会对POJ上出现过的这类题目做一个总结,并介绍解决LIS问题的两个常用算法(n^2)和(nlogn).问题描述:给出一个序列a1,a2,a3,a4,a5,a6,a7...转载 2013-03-23 11:35:00 · 591 阅读 · 0 评论 -
最长公共子序列
http://blog.csdn.net/yysdsyl/article/details/4226630转载 2013-03-23 11:39:06 · 712 阅读 · 0 评论 -
poj 2299 归并求逆序数
题意:给出一些数,然后求这串数字的逆序数,也就是从这个状态到升序状态的最小步数。思路:归并排序,同时累加子问题的逆序数。http://blog.csdn.net/morgan_xww/article/details/5742926#include#include#includeusing namespace std;int a[500010];__int64 ans;i转载 2012-11-10 09:10:54 · 446 阅读 · 0 评论 -
扩展欧几里得算法
转载于:http://blog.csdn.net/zixiaqian/article/details/4480037扩展欧几里德算法 欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b转载 2012-08-25 10:07:25 · 362 阅读 · 0 评论 -
ACM对拍程序
ACM对拍程序过程。。。一、用随机程序生成符合题目的输入数据文件名为in.txt如何产生随机数:http://www.cnblogs.com/lvsi/archive/2011/04/21/2024079.html二、用AC的程序和你的程序分别跑数据in.txtAC程序生成out1.txt 你的程序生成out2.txt在生成输出数据的时候最好把输入的一些关键数据也一并原创 2012-08-14 12:25:01 · 3912 阅读 · 1 评论 -
后缀数组
寒假的时候看过一遍后缀数组,但是没成功。。。这次又鼓起勇气看起,先尽量达到会用它A一些模版题的程度吧!有几个关键的数组:1.后缀数组sa[i],排第i的后缀串是谁,数组值代表下标,以这个下标为首的后缀串。2.rank[i],rank数组跟suff[i]相对应,suff[i]是排第i的在哪,rank[i]表示第i个开始的后缀串排第几,即rank[suff[i]]=i3.height[原创 2012-05-15 09:49:54 · 354 阅读 · 0 评论 -
int && long && long long && __int64
32位系统下,int、long、long long、__int64所占字节数和取值范围字节数char: 1字节(8位)int: 4字节 (32位,取值范围 -2^31 ~ 2^31-1)unsigned int : 4字节 (32位,取值范围 0 ~ 2^32-1)long: 4字节 (32位,取值范围 -2^31 ~ 2^31-1)unsigned long : 4字节原创 2012-05-10 18:13:02 · 731 阅读 · 0 评论 -
万年历
输入 2011.1 以后的 年月 输出 该月对应的日历#includeusing namespace std;int mon[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};int check_y(int year) { if (year%400==0原创 2012-03-16 21:59:56 · 433 阅读 · 0 评论 -
链表
#includeusing namespace std;struct node{ int num; node *next;}*head,*p,*r,h;int main(){ node h; int N; head=(node*)malloc(sizeof(node));//或者改成head=&h; //head->num=1; p=head; for(原创 2012-02-14 21:47:41 · 310 阅读 · 0 评论 -
二分注意边界问题
我之前写过两篇关于二分查找算法的文章,这篇算是一个小结.我给这份文档整理了一份pdf格式的文档,可以在这里下载.二分查找算法学习札记说明作者:那谁blog: http://www.cppblog.com/converse转载请注明出处.二分查找算法基本思想二分查找算法的前置条件是,一个已经排序好的序列(在本篇文章中为了说明问题的方便,假设这个序列是升序排列的),转载 2013-03-23 20:07:02 · 961 阅读 · 0 评论