自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 扩展欧几里得

首先、扩展欧几里得定理:对于两个不全为0的整数a、b,必存在一组解x,y,使得ax+by==gcd(a,b);实现如下:int exgcd(int a,int b){ int t,d; if(b==0) { x=1; y=0; //注释1return a; } d=gcd(b,a%b);

2015-03-31 22:12:05 380

原创 POJ 2142 The Balance(exgcd应用)

有一种天平,这种天平只有两种重量的砝码a和b,现在要称出重量为c的物品,问你至少需要多少a和b,答案需要满足a的数量加上b的数量和最小,并且他们的重量和也要最小。(两个盘都可以放砝码) 分析:这题我刚刚开始还以为是动规或者bfs,也算是碰了一鼻子的灰吧。假设a砝码我们用了x个,b砝码我们用了y个。那么天平平衡时,就应该满足ax+by==c。x,y为正时表示放在和c物品的另一边,为负时表

2015-03-31 22:07:27 415

原创 HDU 2669 Romantic(exgcd)

扩展欧几里得定理:对于两个不全为0的整数a、b,必存在一组解x,y,使得ax+by==gcd(a,b);然后就没有然后了。。不得不说exgcd用法博大精深#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "set"#include "queue"#include

2015-03-31 19:17:37 484

原创 HDU 1686 Oulipo(KMP)

模板题。。新技能get#include #include int next[10005];char str1[1000005],str2[10005];int cnt;void get_next(int len2)//生成next数组{ int i = 0,j = -1; next[0] = -1; while (i<len2)

2015-03-30 22:25:38 317

原创 字符串匹配的KMP算法

字符串匹配是计算机的基本任务之一。  举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?  许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。  这种算法不太容易理解,网上有很多解释,

2015-03-29 22:25:51 314

原创 HDU 1316 How Many Fibs?(大数+字符串数字比较)

先用大数打表,,##include "string"#include "iostream"#include "cstdio"#include "cmath"#include "algorithm"#define INF 0x3f3f3f3f#define INFL 0x3f3f3f3f3f3f3f3fLLusing namespace std;typedef l

2015-03-29 22:15:53 543

原创 HDU 1159 Common Subsequence(最长公共子序列)

#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "set"#include "queue"#include "vector"#include "cctype"#include "sstream"#include "cstdlib"#include "c

2015-03-19 20:01:12 272

原创 HDU 1429 胜利大逃亡(续)(状压bfs)

与其他bfs不同的是这种题需要用二进制来保存钥匙这个状态,需要多用一维数组来保存。。可以通过位运算  | “拾取钥匙”, & “匹配钥匙”。#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "set"#include "queue"#include "vecto

2015-03-17 20:46:17 325

原创 CodeForces 144C Anagram Search

Anagram Searchtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputA string t is called an anagram of the string s, if

2015-03-16 21:15:10 440

转载 C语言单链表实现19个功能完全详解

#include "stdio.h"#include "stdlib.h"#include "string.h" typedef int elemType ; /************************************************************************//* 以下是

2015-03-16 18:23:39 455

原创 优先队列priority_queue 用法详解

优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来存储。例如:我们常用的操作就是对数据排序,优先队列默认的是数据大的优先级高所以我们无论按照什么顺序push一堆数,最终在队列里总是top出最大的元素。用法:示例:将元素5,3,2,4,6依次push到优先队列中,

2015-03-15 10:47:15 364

原创 mark

isupper(); //检查大写 isdigit(); //检查数字 islower(); //检查小写 reverse(a,a+size); //翻转 reverse(string); memcpy(a,a,sizeof(a)); itoa(intvalue,char*string,intradix);

2015-03-15 09:57:40 534

原创 HDU 3405 World Islands(最短路)

最短路变形。。#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "algorithm"

2015-03-15 08:40:39 358

原创 HDU 2128 Tempter of the Bone II(BFS)

#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "algorithm"#include

2015-03-15 08:32:38 339

原创 HDU 1896 Stones

题意:sempr走在路上会遇见一些石头,如果遇见第奇数个石子,则将它扔到前面,如果是偶数,则什么也不做,如果某一个位置上有多个石头,则先遇见扔的比较近的那个,现在给出一些石头的初始位置和能够扔的距离,问到最后最远处的石头离初始位置多远!#include "stack"#include "cstdio"#include "iostream"#include "cmath"#i

2015-03-12 21:50:02 339

原创 HDU 1509 Windows Message Queue(优先队列)

#include#includeusing namespace std;struct node{ char str[100]; int par; int pri; int index; bool operator<(const node &x) const { if (pri != x.pri) return pri>x.pri; els

2015-03-12 21:39:58 325

原创 HDU 1873 看病要排队(优先队列)

#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "algorithm"#include

2015-03-12 20:45:09 292

原创 HUSTOJ 1002: 奇怪的排序

1002: 奇怪的排序Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 64  Solved: 42[Submit][Status][Web Board]Description最近,Dr. Kong 新设计一个机器人Bill。这台机器人很聪明,会做许多事情。惟独对自然数的理解与人类不一样,它是从右往左读数。比如,它看到123时

2015-03-10 19:09:26 393

原创 HDU 1757 A Simple Math Problem (矩阵快速幂)

/*构造矩阵If x If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10);|f(10) | |a0 a1 a2 ...a8 a9| |f(9)|| f(9) | | 1 0 0 ... 0 0| |f(8)|| .....| = |.. ... ... ... ..| |

2015-03-10 19:07:27 298

原创 CodeForces 448B Suffix Structures

题意:如果串A中包含串B的所有字母, 并且这些字母在串A和串B中排列顺序相同, 输出“automaton”, 否则,如果串A中包含串B的所有字母, 我们在这种情况下在进行讨论,如果A和B的长度相等, 输出“array”,如果A比B长,输出“both”, 否则输出“need tree”。#include "stack"#include "cstdio"#include "iostre

2015-03-10 18:15:21 414

原创 HDU 1595 find the longest of the shortest (Dijkstra)

find the longest of the shortestTime Limit: 1000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2054    Accepted Submission(s): 720Problem Descripti

2015-03-08 19:03:18 366

原创 HDU 1575 Tr A (矩阵快速幂入门)

题意就不多说了,一道基础的矩阵入门。#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "

2015-03-08 09:16:04 350

转载 C的|、||、&、&&、异或、~、!运算

位运算    位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果。位运算符有:    &(按位与)、|(按位或)、^(按位异或)、~ (按位取反)。    其中,按位取反运算符是单目运算符,其余均为双目运算符。    位运算符的优先级从高到低,依次为~、&、^、|,    其中~的结合方向自右至左,且

2015-03-07 21:42:56 508

原创 HDU 2952 Counting Sheep

Counting Sheep Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2308    Accepted Submission(s): 1519Problem DescriptionA while ago

2015-03-07 18:54:47 318

原创 POJ 3660 Cow Contest

题目的意思是说有n头牛比赛,m种比赛结果,最后问你一共有多少头牛的排名被确定了,其中如果a战胜b,b战胜c,则也可以说a战胜c,即可以传递胜负。 这个题目考察的就是传递关系,类似于离散数学中的传递闭包。如果一头牛与所有别的牛的比赛结果都确定,就是说这头牛的位置是确定的用floyd来求出传递闭包。然后判断,输出。#include "stack"#include "cstdio"#incl

2015-03-07 18:37:02 273

原创 POJ 1847 Tram (Floyd)

用floyd模板套一套就可以 ..#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "a

2015-03-07 18:35:15 398

原创 POJ 2403 Hay Points

用C++ string处理 水的不行#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "

2015-03-07 18:30:29 346

原创 HDU 2925 Musical Chairs(约瑟夫环)

约瑟夫环经典问题,题意不解释数学方法推导过程:无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。我们注意到原问题仅仅是要求出最后的胜利者的序号,而不是要读者模拟整个过程。因此如果要追求效率,就要打破常规,实施一点数学策略。为了讨论方便,先把问

2015-03-07 18:04:21 505

原创 HDU 2059 龟兔赛跑 (DP)

龟兔赛跑Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12597    Accepted Submission(s): 4735Problem Description据说在很久很久以前,可怜的兔子经历了人生中最

2015-03-05 19:06:48 370

原创 最短路算法合集

Dijkstraint dist[maxnum]; // 表示当前点到源点的最短路径长度int prev[maxnum]; // 记录当前点的前一个结点int c[maxnum][maxnum]; // 记录图的两点间路径长度int n, line; // 图的结点数和路径数 void Dijkstra(){ b

2015-03-04 21:01:54 361

空空如也

空空如也

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

TA关注的人

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