自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

转载 static详解

static作用(修饰函数、局部变量、全局变量) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 char a

2014-11-29 21:40:42 601

原创 nyist 762 第k个互质数

/* 容斥原理:在计数时,必须注意无一重复,无一遗漏。为了使重叠部分不被重复计算,人们研究出一种新的计数方法, 这种方法的基本思想是:先不考虑重叠的情况,把包含于某内容中的所有对象的数目先计算出来,然后再把计数时重复 计算的数目排斥出去,使得计算的结果既无遗漏又无重复,这种计数的方法称为容斥原理 */ #include int pri[100],rc[100]; void ou(in

2014-11-29 12:24:46 495

原创 快速求出欧拉函数值

/* 欧拉函数的定义:E(k)=([1,n-1]中与n互质的整数个数).          因为任意正整数都可以唯一表示成如下形式:                      k=p1^a1*p2^a2*……*pi^ai;(即分解质因数形式)     可以推出:E(k)=(p1-1)(p2-1)……(pi-1)*(p1^(a1-1))(p2^(a2-1))……(pi^(ai-1))  

2014-11-29 09:48:09 1744 1

转载 rmq算法

1. 概述 RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j当然,该问题也可以用线段树(也叫区间树)解决,算法复杂度为:O(N)~O(logN),这里我们暂不介绍。 2.RMQ算法 对于该问题,最容易想到的解决方案是遍历,复杂度是O(n)。但当数据量非常大

2014-11-23 13:00:28 409

原创 hdu Different Digits 1664

/* 题意:给你一个数n找到一个数先要保证这个数的元素最少,在保证元素最少的情况下,保证这个数最小,元素最少指的是, 111111就是一个元素,12222就是连个元素。 思路: 对于任意的整数 n ,必然存在一个由不多于两个的数来组成的一个倍数。 因为 a , aa , aaa…… 取 n+1 个, 则由鸽笼原理(抽屉原理),必有两个模 n 余数相同,相减即得 n 的倍数 m 。而 m

2014-11-22 10:06:24 495

原创 hdu 超级密码 1226

/* 同余的定义:如果m|(a-b)则a同余b即a与b对m取余后的余数相同 定理: 【1】如果a1同余b1(mod m) a2同余b2(mod m)则a1*a2同余b1*b2(mod m) 【2】如果a1同余b1(mod m)  a2同余b2(mod m)则a1+a2同余b1+b2(mod m) 证明: 1)a1=b1+k1*m  a2=b2+k2*m a1*a2=b1*b2+(k1

2014-11-17 15:55:08 540

原创 胡搞

1.查内存的使用情况:tasklist,其实这是查每个进程的情况。 2.查CPU的使用情况,在CMD命令行下没有这类命令了。 另外:有一个systeminfo(执行后,请用鼠标拖动右边的滚动条查看)可以在“处理器(Processor(s))”看到处理器数的基本情况,也可以在“物理内存总量(Total Physical Memory)、可用物理内存(Available Physical Memo

2014-11-16 19:17:57 540

原创 poj 1256 Anagram

/* 题意:有t组数据,每组有不超过13个字符的字符串,有大小写的区分顺序是'A' 按从小到大的顺序输出。 排序后像输出素数环一样输出,问题是怎样进行判重,加一个标记,但这个标记不递归下去,因为排序后相同的字符肯定在一块 当和标记不一样时,因为有for循环存在,所以不会再出现,所以就去掉重复的,因为是递归,所以每一层都有一个flag1,但每 一层的flag1的值是不一样的 */ #i

2014-11-15 16:14:00 499

原创 poj 1231 The Alphabet Game

/* 题意:给出一些字母的坐标,是否能把相同的字母放到同一个矩形中,使每个矩形都不重合,重合一个点也不行 2  两组数据 3 2 K,P,K个字母,每个字母有P个坐标 6 4 8 4 4 2 2 1 2 3 2 4 如果两个矩形映射到x轴和y轴上都都有重合的,那么他们就有重合的 1. 对于同一种字母,求出它出现位置的最左边、最右边、最上边、最下边。这就构成了一个矩形。 2. 对于

2014-11-15 12:56:18 518

原创 poj The Clocks 1166

/* 题意:给一个3*3的图,每个数字都在0-3的范围内,0代表钟表12点,1代表3点,2,3,分别代表6点和9点有九种方式 移动,每种移动特定的几个,每次移动都顺势针移动90度 */ #include int main() {     int a[15],b[15],c[15],i;     for(i=1; i         scanf("%d",&a[i]);    

2014-11-14 12:40:13 406

原创 hdu 1026 Ignatius and the Princess I

/* 题意:给一个n*m的图,图中有X,有.有数字,x代表墙,.代表路,数字代表当走到这个地方的时候,还要停留多少 秒,问你从左上角到右下角的最少时间是多少。当能走通的时候,要把路径打印出来。 除了Map数组和标记数组之外,还应该有一个结构体数组存放当前点是由那个点广搜过来的 */ #include #include #include using namespace std; c

2014-11-13 13:14:58 377

原创 hdu 1254 推箱子

/* bfs+bfs,首先是上一步的人位置能否在某个方向推动箱子,然后就是箱子移动后的标记,开一个三维数组进行标记 前两维标记坐标,第三维标记箱子从什么方向推到该位置 */ #include #include #include using namespace std; int Map[10][10][2],n,m,Map1[10][10][4],bu[4][2]={0,1,0,-1

2014-11-06 12:58:53 454

原创 hdu 逃离迷宫 1728

/* 以源点为为一个队列,搜遍队列所有元素的四个方向,存到另一个队列,在遍历另一个队列 这样我们就不用考虑,是否拐过弯了 */ #include #include #include using namespace std; char Map[105][105]; int Map1[105][105],bu[4][2]= {0,1,0,-1,1,0,-1,0},n,m,T;

2014-11-01 21:25:01 397

原创 HDU 1983 Kaitou Kid - The Phantom Thief (2)

/* dfs+bfs 最多有四个,因为把入口的上下左右的四个方向都堵住,肯定偷不到宝石, 所以用深搜每一个点,用广搜判断是否能偷到,广搜是,用三维数组进行标记,再搜原图, 刚开始搜是,用Map1[][][0]标记第一层,当找到宝石的时候,用Map[][][1]标记,这样原来走过的 的点也能走(想当与把搜到的第一个点当成源点进行搜索)。 */ #include #include #i

2014-11-01 14:31:11 464

空空如也

空空如也

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

TA关注的人

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