ACM水题
文章平均质量分 67
静默加载
优秀的判断力来自于经验,但经验来自于错误的判断。在看着别人走过的路时,思考怎么走自己的路。无私奉献不是天方夜谈,有时候,我们也可以做到。
展开
-
HDOJ 2047 阿牛的EOF牛肉串
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2047设n位字符串,最后一位是O的字符串的个数为a[n],最后一位不是O的字符串的个数是b[n],总字符串个数为x[n],则有f[n]=a[n]+b[n];a[n]=b[n-1];b[n]=2*f[n-1];====>f[n]=2*f[n-1]+2*f[n-2] #includeint原创 2015-12-18 18:12:27 · 738 阅读 · 0 评论 -
HDOJ 2048 神、上帝以及老天爷
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2048用错排,搞定!#include __int64 a[21];void inti(){ inti,j; for(i=1;i { a[i]=1; for( j=2;j a[i]*=j; }}int m原创 2015-12-18 18:12:30 · 537 阅读 · 0 评论 -
HDOJ 4104 Discount
题目: http://acm.hdu.edu.cn/showproblem.php?pid=4104题目的意思是给以一串数字,让你求出这串数字相加不能组成的最想数字,但这个最小数字必须要比给出的的数字当中的最小的大,,,假设有a,b,c,d,e,f,g,h,i,j,k.....从第二个数子开始,假设此数字之前的所有数字之和(sum)比这个数字要小,则答案为此数字之前的所有数字之和加一(su原创 2015-12-18 18:12:40 · 469 阅读 · 0 评论 -
HDOJ 4325 Flowers
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4325题目自解:将开花时间和闭花时间进行排序,某时刻开花的数减去花谢的数就是正在盛开的花的数目,用二分法查找#include #include #include int a[100005],b[1000005];int see[100005][2];int n,m;int Find(int原创 2015-12-18 18:12:48 · 369 阅读 · 0 评论 -
HDOJ 4334 Trouble
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4334题解:如果我们有两个整数排序的列表A和B,我们可以很容易地找到在线性时间通过保持两个指针如果有一分之一和B在B,这样+ B =c(c给定)。 现在,对于这个问题,我们创建一个排序的列表s[0]和s[1](称之为M[0]),和一个排序的列表s[2]和s[3](称之为M[1])。我们可以做到原创 2015-12-18 18:12:51 · 397 阅读 · 0 评论 -
HDOJ 1994 利息计算
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1994题目给的不是太明白,但写出来改改就好,,,#include int main(){ int t; scanf("%d",&t); doubley,q,e,f,g,sum1,sum2; while(t--) { sum1=sum2=0.0原创 2015-12-18 18:12:58 · 618 阅读 · 0 评论 -
HDOJ 1999 不可摸数
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1999这道题打表就可以过,在讨论里说有些数据不对,可能是后台的程序有误,,,或者测试数据太弱了.....,所以不应管太多,直接上代码,#include int s[500000]={0},f[1001]={0};void inti(){ int i,j; for(i=原创 2015-12-18 18:13:06 · 548 阅读 · 0 评论 -
HDOJ 1262 寻找素数对
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1262#include #include int k[10000]={0};void prime(){ memset(k,0,sizeof(k)); inti,j; for(i=2;i { if(k[i]==0) {原创 2015-12-18 18:13:21 · 548 阅读 · 0 评论 -
HDOJ 1597 find the nth digit
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1597#include #include using namespace std;ints[]={1,1,2,1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6,1,2,3,4,5,6,7, 1,2,3,4,5,6,7,8};int main(){原创 2015-12-18 18:13:23 · 465 阅读 · 0 评论 -
HDOJ 4342 History repeat itse…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4342题解:题目要求第N个不是平方数的数,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,171^2 2^2 3^2 4^2假设有一个K为第N个数之前的那个平方数,有K^2(两边同时加原创 2015-12-18 18:13:26 · 460 阅读 · 0 评论 -
Lucas定理 && HODJ 4349
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4349首先给出这个Lucas定理: A、B是非负整数,p是质数。AB写成p进制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[0]。则组合数C(A,B)与C(a[n],b[n])*C(a[n-1],b[n-1])*...*C(a[0],b[0]) modp同余原创 2015-12-18 18:13:29 · 451 阅读 · 0 评论 -
KMP字符串模式匹配详解
KMP字符串模式匹配详解KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。一. 简单匹配算法一个普通匹配算法的函数:int Index_BF ( char S [ ], char T [], int pos ) {int i = pos, j = 0;whi原创 2015-12-18 18:13:34 · 669 阅读 · 0 评论 -
字典树
字典树,又称单词查找树,Trie树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串,所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度的减少无谓的字符串比较,查询效率比哈希表高。它有三个基本性质,根节点不包含字符,除根节点外每一个节点都只包含一个字符,从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串,每个节点的所有子节点原创 2015-12-18 18:13:36 · 470 阅读 · 0 评论 -
转载用ST的RMQ算法
转载:http://blog.csdn.net/niushuai666/article/details/66246721. 概述RMQ(Range Minimum/MaximumQuery),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍原创 2015-12-18 18:13:39 · 369 阅读 · 0 评论 -
POJ 2364 Balanced Lineup
转载:http://blog.csdn.net/niushuai666/article/details/7401403题目链接:http://poj.org/problem?id=3264题目大意:一个农夫有N头牛,每头牛的高度不同,我们需要找出最高的牛和最低的牛的高度差。解题思路:我是用RMQ写的。N为50000,Q为200000,如果我们暴力的话,需要50000*200000=1原创 2015-12-18 18:13:41 · 524 阅读 · 0 评论 -
HDOJ 4278 Faulty Odometer
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4278题目意思为:有一个里程表没有3,8这两个数字0,1,2,4,5,6,8,9这八个数字构成一个循环(一个八进制)但数字的顺序不一样,先将给定的数字转化为实际的数字(八进制),再将八进制转化为十进制代码:#include#includeusing namespace std;int main原创 2015-12-18 18:13:44 · 527 阅读 · 0 评论 -
POJ 2406 Power St…
#include#includeconst int N = 1000000+10;char str[N];int next[N];int len;void GetNext1(char str[N],int next[N])//寻找模式串的粗略next{ intl=strlen(str); next[0]=-1; inti=0,j=-1; while原创 2015-12-18 18:13:53 · 448 阅读 · 0 评论 -
HDOJ 1316 2^x mod n = 1
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1395题目注意一下n小于等于1的处理……#include#includeusing namespace std;//蒙哥马利快速幂int Montgomery(__int64 a,int b,int c){ __int64 ans=1; while(b){ i原创 2015-12-18 18:13:59 · 473 阅读 · 0 评论 -
HDOJ 1316 How Many Fibs?
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1316#include#include#includeusing namespace std;const int Max=2001;char f[Max][Max]={"1","1","2"};char tmp[Max],str1[Max],str2[Max];void set(cha原创 2015-12-18 18:14:01 · 505 阅读 · 0 评论 -
POJ 3261 Milk Patterns[后缀数组]
题目链接:http://poj.org/problem?id=3261题意:N头牛,每头牛有一个编号,求可重叠的“至少”出现K次的“最大子串”。思路:后缀数组+二分。 二分答案,然后将后缀分成若干组。不同的是,这里要判断的是有没有一个组的后缀个数不小于k。如果有,那么存在k个相同的子串满足条件,否则不存在。这个做法的时间复杂度为O(nlogn)。代码: #include原创 2015-12-18 18:14:04 · 429 阅读 · 0 评论 -
POJ 1743 Musical Theme[后缀数组]
题目链接:http://poj.org/problem?id=1743题目大意给定一段音乐乐谱,其中的音符用数字表示出来( 范围 [ 1,88 ]),要求的是这段乐谱的主旋律。所谓的主旋律,就是满足以下三点要求的一段子串: 1、音符的数目至少为5; 2、重复出现在乐谱中的另一个地方; 3、不相互叠加;先二分答案,把题目变成判定性问题:判断是否存在两个长度为k 的子串是相同的原创 2015-12-18 18:14:06 · 455 阅读 · 0 评论 -
POJ 2774 Long Lon…
题目链接:http://poj.org/problem?id=2774给出两个长度均不大于100000的字符串求出这两个字符串的最长公共子串。#include #include #include const int N=100005*2;int suff[N],r[N],Height[N],rank[N];int wa[N],cnt[N],wb[N],wv[N];i原创 2015-12-18 18:14:09 · 408 阅读 · 0 评论 -
strstr函数[字符串处理]
#include#include#includeusingnamespace std;intmain(){ chars[]="Hello Word!"; charl[]="ell"; char*p; p=strstr(s,l); if(p) printf("%s\n",p); else printf原创 2015-12-18 18:14:11 · 536 阅读 · 0 评论 -
HDOJ 1249 三角形『平面分隔』
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1249分隔平面公式下面是我自己查找的公式,没有推到过程,但可以给一些链接http://hi.baidu.com/matrixwhisper/item/6bfe48522351e0d19e266717http://qianmacao.blog.163.com/blog/static/20原创 2015-12-18 18:14:19 · 474 阅读 · 0 评论 -
ZOJ 2614 Bridge[三分求解]
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2614THE 30thACM/ICPC ASIA REGIONAL 2005 HANGZHOU SITE2614 Bridge[三分求解]" TITLE="ZOJ 2614 Bridge[三分求解]" />题目大意:给出桥的总长度B,线缆的总长度L原创 2015-12-18 18:14:21 · 681 阅读 · 0 评论 -
POJ 3301 Texas Trip[三分]
题目链接:http://poj.org/problem?id=3301题目大意给出平面中的点集,求可以覆盖这些点的最小面积正方形。题目分析问题是要求最小的正方形,假设这个正方形的边都是分别与坐标轴平行,也就是说正方形没有旋转一定的角度,那么我们只要考虑最上,最下,最左,最右的点即可,当正方形旋转过一定的角度d是我们也只要考虑最边上的点的距离差即可(故这题也可用枚举旋转角度的原创 2015-12-18 18:14:24 · 552 阅读 · 0 评论