ACM
村西头的小二哥
这个作者很懒,什么都没留下…
展开
-
组合数
组合数时间限制:3000 ms | 内存限制:65535 KB难度:3描述 找出从自然数1、2、... 、n(0<n<10)中任取r(0<r<=n)个数的所有组合。输入输入n、r。输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。样例输入5 3样例输出5435425415325315214324314原创 2014-07-13 17:02:48 · 786 阅读 · 0 评论 -
蓝桥杯--带分数
100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。 类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N程序输出该数字用数码1~9不重复不遗漏地组成带分数表示原创 2016-03-09 17:17:15 · 632 阅读 · 0 评论 -
蓝桥杯--移动距离
移动距离X星球居民小区的楼房全是一样的,并且按矩阵样式排列。其楼房的编号为1,2,3...当排满一行时,从下一行相邻的楼往反方向排号。比如:当小区排号宽度为6时,开始情形如下:1 2 3 4 5 612 11 10 9 8 713 14 15 .....我们的问题是:已知了两个楼号m和n,需要求出它们之间的最短移动距离(不能斜线方向移动)原创 2016-03-14 18:40:09 · 1884 阅读 · 2 评论 -
二叉树的建立基本操作(链表方式)(一)
学习数据结构,一直对二叉树不了解,对指针的调用一知半解。这二天学二叉树,搞懂了一点点,先写出代码,以后再边学习边来改进。#include #include typedef char DataType;typedef struct node{ DataType data; struct node *lchild; struct node *rchild;原创 2014-11-02 10:31:11 · 1579 阅读 · 3 评论 -
二叉树的基本操作(二)
这是对二叉树一的补充#include #include #define MaxSize 100#define MaxWidth 40int LeafCount=0;int Layer=1;typedef char ElemType;typedef struct tnode{ElemType data;struct tnode *lchild,*rchil原创 2014-11-11 17:00:51 · 739 阅读 · 0 评论 -
最小生成树(二)--prim算法实现以及堆优化
一、最小生成树---prim算法实现思想:1、从任意一个顶点开始构造生成树,假设就从1号顶点吧, 首先将顶点1加入生成树中,用一个一维数组book来标记 哪些顶点已经加入了生成树。 2、用数组dis记录生成树到各个顶点的距离,最初生成树中之后1号 顶点,有直连边时,数组dis中存储的就是1号顶点到该顶点 的边的权值,没有直连边的时候就是无穷大,即初始化dis数组。 3、从数组dis原创 2016-04-29 19:59:25 · 10354 阅读 · 5 评论 -
单源最短路径 --Dijkstra算法-通过边实现松弛
单源最短路径 --Dijkstra算法-通过边实现松弛算法思想:每次找到离源点最近的一个顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径基本步骤如下:1、将所有的顶点分为两部分:已知最短路程的顶点集合P和未知最短路径的顶点集合Q。最开始,已知最短路径的顶点集合P中只有源点一个顶点,我们这里用一个 book数组来记录哪些点在集合P中。例如对于某个顶点i,如原创 2016-04-27 19:07:24 · 731 阅读 · 0 评论 -
最小生成树算法--并查集实现
第一行有两个数,n和m,n表示有n个顶点,m表示有m条边,接下来m行,没行行如a b c,用来表示一条边,意思是从顶点a到顶点b的权值为c。求最小生成树输入数据:6 92 4 113 5 134 6 35 6 42 3 64 5 71 2 13 4 91 3 2运行结果:19主要的代码实现://通过并查集实现最小原创 2016-03-08 17:26:56 · 726 阅读 · 0 评论 -
字符串算法——字典树
Trie树,又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串,其核心思想是空间换时间。它的优点是:利用字符串的公共前缀来节约存储空间。相对来说,Trie树是一种比较简单的数据结构.理解起来比较简单,正所谓简单的东西也得付出代价.故Trie树也有它的缺点,Trie树的内存消耗非常大。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它原创 2016-04-09 20:55:28 · 954 阅读 · 0 评论 -
字符串算法之 AC自动机
最近一直在学习字符串之类的算法,感觉BF算法,虽然很容易理解,但是容易超时,所有就想学习其他的一些字符串算法来提高一下,最近学习了一下AC自动机,虽然感觉有所收获,但是还是有些朦胧的感觉,在此总结一下,希望大家指教。一、AC自动机的原理:Aho-Corasick automaton,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出N个单词,在给出一段包含原创 2016-04-19 20:58:31 · 1658 阅读 · 0 评论 -
D的小L
D的小L时间限制:4000 ms | 内存限制:65535 KB难度:2描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0,,,聪明的你能帮匡匡解围吗?输入第一行输入一个数N(0输出按特定顺序输出所有组合。特定顺序:每一个组合中的值从小到大排列,组合之间按字原创 2014-08-14 10:47:14 · 724 阅读 · 0 评论 -
大数阶乘
时间限制:3000 ms | 内存限制:65535 KB难度:3描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?输入输入一个整数m(0输出输出m的阶乘,并在输出结束之后输入一个换行符样例输入50样例输出3041409320171337804361260816606476884437764156896原创 2014-07-05 15:26:32 · 597 阅读 · 0 评论 -
数独
数独时间限制:1000 ms | 内存限制:65535 KB难度:4描述 数独是一种运用纸、笔进行演算的逻辑游戏。玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个3*3宫内的数字均含1-9,不重复。 每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。原创 2016-03-16 20:55:12 · 723 阅读 · 0 评论 -
幂
幂时间限制:3000 ms | 内存限制:65535 KB难度:4描述 在学习循环的时候,我们都练习过利用循环计算a的k次方。现在给定整数k和一个整数m,请你求出对应的整数a,使得a的k次方是不超过m并且最接近m的数值。 输入一个整数T表示测试组数。对于每组测试数据:给定两个整数k和m 数据范围:1 1 0 0 输出对于每组数据,输出一个整数原创 2014-08-30 21:32:58 · 835 阅读 · 0 评论 -
找球号(三)
找球号(三)时间限制:2000 ms | 内存限制:3000 KB难度:2描述 xiaod现在正在某个球场负责网球的管理工作。为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是偶数。有一天,xiaod发现少了一个球,你能帮他找出丢的那个球的球号吗?输入有多组测试数据。每组数据包括两行。第一行是一个整数N(0随后的一行是N个数,表示所剩的各个球的编号M(原创 2014-09-30 20:29:17 · 948 阅读 · 0 评论 -
子串和
子串和时间限制:5000 ms | 内存限制:65535 KB难度:3描述给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1<=x<=y<=n。输入第一行是一个整数N(N<=10)表示测试数据的组数)每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个...原创 2020-01-01 09:48:31 · 1070 阅读 · 0 评论 -
懒省事的小明
时间限制:3000 ms | 内存限制:65535 KB难度:3描述 小明很想吃果子,正好果园果子熟了。在果园里,小明已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。小明决定把所有的果子合成一堆。 因为小明比较懒,为了省力气,小明开始想点子了: 每一次合并,小明可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1原创 2014-10-14 19:39:01 · 904 阅读 · 0 评论 -
笨蛋难题四
笨蛋难题四时间限制:1000 ms | 内存限制:65535 KB难度:3描述这些日子笨蛋一直研究股票,经过调研,终于发现xxx公司股票规律,更可喜的是 笨蛋推算出这家公司每天的股价,为了防止别人发现他的秘密。他决定对于这家公司的 股票最多买一次,现在笨蛋已经将股票价格列了出来。(这已经不是笨蛋的难题了,他已经解决 呵 呵)。只想难为难为你呀,从股票价格原创 2015-01-06 14:18:08 · 596 阅读 · 0 评论 -
笨蛋的难题(二)
笨蛋的难题(二)时间限制:1000 ms | 内存限制:65535 KB难度:2描述笨蛋就业了,并且是在上千应聘中脱颖而出的,和他一起脱颖而出的还有傻子。公司的老板对二人视为珍宝,为了激励他们的工作热情,给他们一小时发一次工资(很高兴吧)。但每次只发给一个人,并且每次发的工资可能不同(老板很厉害吧)。傻子和笨蛋为了证明自己比对方智商高,他们事先知道每次发的工资的原创 2014-12-31 08:22:30 · 709 阅读 · 0 评论 -
数字分隔(二)
数字分隔(二)时间限制:1000 ms | 内存限制:65535 KB难度:3描述在一个遥远的国家,银行为了更快更好的处理用户的订单,决定将一整串的数字按照一定的规则分隔开来,分隔规则如下:1、实数的整数部分按照每三个数字用逗号分隔开(整数部分的高位有多余的0时,需先将多余的0过滤后,再进行数字分隔,如:0001234567 输出结果为1,234,567.00)2、原创 2015-04-27 10:37:17 · 896 阅读 · 0 评论 -
Turing equation
10399: F.Turing equationTime Limit: 1 Sec Memory Limit:128 MBSubmit: 133 Solved: 72[Submit][Status][Web Board]DescriptionThe fight goes on, whether to store numbers starting with th原创 2015-05-05 21:31:07 · 587 阅读 · 0 评论 -
有趣的组合问题
有趣的组合问题时间限制:500 ms | 内存限制:65535 KB难度:2描述有n 种颜色的乒乓球,每种颜色的乒乓球的个数有任意多个,从中取m个球,问一共有多少种取法。输入每行2个正整数 n,m,(n,m)输出每组输出占一行,输出一共有多少种取法样例输入3 33 22 20 0样例输出1063原创 2015-09-05 18:53:22 · 668 阅读 · 0 评论 -
蓝桥杯--数字排列
今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是一个符合要求的排列:17126425374635当然,如果把它倒过来,也是符合要求的。请你找出另一种符合要求的排列法,并且这个排列法是以74开头的。注意:只填写这个14位的整数,不能填写任何原创 2016-03-16 11:02:07 · 3866 阅读 · 3 评论 -
蓝桥杯--格子中输出
格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。要求字符串在水平、垂直两个方向上都居中。如果字符串太长,就截断。如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include #include void StringInGrid(int width, int heig原创 2016-03-14 15:26:18 · 4187 阅读 · 3 评论