自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

baidu_30309461的博客

这条路我们走的太匆忙,抱着不太真实的欲望

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

原创 Huffman树的创建及编码

直接上代码:#include #include #include #define inf 99999999struct HuffmanNode{ int weight; int lchild,rchild,parent;};void Select(struct HuffmanNode *p,int n,int& num1,int& num2){ int i; in

2016-05-05 12:29:42 413

原创 树的基本操作

没啥好说的,就是一些树的基本操作诶。#include #include #define Max_Size 100struct Binode{ char res; struct Binode *lchild,*rchild;};struct Binode* First_Creat_Bitree(){//建立一棵二叉树 char ch; struct Binode *p

2016-05-05 12:24:31 404

原创 栈和队列的有关操作

直接上代码:#include #include #define Stack_Init_Size 100#define Max_Size 100struct node { int res; struct node *next;};struct node *Init_List_Stack(){ //对链栈的初始化,进栈,出栈操作 struct nod

2016-04-24 10:10:17 291

原创 单链表的基本操作

也就是一些关于单链表的基本操作,不多说上代码:#include #include struct node{int res;struct node *next;};struct node *Creat_link_list(int n){//用尾插法建立一个带有头结点的单链表 struct node *head,*p,*q; int i; q=head=(struct node

2016-04-09 13:43:51 594

原创 Inna and New Matrix of Candies(CodeForces - 400B)

点击打开链接刚开始的时候,题意理解错了。然后在那不停地纠结,网上看别人的博客,没有看到把题意说的很清楚的,还有一个翻译的特别好笑。在这里把题意仔细说一下:在一个n行m列的矩阵里,每行都有一个矮人雕像和一颗糖果,游戏目的是让每一个矮人雕像都得到糖果。现在,让每一行的矮人雕像同时向右走,当有矮人雕像遇到糖果就停下。这称为一个move,注意,注意,一个move可以走多步啊。。(ps:题目

2015-11-03 19:48:05 424

原创 CodeForces 400A(Inna and Choose Options)

点击打开链接这个题考什么呢,事实上啥也没考,只要会C语言就能做,数据量极小,典型的瞎搞搞题目。之前觉得写if语句,可能导致程序太臃肿,所以后面搞了几个for循环,然后在用一个flag标志量,再break几下,结果呢。把程序搞的很复杂。事实上用if语句还是很不错的。一共要写6组。每一组的长度都差不多。不多说了,代码:#include #include using namespac

2015-11-01 19:43:52 325

原创 codevs 1011 (2001年NOIP全国联赛普及组)

这个题,随便写几个数,就可以看出规律来。额题目链接点击打开链接当n为1时,1满足题意当n为2时,2,12满足题意当n为3时,3,13满足题意当n为4时,4,14,24,124满足题意当n为5时,5,15,25,125满足题意当n为6时,6,16,26,36,126,136满足题意规律很明显,就是当取n时的结果=前n/2的项的和加上1(也就是自己本身)通过这个规律,我

2015-10-31 19:20:42 412

原创 二进制的最大公约数(高精度)

二进制的最大公约数对于任意给定的两个二进制数B1,B2 (B1,B2不超过1000位),你的任务是在最短时间内说出它们的最大公约数。【输入】第一行输入一个正整数n(0≤n≤1000),表示测试数据的次数随后有n行测试数据,每行有两个二进制数,两个数据之间有一个或多个空格。 【输出】输出每行给定的两个二进制数的最大公约数      【 输入样例 】     2

2015-10-10 20:33:05 1084

原创 hdu 5451(2015 ACM/ICPC Asia Regional Shenyang Online)

点击打开链接题目的意思非常简单啦,就是一个式子对一个数取模,刚开始的时候有人说是费马小定理,现在想来完全不对,因为M这个数很小,有可能不满足费马小定理的条件。还有就是,这个式子结果并不是整数需要取整(向下取整,以前有个类似的题是向上取整)嘛,做个题需要知道共轭因子,5+26√的共轭因子为5-26√举个例子:设y的整数部分为H当x=0时,y=5+26√,然后加一个共轭

2015-10-04 09:50:21 527

原创 弱校联萌11场 E题Rectangle

点击打开链接题目意思很简单啦,给定三个数,n,m,k,其中n,m为边长,求以n,m为边的矩形中有多少个周长不超过k的矩形.首先需要说明的是,当k>=2*(n+m)时,明显没啥意思,题中矩形周长最大才200000,样例给了个1e9,明显是卖萌的(嘻嘻)。还有就是,看这题的时候,有人说了句组合数学,结果误导了帕斯喵()。例如在5个数中取两个相邻的数可不是c(5,2)哦,是5-2+1。回

2015-10-01 20:53:34 511

原创 hdu 5478(2015 ACM/ICPC Asia Regional Shanghai Online )

今天,帕斯喵学了一下数字逻辑,发现题目完全不会做()看来帕斯喵还是太笨了。于是呢,帕斯喵又来切题了。Problem DescriptionGiven a prime number C(1≤C≤2×105), and three integers k1, b1, k2 (1≤k1,k2,b1≤109). Please find all pairs (a, b) which sat

2015-09-29 19:59:43 617

原创 hdu 5477(2015 ACM/ICPC Asia Regional Shanghai Online)

啦啦啦,经常爆零的帕斯喵又来切题了。 Problem DescriptionMaster Di plans to take his girlfriend for a travel by bike. Their journey, which can be seen as a line segment of length L, is a road of swamps and flats.

2015-09-28 19:40:25 523

原创 hdu 2588

Problem DescriptionThe greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the largest divisor common to a and b,For example,(1,2)=1,(12,18)=6.   (a,b) can

2015-09-23 20:35:52 337

原创 hdu 3501

Problem DescriptionGiven a positive integer N, your task is to calculate the sum of the positive integers less than N which are not coprime to N. A is said to be coprime to B if A, B share no common

2015-09-23 19:56:20 485

原创 hdu5461(2015 ACM/ICPC Asia Regional Shenyang Online)

Given the sequence A with n integers t1,t2,⋯,tn. Given the integral coefficients a and b. The fact that select two elements ti and tj of A and i≠j to maximize the value of at2i+btj,

2015-09-21 20:53:31 330

原创 hdu 1370

Problem DescriptionSome people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical, emotional, and intellectual cycles, a

2015-09-19 11:48:48 268

原创 hdu 1576

A/BTime Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3278    Accepted Submission(s): 2486Problem Description要求(A/B)%9973,但由于A很大,我们只给出n

2015-09-17 21:09:57 280

原创 简单的快速幂

快速幂取模用法:用于求解 a 的 b 次方,而b是一个非常大的数,用O(n)的复杂度会超时。那么就需要这个算法,注意它不但可以对数求次幂,而且可用于矩阵快速幂。假如求 x ^ n 次方我们可以把 n 表示为 2^k1 + 2k2  + 2^k3....,可以证明所有数都可以用前式来表示。(其实就是二进制表示数的原理)那么 x^n = x^2^k1 *

2015-09-16 20:50:42 337

原创 hdu 1754

Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0

2015-09-15 20:39:05 251

转载 线段树的入门级

线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。      对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+1,b]。因此线段树是平衡二叉树,最后的子节点数目为N,即整个线段区间的长度。      使用线段树可以快速的查找某一个节点在若干条线段中出现的次数

2015-09-15 19:30:24 225

原创 hdu5443(2015 ACM/ICPC Asia Regional Changchun Online )

The Water ProblemTime Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 177    Accepted Submission(s): 143Problem DescriptionIn Land wate

2015-09-13 21:15:13 347

转载 RMQ算法详解

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

2015-09-13 20:41:42 379

原创 简单的区间覆盖问题

问题描述:用i表示x轴上坐标为[i-1,i]的区间(区间长度为1),并给出M个不同的整数来表示M个这样的区间。现在要求画出几条线段覆盖住所有的区间,条件是:每条线段可任意长,但要求所画线段长度之和最小,并且线段的数目不超过N。分析:    1) 整型数组p[M]表示所有从0开始的区间长度,假设p[M]已经按从小到大的顺序排好;    2) 如果N>=M,那么用 M条长度为 1 的线

2015-09-12 21:27:07 3002

原创 二分查找

嘛,二分的实现很简单,本质是循环,也可以用递归来实现,效率也很高。int BinarySearch(int array[],int len,int key){ int low,mid,high; low=0; high=len-1; while(low<=high)//一定要有等号,不信的话可以在1 2 3 4 5里查找2试试 { mid=(low+high)/2;

2015-09-11 20:54:50 251

原创 pku 1061

Description两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。

2015-09-11 19:40:29 401

原创 拓展的欧几里得算法

这个算法比较简单,就是欧几里得的逆向过程,应该用递归来实现。int gcd(int a,int b){ int t,d; if(b==0) { x=1; y=0; //不明处1return a; } d=gcd(b,a%b); t=x; x=y; y=t-(a/b)*y; //不明处2r

2015-09-11 18:38:11 289

原创 hdu 1285 邻接表数组实现

相比邻接矩阵,邻接表的拓扑排序麻烦在判断重边上,但邻接表节省内存和时间,是一个很不错的方法。#include #include using namespace std;int u[1100],v[1100],indegree[510],first[1100],next0[1100];int main(){ int n,m; while(cin>>n>>m) {

2015-09-10 21:15:41 283

原创 hdu 1285

确定比赛名次Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17820    Accepted Submission(s): 7132Problem Description有N个比赛队(1 Input

2015-09-09 20:15:56 305

转载 简单的拓扑排序模板

拓扑排序一.定义    对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若 ∈E(G),则u在线性序列中出现在v之前。   通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。   注意:   1)只有有向无环图才存在拓扑序列;

2015-09-09 19:38:23 439

原创 poj 1459

A power network consists of nodes (power stations, consumers and dispatchers) connected by power transport lines. A node u may be supplied with an amount s(u) >= 0 of power, may produce an amount 0 <=

2015-08-24 00:16:55 247

原创 poj 1273

Every time it rains on Farmer John's fields, a pond forms over Bessie's favorite clover patch. This means that the clover is covered by water for awhile and takes quite a long time to regrow. Thus, Fa

2015-08-24 00:13:37 227

原创 poj 1860

Several currency exchange points are working in our city. Let us suppose that each point specializes in two particular currencies and performs exchange operations only with these currencies. There can

2015-08-20 20:26:57 238

原创 poj 2240

Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of a currency into more than one unit of the same currency. For example, suppose that 1 US Dollar buys 0.5 Britis

2015-08-20 19:41:22 248

原创 poj 3268

One cow from each of N farms (1 ≤ N ≤ 1000) conveniently numbered 1..N is going to attend the big cow party to be held at farm #X (1 ≤X ≤ N). A total of M (1 ≤ M ≤ 100,000) unidirectional (one-way r

2015-08-20 19:39:08 236

转载 Dijkstra最短路算法

上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为“多源最短路”。本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”。例如求下图中的1号顶点到2、3、4、5、6号顶点的最短路径。       与Floyd-Warshall算法一样这里仍然使用二维数组e来存储顶点之间边的关系,初始值如下。

2015-08-20 11:09:51 232

原创 poj 1734

DescriptionThere is a travel agency in Adelton town on Zanzibar island. It has decided to offer its clients, besides many other attractions, sightseeing the town. To earn as much as possible from

2015-08-19 21:19:20 306

转载 邻接表(数组实现)

之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。1234564 5 1 4 9 4 3 8 1 2 5 2 4 6 1 3 7

2015-08-19 16:56:30 312

原创 hdu 1599

杭州有N个景区,景区之间有一些双向的路来连接,现在8600想找一条旅游路线,这个路线从A点出发并且最后回到A点,假设经过的路线为V1,V2,....VK,V1,那么必须满足K>2,就是说至除了出发点以外至少要经过2个其他不同的景区,而且不能重复经过同一个景区。现在8600需要你帮他找一条这样的路线,并且花费越少越好。  Input第一行是2个整数N和M(N  

2015-08-19 16:07:42 299

转载 弗洛伊德算法

坐在马桶上看算法:只有五行的Floyd最短路算法2014-03-26 09:04 ahalei 51CTO博客 我要评论(0) 字号:T | T此算法由Robert W. Floyd(罗伯特·弗洛伊德)于1962年发表在“Communications of the ACM”上。同年Stephen Warshall(史蒂芬·沃舍尔)也独立发表了这个算法。Rober

2015-08-19 15:09:53 749

原创 hdu 4109

Ali has taken the Computer Organization and Architecture course this term. He learned that there may be dependence between instructions, like WAR (write after read), WAW, RAW.        If the distan

2015-08-18 21:16:27 344

线段树基本操作的总结

关于线段树的一些基本操作,以及一些经典例题,代码写的非常简洁和漂亮

2015-08-08

线段树总结-超级详细版

线段树总结以及线段树一些经典的例题,代码写的非常简洁和漂亮。

2015-08-08

空空如也

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

TA关注的人

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