自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 (转)堆?栈—深刻理解堆与栈

原文地址:http://blog.csdn.net/zlp8383178/article/details/1657897堆栈在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。要点:堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分

2013-07-31 21:06:56 398

转载 (转)堆?栈?(补充)

五大内存分区    在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。    栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。    堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在

2013-07-31 21:06:33 379

转载 堆溢出和栈溢出

所谓溢出广义上就是超出范围,整数就有溢出,比如8字节无符号整数是0到2550 - 1就是下溢 255 + 1就是上溢说正题int f(int x){ int a[10]; a[11] = x;}这个就是栈溢出,x被写到了不应该写的地方。在特定编译模式下,这个x的内容就会覆盖f原来的返回地址。也就是原本应该返回到调用位置的f函数,返

2013-07-31 21:05:48 4762

转载 (转)[排序]SORT QSORT

原文地址:http://blog.csdn.net/gokou_ruri/article/details/7387696一.sort函数的用法   排序是一种经常要用到的操作。如果每次都自己写个冒泡之类的O(n^2)排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错。STL里面有个sort函数,可以直接对数组排序,复杂度为n*log2(n)。使用这个函数,需要包含头

2013-07-31 21:04:52 451

原创 POJ 1258 Agri-Net(裸prim)

有多个点,让你找出将所有点联通的最短路径,直接裸prim,注意是多组数据。#include#define maxn 200000int N,i,j,k,sum;int weight[110][110],distance[110];//distance数组表示点到生成树的距离int record[110];//记录该点是否被访问int findmin();//每次找离生成树最近的

2013-07-31 21:04:18 432

原创 POJ 1251 Jungle Roads(最小生成树裸prim)

有多个岛屿,部分岛屿之间有路连接,但是维护一条道路要花费一定的费用。现在让你在保证所有岛联通的情况下,使维护费用最小并输出。思路:直接的prim。#includeint T,i,j,k,num,wei;int record[30000],distance[30000];//记录该点是否被访问int weight[3000][3000];int findmin();//寻

2013-07-31 21:03:39 465

原创 HDU 1102 Constructing Roads(prim)

有N个村庄,你需要修建道路使所有的村庄都连通,修建道路要花费一定的权值。有些道路已经修好,不用再修建,让你求出最少所需的权值。直接的prim,将已经修过的路把权值修改为0即可,注意是多组数据。#include#includeint distance[5000];int record[100+5],weight[105][105];int i,j,k,N,Q;int

2013-07-31 21:02:56 408

原创 POJ 1861 Network(Kruskal)

题意:有N台机器,M条已知的边和权值。求最小生成树,并输出最大边和所有的边。水题,直接复制Kruskal模板即可。//依次添加最小的边,使图不能形成环即可#include#include#define num 100000struct book//定义边的结构体{ int x,y,w;//左端点,右端点,权值}edge[num];i

2013-07-31 21:01:58 484

转载 短小精悍的线性时间素数筛法(转)

http://blog.csdn.net/mysword/article/details/5122855输入n,求n以内的所有素数算法用两个数组存储数据:一个是prime[],存储n以内所有的素数,其index为pi,初值为0一个是is_prime[i],表示自然数i(i算法如下:linear_prime_sieves1: set is_prime[] to true

2013-07-31 21:00:18 467

原创 POJ 3006 Dirichlet's Theorem on Arithmetic Progressions(素数筛的简单应用)

题目大意:给一个等差数列,让你在这个数列中找出第k个素数。由于数据很小,并有多组输入,所以直接素数筛打表然后即可,暴力也可以过。#include#include#define maxn 1000000int is_prime[maxn]={0};int main(){ int i,j,k,a,d,n,ans; is_prime[1]=1; is

2013-07-31 20:59:39 506

原创 POJ 2234 Matches Game(直接的NIM)

//简单直接的博弈论问题,两个人分别取n堆石子,谁取到最后一颗谁赢,SG(x)=x,直接异或即可#include#define maxn 20+10int m;long number[maxn];int find_sg(int x)//SG函数{ return x;}int main(){ while(scanf("%d",&m)!=

2013-07-31 20:57:12 442

原创 POJ 2484 A Funny Game(找规律)

一道简单的博弈题题意:有n个硬币围成一圈,两人轮流拿取,每次可以取1个或者相邻的2个,不能取的人输思路:n=1/2时很明显先手赢        当n为偶数且n>2时先手取后,后手只需要取和它相对的即可,一定会保证后手取最后一个    当n为奇数且n>2时当先手取后,若先手取1个,后手去掉与之相对的2个即转化为n为偶数时的情形;若先手取2个,后手去掉与之相对中间那一个也转化为n为偶数

2013-07-31 20:56:41 523

原创 POJ 2318 toys 叉积的简单运用

题目大意:有一个盒子,n块挡板把盒子分成n+1部分,有m个玩具给出坐标,判断盒子中每个部分各有多少个玩具。我的思路:直接枚举每个玩具在各个区域的情况,利用叉积判断,若叉积大于0则在该侧。(也可以用二分优化)#include#include#include#define eps 1e-10int dcmp(double x){ if(fabs(x)<eps)

2013-07-31 20:55:56 531

原创 XDU 1121 排序(sort函数的简单应用)

直接调用sort函数即可,水题,学会了多个条件下的排序.#include#include//sort函数的调用,学会了有多个排序条件的排序struct node{ int power,magic,speed,mark;}people[1000];bool cmp(node x,node y){ if(x.power!=y.power)

2013-07-31 20:54:43 424

原创 XDU 1049 斐波那契数(大数取模)

题意:给定一个数i,判断第i个斐波那契数是偶数还是奇数。思路:推理可得斐波那契数列为偶,奇,奇,偶,奇,奇...因此,直接对i取模并判断即可。(主要是大数取模)#include#include//根据推理,斐波那契数列1个偶数紧跟2个奇数,因此直接取模即可,注意数据很大。int mod(char str[],int num)//大数取模操作{ int number[1

2013-07-31 20:53:57 688

原创 XDU 1042 Qinz喝饮料(模拟)

思路:每次倒上饮料后从最远的地方往回走,直到全部服务完或者没有饮料为止,直接模拟即可。#include//模拟题,每次取茶和咖啡都一样,每次取7杯饮料然后从最远的地方往回送,直到全部服务完毕int main(){ int t,n,m,i,j,k; int timepause; scanf("%d",&t); while(t--) {

2013-07-31 20:53:04 572

转载 XDU 1003 最喜欢的数字

尼玛坑爹的题总超时,现在还是不会,先赋上别人AC的代码吧。原博客地址:http://blog.csdn.net/tankpt/article/details/8797343#include#define N 100001int num[N];int mark[N];int prim[N];int pnum=0;int main(){ int i,j;

2013-07-31 20:52:08 594

原创 UVA 11292 The Dragon of Loowater(贪心)

题意:有n个头的恶龙,需要杀掉它。现在有m个骑士可以雇佣,每个能力值为x的骑士可以砍掉一个直径不超过x的龙头,且需要支付x金币。现在让你求出将恶龙杀掉所需要的最少支付金币的数量,如果不能杀掉输出“Loowater is doomed!”。思路:排序之后直接贪心。每次用能力值最少去杀直径最小的龙头(前提可以杀掉),直到杀完或者杀不掉为止。#include#includeboo

2013-07-31 20:50:31 545

原创 XDU 1010 素数环

#include#include#includevoid dp(int x,int y);int isprime(int m);int n,a[25],b[25];int main(){ int i,j=0; b[1]=1;//用b数组保存第i个位置的数字为b[i] while(scanf("%d",&n)!=EOF) {

2013-07-31 20:46:08 378

空空如也

空空如也

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

TA关注的人

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