
算法
mayday526
这个作者很懒,什么都没留下…
展开
-
HDU5636 -- Shortest Path -- floyd
问题描述有一条长度为nn的链. 节点ii和i+1i+1之间有长度为11的边. 现在又新加了3条边, 每条边长度都是1. 给出mm个询问, 每次询问两点之间的最短路.输入描述输入包含多组数据. 第一行有一个整数TT, 表示测试数据的组数. 对于每组数据:第一行包含2个整数nn和mm (1 \le n,m \le 10^5)(1≤n,m≤105)表示节点的数目和询问数目.原创 2016-03-16 21:22:14 · 391 阅读 · 0 评论 -
构造回文
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子1: abcda google输出例子1: 2 2#include <iostream>#inclu转载 2017-07-19 20:29:54 · 416 阅读 · 0 评论 -
POJ3070--Fibonacci--矩阵快速幂
DescriptionIn the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥ 2. For example, the first ten terms of the Fibonacci sequence are:0, 1, 1, 2, 3, 5, 8, 13, 21,原创 2016-03-11 19:03:10 · 341 阅读 · 0 评论 -
hrbust1140--数字和问题--快速幂
Description定义一种操作为:已知一个数字,对其各位数字反复求和,直到剩下的数是一位数不能求和为止。例如:数字2345,第一次求和得到2 + 3 + 4 + 5 = 14,再对14的各位数字求和得到1 + 4 = 5,得到5将不再求和。现在请你求出对ab进行该操作后,最终得到的数字是什么。Input对于每组数据:第一行,包含两原创 2016-03-11 12:39:24 · 920 阅读 · 0 评论 -
FZU1752&1650--A^B mod C--快速幂取模
Problem DescriptionGiven A,B,C, You should quickly calculate the result of A^B mod C. (1InputThere are multiply testcases. Each testcase, there is one line contains three integers A, B and原创 2016-03-11 11:01:31 · 366 阅读 · 0 评论 -
转自啊哈磊--数组实现邻接表
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。4 51 4 94 3 81 2 52 4 61 3 7第一行两个整数n m。n表示顶点个数(顶点编号为1~n),m表示边的条数。接下来m行表示,每行有3个数x y z转载 2016-02-22 22:13:08 · 324 阅读 · 0 评论 -
蓝桥杯--最短路 -- Djikstra,Bellman-Frod,SPFA
问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 3原创 2016-02-22 22:07:58 · 682 阅读 · 0 评论 -
PTA-- 快速排序(25)
1045. 快速排序(25)时间限制200 ms内存限制65536 kB代码长度限制8000 B判题程序Standard作者CAO, Peng著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放原创 2016-02-22 20:05:05 · 2330 阅读 · 0 评论 -
PTA--魔法优惠券——stl快速排序
在火星上有个魔法商店,提供魔法优惠券。每个优惠劵上印有一个整数面值K,表示若你在购买某商品时使用这张优惠劵,可以得到K倍该商品价值的回报!该商店还免费赠送一些有价值的商品,但是如果你在领取免费赠品的时候使用面值为正的优惠劵,则必须倒贴给商店K倍该商品价值的金额…… 但是不要紧,还有面值为负的优惠劵可以用!(真是神奇的火星)例如,给定一组优惠劵,面值分别为1、2、4、-1;对应一组商原创 2016-02-22 20:04:17 · 1415 阅读 · 0 评论 -
PAT--公路村村通--最小生成树--Kruskal算法
现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。输入格式:输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。输出格式:输出村村通需要的最原创 2016-02-22 20:01:39 · 3285 阅读 · 0 评论 -
前缀表达式求值--栈
算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。前缀表达式指二元运算符位于两个运算数之前,例如2+3*(7-4)+8/4的前缀表达式是:+ + 2 * 3 - 7 4 / 8 4。请设计程序计算前缀表达式的结果值。输入格式:输入在一行内给出不超过30个字符的前缀表达式,只包含+、-、*、\以及运算数,不同对象(运算数、运算符号)之间以空格分隔。输出格式:输原创 2016-02-22 19:58:02 · 2764 阅读 · 1 评论 -
NYOJ128--前缀表达式求值--递归版
前缀式计算时间限制:1000 ms | 内存限制:65535 KB难度:3描述先说明一下什么是中缀式:如2+(3+4)*5这种我们最常见的式子就是中缀式。而把中缀式按运算顺序加上括号就是:(2+((3+4)*5))然后把运算符写到括号前面就是+(2 *( +(3 4) 5) )把括号去掉就是:+ 2 * + 3 4 5原创 2016-02-22 19:55:55 · 2390 阅读 · 0 评论 -
PAT--完美数列-快速搜索
给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M 现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(5)是输入的正整数的个数,p(9)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式:在一行中输出最多可以选择多少个数可以用它们组成一个完美原创 2016-02-22 19:37:04 · 279 阅读 · 0 评论 -
BST二叉搜索树
BST的查找算法//递归查找struct node *Find(ElementType key,struct node *BST){ if(!BST) return NULL;//查找失败 if(key > BST->data){ return Find(key,BST->right); }else if(key < BST->data){原创 2017-09-01 22:24:53 · 375 阅读 · 0 评论