自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZXLS-ZMR的专栏

足迹, 学路漫漫,吾将上下而求索。

  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 HDU-4727 水题一个

这题还WA几次了,主要是没注意:当原来的序列是递增的,认为是第一个出错了,因为必定有一个是错的。#include#include#includeusing namespace std ;int a[100005]; int main(){ int t,test=1,n,id,tmp; int flag; scanf("%d",&t); while(t--){

2013-09-27 18:31:18 566

原创 HDU 4722 Good number 找规律

题意简单。这题一看就是找规律,没想到一下子就找到规律了。对于n所构成的数,在它前面的数每个位相加能被十整除的数刚好是sum=m/10-1+(m80.1234->1230.找到这个规律此题是很容易的。#include#include#include#includetypedef __int64 LL;using namespace std ;LL answer(char

2013-09-27 16:15:11 636

原创 poj 3641 Fermat 与素数的判断

题意:给出p和a,判断p是否为非素数并且也满足a^p=a(mod p),如果是,输出yes,否则输出 no。简单的素数判断!,与format定理的应用。#include#include#includetypedef __int64 INT;using namespace std ;bool Isprime(int num){ if((num>2&&num%2==0)||

2013-09-26 20:25:19 622

原创 zoj-1010 Area 多边形判别与面积

这题是一个几何综合题,线段的相交于多边形的面积。这题错了几次,主要是判断线段相交的错误。相邻的两条边没必要去判断。而我把每条边对枚举了,很难除去端点相交的。#include#include#includeusing namespace std ;struct point{ double x,y;}p[1005];struct line{ point a,b;}ed

2013-09-25 17:00:12 661

原创 HDU-4734 数位DP

听了学长的讲解,这题用数位Dp#include#include#includetypedef __int64 LL;using namespace std ;int Pow[11],len;LL dp[11][5050],A;char B[11];LL dfs(int pos,int res,int full){ if(res<0) return 0;

2013-09-23 20:41:34 634

原创 2013 ACM/ICPC Asia Regional Changsha Online - E Travel by Bike

这题WA的原因:没有考虑当走的时间刚好是周期的倍数,要在原来的星期的前一天。注意这个就不会错了!#include#include#includetypedef long long LL;using namespace std ;int check(char *st){ if(st[0]=='M') return 0; if(st[0]=='T'&&st[1]=='u')

2013-09-23 19:00:22 674

原创 poj 1731 字典序全排列

无语啊,直接用stl的next_permutation函数就行了,我还手写。唉,stl一定要掌握好啊!#include#include#include#includeusing namespace std ;int main(){ char st[205]; gets(st); int len=strlen(st); sort(st,st+len);

2013-09-17 20:48:07 624

原创 poj-2406 kmp中的next数组应用

题意:求子串出现最多的次数。明白kmp数组的next数组。#include#include#includeusing namespace std ;char st[1000005];int next[1000005];int main(){ int len,t; while(scanf("%s",st),st[0]!='.'){ len=strlen(

2013-09-14 16:52:44 714

原创 poj-3461 kmp重叠匹配

题意有点难懂:给出主字符串1,字符串2,问你字符串1在字符串2中出现的次数。这题是kmp的多重匹配,按着模板,敲,稍修一下改就行了。#include#include#includeusing namespace std ;char st[1000005],ch[10005];int fail[10005];int kmp(char *st,char *ch) //

2013-09-14 14:33:51 797

原创 poj 1035 string 的匹配

题意:给出字典的单词,在给出要匹配的字串,问是否完全匹配,或删除一个字符,添加一个字符,符合所给的字典。所给的数不大,枚举完全可以过。刚开始用了string类,导致超时了,用char型就好了!#include#include#includeusing namespace std ;char st[10005][18];char res[10005][18];int

2013-09-13 22:07:52 704

原创 HDU 4710 Balls Rearrangement(数论)

根据题意:求sum(|i%a-i%b|)=?,i=[1->N];分析:首先一个很显然的规律,这是一个循环节的求余问题,L=Lcm(a,b)为一次循环。讨论一个循环:a=4 b=2 0 1 2 3  0 1 2 30 1 0 1  0 1 0 1a=3 b=40 1 2 0 1 2 0 1 2 0 1 20 1 2 00 1 2 3 0 1 2 3 0 1 2

2013-09-12 20:03:16 675

原创 HDU-2993 二分-至少连续k个平均值最大(数形结合)

题目连接分析讲解题意:在n个序列中找出至少k个连续的数,使它们平均值最大,输出最大的值。题意转化:用sum()求出前n个数的和,那么p=(sum(j)-sum(i-1))/(j-i+1) ,j-i>=k+1;把sum(i)看做y轴的值,i看做x轴的值,由于ai>0;所以图形是:一条递增的凹凸不平的折线。那么问题就是:在这条折线上找出横坐标的值至少相差k,他们的之间的连线斜率最大

2013-09-11 20:53:31 1248

原创 HDU-4706 dfs打表

此题的题意很简单,但做起来却有麻烦!如果实在不行,可以把所有的枚举出来。最萌的一种AC方式了!其实此题是有规律的。如果按行列i和j,i+j=n-1正好是对角线的元素,(i从零开始的),故可以这样想:如果从第i行处理,先从每行的列j=0开始,处理到j=n时就结束了。如果在i行的元素有j==0或者最后一列j=n-1表示是每行第一元素和最后一个元素,就该打印,用一个pos来记录打印到字母的位

2013-09-09 22:29:15 652

原创 链表的基本操作

新学期学了数据结构,温故以前学的知识,把链表的基本操作重新学了一遍:基本操作:建立链表清空链表插入数据删除数据查找数据#include#include#include#includeusing namespace std ;struct node{ int num; node *next; node(){ next=NULL; }};nod

2013-09-09 20:06:29 607

原创 poj 3990 四边形费马点

到网上查一下,四边形的费马点就:    如果是凸四边形,就是对角线的交点。    如果是凹四边形,就是该凹点。本来很简单,由于粗心,先是这样想的:枚举四个点的距离,再算出对角线的距离,取最小就行了,这样是错的,必须要判断凸包问题,在分别求。#include#include#include#includeusing namespace std ;struct node{

2013-09-08 18:03:28 1796

原创 Zoj 2562 More Divisors

题意:给定一个数n,求在n以内,一个数的约数最多,并且是最小的一个数。分析:先把约数看成素因子了,导致算法和思路严重错误。约数和素因子是不同的。比如12=2^2*3,它的素因子数为2,而约数为6,分别为:1,2,3,4,6,12.不过,可以总结出约数的个数等于每个数的素因子的幂加1相乘。12=2^2*3.  m=(2+1)*(1+1)=3;其实此题是一个关于反素数的问题,有关反素数

2013-09-06 13:45:42 634

原创 zoj-2559 The Smart Bomb 简单几何

可以看出:最大的三个圆正好只可能是在三角形最小两个边只和。设有r1,r2,r3为三个圆的半径,d1,d2,d3,是三角形的边,且d3是最长的边。则有:r1+r2=d1,r2+r3=d2;====>r1-r3=d1-d2;又因:r1+r3代入:r1=(d1+d3-d2)/2.代入即可求得其他两个圆的半径。代码:#include #include#includeusing

2013-09-06 11:18:07 901

原创 HDU-1007 最近点对

这题,我用模板竟然WA了,不知道是自己敲错了没有。分析:一种显而易见的方法就是枚举所有的点,并计算最小值,该方法的时间复杂度为n^2,显然这题不可取。另一种方法就是基于分治思想,可以再nlogn的时间内求解。将给定的点集按照y轴方向分成左右两个部分。那么,就要两种可能:1,最小值的两个点是在同一集合,或者分别位于两侧。不妨设px位于左侧,py位于右侧,设dl,dr分别为左右两个

2013-09-04 20:20:37 750

原创 ZOJ-2313 Chinese Girls' Amusement(详解)

题意简单.根据题意,有这样的理论:是找gcd(n,k)=1且k对于2m+1=n,即为奇数时,可以得出,k=m。->gcd(2m+1,m)=1;当2(2m+1)或4m时为偶数时,可以得出,k=2m-1。总的来说:当n为奇数,ans=n/2;当n为偶数,(1)4m=n, ans=n/2-1, (2) 4m+2=m  ,ans=n/2-2;代码:#include#inc

2013-09-03 22:39:38 1294

原创 POJ 1375 数学几何题

简单几何题,画个图形就可以得到结果了。连接#include#include#include#include#includeusing namespace std ;struct line{ double l,r;}L[1000];bool operator <(const line &a,const line &b){ return a.l<b.l;}int

2013-09-02 21:20:21 651

原创 POJ 2954 pick定理

详细分析pick定理:#include#include#include#includeusing namespace std;int gcd(int a,int b){ if(b==0) return a; else return gcd(b,a%b);}int main(){ int Area,b,ans; int x[4],y[4]; while(1){

2013-09-02 18:38:01 534

原创 POJ-1385 多边形重心

分析:将多边形进行三角形划分,计算每个三角形的重心,再将重心以每个三角形的面积为权重进行加权平均即可得到多边形的重心。#include#include#includeusing namespace std ;struct node{ double x,y;}p[1000001];double cx,cy;int n;double cross(node a,node

2013-09-01 21:50:08 665

原创 poj 3348 包凸求面积

这题很好的把叉积的性质应用到了。此题简单,模板题:#include#include#includeusing namespace std ;struct node{ int x,y;}p[10005],rec[10005];int n;double cross(node a,node b,node c){ return (b.x-a.x)*(c.y-a.y)-(b.y-

2013-09-01 20:19:05 651

学生成绩管理系统

该学生成绩管理系统,功能比较齐全,对于初学者,是涵盖c语言的所有知识。

2013-03-08

插入排序.cpp

是关于插入排序的c语言源代码。代码简单,易懂。非常适合刚学的读者。

2013-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除