POJ
文章平均质量分 73
KingWolfOfSky
这个作者很懒,什么都没留下…
展开
-
3724:unix纪元——标准库时间函数的应用
I’m a programmer,damnit. I don’t write code. ——The anti-programming programmer在一些简单的题目中经常有一些进行时间转化的题目,如3724:unix纪元,当然可以自己写代码进行转换,也可以时候标准C的相关的一些库函数。time_t 和 timetypedef ... time_t;time_t原创 2012-01-13 16:51:36 · 1095 阅读 · 0 评论 -
POJ题目分类(各种分类合集)
POJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法.转载 2013-04-23 15:47:11 · 9099 阅读 · 2 评论 -
POJ测试数据
1、USACO2006年November题目和测试数据的网址http://ace.delos.com/NOV062007年open赛题目和测试数据的网址http://ace.delos.com/OPEN07以此类推2、日本ACM比赛http://www.acm-japan.org/http://icpc2010.honiden.nii.ac.jp/en/past-c原创 2011-02-14 10:10:00 · 17092 阅读 · 2 评论 -
筛法打印质数表【附:100000以内质数表】
发现在做ACM题目的时候经常会用到一些质数,因此使用埃拉托斯特尼筛法打印质数表以保存之。埃氏筛或爱氏筛,是一种公元前250年由古希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。给出要筛数值的范围n,找出以内的素数。先用2去筛,即把2留下,把2的倍数剔除掉;再用下一个质数,也就是3筛,把3留下,把3的倍数剔除掉;接下去用下一个质数5筛,把5留下,把5的倍数剔除掉;不断重复下去.....原创 2012-01-13 21:29:51 · 28275 阅读 · 0 评论 -
日期计算
1096: 日期差值【题目描述】有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天【输入】有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD【输出】每组数据输出一行,即日期差值【样例输入】20110412 20110422【样例输出】11很简单的一道题目,思路很简单,计算两个日期分别到1年1月1日间隔的天数,然后相减加一即可原创 2012-01-30 22:30:04 · 1236 阅读 · 1 评论 -
素数的Miller_Rabbin测试
【引理】如果p是一个素数的话,那么对任意一个小于p的正整数a,a, 2a, 3a, ..., (p-1)a除以p的余数正好是一个1到p-1的排列。(例如,5是素数,3, 6, 9, 12除以5的余数分别为3, 1, 4, 2,正好就是1到4这四个数。) 【证明】( 反证法)假如结论不成立的话,那么就是说有两个小于p的正整数m和n使得na和ma除以p的余数相同。不妨假设n>m,则p可以整除a(原创 2012-01-18 16:42:06 · 1197 阅读 · 0 评论 -
最大公约数与欧几里德算法
记a、b的最大公约数为gcd(a,b)。这里对于最大公约数的讨论仅限于非负整数,因为显然有gcd(a,b)=gcd(|a|,|b|)。计算最大公约数的Euclid算法基于下面定理:【GCD递归定理】对于任意非负整数a和任意正整数b,gcd(a,b)=gcd(b,a%b)。Euclid算法最简单的递归版本(C语言版)如下:int Euclid(int a,int b){原创 2012-01-17 16:24:50 · 3460 阅读 · 1 评论 -
快速幂取模
利用二进制扫描的方法快速的计算ab mod c,显然用常规方法计算74237 mod 4233计算量过大。基本原理:(a×b)mod c=((a mod c)×b)mod c例如:35 mod 7=3(101)2 mod 7=((3(100)2 mod 7)×3)mod 7=((9(10)2 mod 7)×3)mod 7=(((9 mod 7)(10)2 mod 7)×3)mod 7=((原创 2012-01-18 15:40:20 · 932 阅读 · 0 评论 -
二进制最大公约数算法
求最大公约数的Euclid算法需要用到大量的取模运算,这在大多数计算机上是一项复杂的工作,相比之下减法运算、测试数的奇偶性、折半运算的执行速度都要更快些。二进制最大公约数算法避免了Euclid算法的取余数过程。二进制最大公约数基于下述事实:若a、b都是偶数,则gcd(a,b)=2*gcd(a/2,b/2)若a是奇数、b是偶数,则gcd(a,b)=gcd(a/2,b/2)原创 2012-01-18 14:09:18 · 5879 阅读 · 2 评论 -
最长公共子串
最长公共子串(Longest Common Substring)是一个非常经典的问题,它的基本描述为“给定两个字符串,求出它们之间最长的相同子字符串(要求连续)的长度”。求N个最长为L的字符串的的LCS的方法大致可分为以下几类:1.枚举法显然是简单但极端低效的算法,改进一些的算法是用一个串的每个后缀对其他所有串进行部分匹配,用KMP算法,时间复杂度为O(NL2)。2.动态规划解法:平方的时间算法。3.后缀数组与高度数组解法,利用二分查找技术,时间复杂度为O(NLlogL)。3.广义后缀树方法,时间复杂度为可原创 2014-09-15 20:05:49 · 3249 阅读 · 0 评论