卡特兰数(Catalan UVa 991 10303 10007 1478)

一、介绍         卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰(1814–1894)命名。         历史上,清代数学家明安图(1692年-1763年)在其《割圜密率捷法》最早用到“卡塔兰数”。         卡特兰序列的前11项为:1...

2014-09-12 17:17:58

阅读数:1433

评论数:2

幻方(UVa 10087 - The Tajmahal of ++Y2k)

题目:幻方构造,给你n*n的方形,在里面填上连续的数字,使得每行、每列和对角线上的数字和是m。 分析:数学、构造。幻方的构造方法已经完全被解决,直接利用公式求解即可。             幻方的幻和为:p =(n*n+1)* n / 2             如果 m = k*n + p 则...

2014-05-12 20:35:43

阅读数:1137

评论数:0

UVa 12160 - Unlock the Lock

题目 开密码锁,有R个按钮,每次按对应的按钮,密码会增加对应的值,已知初始状态和开锁的密码,问最少的按钮次数。 分析 最短路,bfs。直接利用bfs搜索即可。 说明 1000题了,✿✿ヽ(°▽°)ノ✿ 还要考ieltso(╯□╰)o #include...

2018-08-09 13:54:08

阅读数:11

评论数:0

UVa 11965 - Extra Spaces

题目 将字符串中连续的空格合并成一个。 分析 模拟。用两个指针模拟即可。 说明 第999题了。。。 #include <stdio.h> #include <stdlib.h&...

2018-08-08 20:02:31

阅读数:20

评论数:0

UVa 11093 - Just Finish it up

题目 有N个加油站构成一个环形,每个加油站可以加ai的油,从第i个加油站走到第i+1个需要消耗bi的油。问按照顺序从哪个加油站开始可以走一圈回到出发点。初始没有油。 分析 贪心。计算出每个点的净值:c[i] = p[i] - q[i]。有点像最大子段和,保存当前区间的起始点和走...

2018-08-08 16:13:50

阅读数:16

评论数:0

UVa 735 - Dart-a-Mania

题目 飞镖游戏,有三个飞镖,靶子上面分成1-20的分数,每个区域的分数可能是对应分数的1,2,3倍。中心50分,不在靶子上0分。问对应x分数有多少种分数组合与排列。 分析 枚举。这里没有要求最后为倍数,直接把0-20的1-3倍去重打成表,然后枚举即可。 说明 雅思...

2018-08-08 14:05:48

阅读数:14

评论数:0

UVa 11254 - Consecutive Integers

题目 一个整数n可以可以被分解成连续的整数的和,求最长的分解。 分析 数学,枚举。 取p #include <stdio.h> #include <stdlib.h&amp...

2018-07-18 09:46:39

阅读数:26

评论数:0

UVa 11958 - Coming Home

题目 一个人在等车,已知当前的时间,和每辆公交车的开车时间和他到家需要的时间,问他最早什么时间到家。 分析 暴力模拟。枚举所有的车找到最早到家的即可。 说明 如果当前时间晚于发车时间,可以等明天的车。 #include <stdio.h...

2018-07-10 17:58:40

阅读数:24

评论数:0

UVa 957 - Popes

题目 给定任期Y,以及每个人当选的时间,问哪个时间段在职的人最多。 分析 数据结构,单调队列。因为数据是有序的,直接利用单调队列求解。弹出条件为队列首位的当选时间差,最长的队列长度就是答案。 说明 开始想用树状数组和线段树。。。 #include &...

2018-07-09 17:41:47

阅读数:15

评论数:0

UVa 13025 - Back to the Past

题目 按照题目要求查询2013年05月29日是星期几 分析 直接用电脑查一下 说明 ╮(╯▽╰)╭ #include<stdio.h> int main() { printf("May 29...

2018-06-14 21:17:04

阅读数:22

评论数:0

UVa 11629 - Ballot evaluation

题目 有很p个变量,每个变量有一个对应的值,然后判断g个逻辑表达式(逻辑表达式都是加和以及逻辑判断组成)是否正确。 分析 利用map存储对应的值,然后计算表达式判断即可。 说明 注意精度控制。 #include <cstdio&am...

2018-05-22 10:34:00

阅读数:21

评论数:0

UVa 10903 - Rock-Paper-Scissors Tournament

题目 n个人玩剪刀石头布游戏,求每个人赢的概率。 分析 概率为:w/(w+l) 说明 又是太久没刷题了 #include <stdio.h> #include <stdlib.h&...

2018-05-20 22:27:27

阅读数:24

评论数:0

UVa 10276 - Hanoi Tower Troubles Again!

题目 汉诺塔,有n个柱子,按顺序把从零开始的编号盘子放上去,每次同一个柱子上的相邻的两个盘子编号加和需要是平方数,如果不行就放到下一个柱子上,直到不能放位置,问最多能放多少个。 分析 模拟,直接模拟即可。 说明 (⊙o⊙)… #include &am...

2018-05-07 10:27:06

阅读数:33

评论数:0

UVa 12614 - Earn For Future

题目 有N个非负数,从里面取出一些,是的他们的AND后的值最大。 分析 根据AND的定义可知,X AND Y ≤ X 并且 X AND Y ≤ Y,所以取最大的数字即可。 说明 (⊙o⊙)… #include <stdio.h&a...

2018-04-07 13:47:24

阅读数:47

评论数:0

UVa 10576 - Y2K Accounting Bug

题目 已知一个公司的12个月的账目,每个月有两种状态盈利s或损失d。现在只知道每连续五个月的收支状态都是相同的亏损(1~5,2~6,..,8~12的收支总和相同),问公司最多可能有多大盈利。 分析 枚举、位运算。 设1~5月的收支分别为a、b、c、d、e,那么6~12一定...

2018-04-06 21:12:39

阅读数:41

评论数:0

UVa 230 - Borrowers

题目 模拟图书馆图书的借用状态。书有三种状态:1在图书馆的书架上,2被接走了,3刚还回来还没有放到书架上。每次有三种操作:1借书,2还书,3把换回来的书放回书架。 分析 模拟。数据较小,直接枚举查找即可,使用map存储标记。 说明 注意每次“SHELVE”输出END...

2018-04-05 17:49:22

阅读数:44

评论数:0

UVa 183 - Bit Maps

题目 黑白图片存储有两种格式:位图格式和压缩格式; 位图格式:使用一个矩阵(元素为01)来表示一个黑白图片; 压缩格式:图像是单一颜色(全都是0或1),则图像为对应的值(0或1),否则图像的值为D,并将图形分成四个矩形(不能平均分时左侧和上侧多取一个像素),分别判断四个子图像,...

2018-04-04 14:04:59

阅读数:42

评论数:0

UVa 10015 - Joseph's Cousin

题目 约瑟夫环,第i轮使用第i个素数作为淘汰的步长。 分析 数论,公式。打表计算前3501个素数,然后利用公式求解。 说明 关于公式的很详细的帖子:https://blog.csdn.net/tingyun_say/article/details/52343897 ...

2018-03-26 12:59:37

阅读数:79

评论数:0

UVa 155 - All Squares

题目 在一个平面上,左上角为(0,0),右下角为(2048,2048),在中心(1024,1024)放置一个边长为2k+1的正方形,然后递归的在每个角落上放置边长为k的正方形,直到正方形的尺寸变为1,问坐标点(x,y)在多少个不同的正方形中。 分析 递归。利用递归求解。 说...

2018-03-23 21:02:17

阅读数:43

评论数:0

UVa 11584 - Partitioning by Palindromes

题目:将一个字符串切割成回文串,求最小的切割次数。 分析:动态规划(DP)。首先计算回文串,然后求解。 step1: 求解回文,按长度分阶段; 状态定义:f(i, j) 为str[i..j]是否为回文的判定; 转移方程:f(i, j) = f(i+1, j-1),{str[i] =...

2018-03-18 15:58:20

阅读数:40

评论数:0

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