自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UVA - 11039 Building designing

题目大意:搭建楼层,下一层比上一层大且颜色交替(即正负交替),问最多能搭几层解题思路:正负数分别存于两个数组,轮流在两个数组取合适的数。模拟过程好复杂而且 WA 好几次。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>using namespace std;int neg

2016-07-31 10:46:09 177

原创 UVA - 11636 Hello World!

题目大意:至少多少次粘贴之后可以达到所需条数解题思路:每次粘贴的最大条数是 2^n,枚举次数达到跳出。看题目看了很久,略尴尬#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>using namespace std;int cnt = 0;int main() {

2016-07-31 10:12:38 170

原创 UVA - 11462 Age Sort

题目大意:n 个整数排序解题思路:以为有坑然而…真的只是水#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>using namespace std;int age[30000000];int cmp(const void*a, const void*b) { re

2016-07-31 10:09:31 179

原创 UVA - 10562 Undraw the Trees

题目大意:给出一棵树,先序遍历,输出结果。最外层给一对括号,每个节点的孩子节点用()包起,若无孩子节点,直接输出()。解题思路:递归,注意节点不一定是字母。若节点同列的下一行是 |,表示该节点有孩子,进入 dfs,无则直接输出括号。dfs(n, l ,r),n 表示当前层,l(l>0) 表示最左的节点,r 最右。距离根据 - 的长度来确定。#include<iostream>#include<cs

2016-07-28 16:08:29 174

原创 UVA - 839 Not so Mobile

题目大意:树状天平。每一行输入 w1,d1,w2,d2,若 w1×d1 == w2×d2,则平衡。当 w 为 0,说明有一个子天平,w1,w2 同时为 0,下一行给出 w1 的子天平信息。解题思路:递归输入,同时判断,不平衡时返回 0。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cm

2016-07-28 16:08:05 175

原创 UVA - 327 Evaluating Simple C Expressions

题目大意:根据 ++、– 的性质计算,a = 1,b = 2……z = 26。输出计算结果和计算后各字母的值。解题思路:暴力模拟。每碰到一个字母,检查该字母前后是否存在前缀,若存在,将改字母对应的值 +1 或 -1,找到字母前的一个符号 + 或 -,进行对应计算,接着检查该字母是否存在后缀,若存在,将改字母对应的值 +1 或 -1。输出即可。注意自增符号前缀和后缀的计算顺序是不同的,有点难处理。#i

2016-07-28 16:07:44 156

原创 UVA - 712 S-Tree

题目大意:满二叉树,节点值为 0 或 1。给出一个 n 表示该二叉树的深度,第二行 x3,x1,x2 表示从根节点开始每一层的值,第三行表示最后一层即叶子的值。接着给出要查找的次数 m,以下 m 行每行分别表示 x1,x2,x3 的值。有一颗小球从根节点出发,遇到 0 左走 1 右走,输出最后到达的叶子节点的值。解题思路:根据满二叉树做孩子为 2k,右孩子 2K+1 的特点解决。创建一个数组 lea

2016-07-28 16:07:23 233

原创 UVA - 297 Quadtrees

题目大意:四叉树,给 32 × 32 的格子涂色,p 表示将当前格子分为四个象限,根据 1、2、3、4 象限的顺序处理,e 不上色,f 将当前格子涂黑,问两个图重叠后涂黑的格子数是多少。解题思路:递归,二维数组模拟格子涂色,两轮后计算黑色格子数。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#inclu

2016-07-27 20:41:47 210

原创 UVA - 548 Tree

题目大意:给一棵树的中序遍历和后序遍历,找一叶子到根的值最小的叶子,若有多解,输出叶子本身最小的那个叶子。解题思路:根据中序遍历和后序遍历建树。后续的最后一个数是根节点,该数在中序中的前一个数是该数的左孩子,cnt 是左子树节点个数。dfs 求解。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#incl

2016-07-27 20:41:23 165

原创 UVA - 112 Tree Summing

题目大意:给一个数和一棵树问是否有一叶子到根的值为该数。解题思路:递归,若当前节点无孩子(叶子)则判断和是否为所需数字。结束后需将尾部反括号读入以免影响下一个样例。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<ctype.h>using namespa

2016-07-27 20:40:42 284

原创 UVA - 101 The Blocks Problem

题目大意:操作积木。有 0~n-1 个积木,初始状态是并排横放。有四种操作:move a onto b,将 a、b 上的方块放回原位然后将 a 放在 b 上;move a over b,将 a 上的方块放回原味然后将 a 放在 b 所在位置的最顶上;pile a onto b,将 b 上的方块放回原味然后将 a 及其上所有的方块放到 b 上;pile a over b,将 a 及其上所有方块放到 b

2016-07-26 20:00:39 220

原创 UVA - 540 Team Queue

题目大意:t 个队伍排队,若队伍中已经有自己队伍的人,则排到这个人的后面,若没有,排到整个队列的后面。解题思路:模拟,映射把每个人和队伍号对应起来,定义两个队列,一个排队,另一个记录某个队伍已排人数。本来是自己写数组模拟的,TLE,看了小紫学 STL。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#in

2016-07-26 20:00:17 270

原创 UVA - 10050 Hartals

题目大意:给 T 个样例,连续 N 天,从周日开始,P 个队伍,每个队伍罢工的日子是所给队伍数字的倍数,多个队伍在同一天罢工只算一次,且周五周六不算,问罢工天数。解题思路:模拟,把罢工天数置为 1,每周五周六置为 0,最后扫一遍。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath

2016-07-26 19:59:48 199

原创 UVA - 202 Repeating Decimals

题目大意:求循环小数,循环节用()括住,并输出循环节长度。解题思路:a/b 时,b 不变,a 取余数循环除 b,当 a 出现相同数值时,小数开始循环,所以有一个数组用来判断被除数是否出现过。模拟除法过程,储存商,当余数重复,停止运算。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cma

2016-07-23 19:44:24 239

原创 CodeForces - 560A Currency System in Geraldion

题目大意:货币系统,给出金额大小,输出这些金额不能表示的数中最小的数,可以用任意张。解题思路:找不到更水的题了……若金额里有 1,则所有数都能表示,输出 -1,若没有 1,则 1 最小输出 1。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<ctype.h

2016-07-23 19:20:14 468

原创 HDU - 5319 Painter

题目大意:给出一个表格,两个颜色的刷子,可以沿‘\’画,或沿‘/’画,前者红色,后者蓝色,相交绿色。‘.’表示没画。给出画后的表格,问至少画几下。解题思路:每遇到一个颜色,就查找右下或左下是否可以一笔划过去,若不行则说明到该格就停笔,笔画数 +1。注意给的 n 是行数,列数要自己求,而且第一行和第一列不能存。#include<iostream>#include<cstdio>#include<c

2016-07-23 19:17:25 263

原创 UVA - 1149 Bin Packing

题目大意:给一些高度不同的商品,要放在一些高度固定相同的箱子里,商品与箱子宽度相同,且每个箱子最多放两个商品,问最少要用多少个箱子。解题思路:将商品按高度排序,最大与最小的配对,若小于等于箱子高度,则放进箱子,置为 0,箱子数 +1,若大于则不管,最后一个循环查找剩下不能配对的商品单独放进箱子,找到一个箱子 +1。#include<iostream>#include<cstdio>#includ

2016-07-23 19:06:04 171

原创 CodeForces - 560C Gerald's Hexagon

题目大意:给出六边型六条边的长度,计算六边型内的小三角形有几个。解题思路:找规律。补成大三角形,用大三角形内的小三角形总数(连续三边之和的平方)减去补上的三角形(补的边长的平方)#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<ctype.h>using

2016-07-23 18:56:09 322

原创 CodeForces - 560B Gerald is into Art

题目大意:给出一块木板的长和宽和两幅画的长和宽,问是否能把两幅画同时放在木板里。解题思路:每幅画的任意一边之和要小于木板的长(或宽),且每幅画的另外一边要同时小于木板的宽(或长)。说起来有些拗口,其实很好理解。#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include

2016-07-23 18:53:14 287

原创 UVALive - 3266 Tian Ji -- The Horse Racing

题目大意:田忌赛马,牺牲慢马以获得最大利益,输入田忌的马速和秦王的马速,每一轮输的人要给赢的人 200,输出可以获得的奖金。解题思路:排序,从最大的开始比较,若比不过则比较最小的,最小若还是比不过就把田忌最小的马和秦王最大的马比,输一轮。然后再从最大的开始比,直至结束。#include<iostream>#include<cstdio>#include<cstdlib>#include<cst

2016-07-23 18:48:03 303

原创 UVA - 11234 Expressions

题目大意:一个表达式,可以用栈来处理,同时可以用队列来处理。现在告诉你用栈处理的表达式顺序,求其用队列表示的顺序。几种操作数为小写字母,操作符为大写字母。解题思路:采用栈来模拟,则为树的后序遍历,而用队列表示的是其层次遍历的逆序输出。所以根据后序遍历建树,再层次遍历该树,逆序输出。即遇到小写字母就建立一个只有根节点的树,并将该地址入栈。遇到大写字母,就建立一个根节点为该大写字母,然后从栈中取出两个地

2016-07-23 09:05:06 214

原创 UVA - 11111 Generalized Matrioshkas

题目大意:俄罗斯套娃,负数在前正数在后,表示该尺寸的娃娃,中间包含的数字是该娃娃里包含的小娃娃,要保证里面的娃娃总尺寸不大于外一层,问所给的数据是否正确。解题思路:定义一个能储存尺寸和能容纳大小的结构体,创建这种类型的栈,负数入栈,正数时,若还能包含,则出栈并且减去相应尺寸,最后栈空则表示正确。#include<iostream>#include<cstdio>#include<cstdlib>

2016-07-23 09:04:17 236

原创 UVA - 442 Matrix Chain Multiplication

题目大意:给出 n 个 矩阵名 行 列,然后给一些式子,求每个式子需要经过多少次计算(乘和加),括号内先算。解题思路:首先要对矩阵乘法有一些了解,数学渣表示百度了很久。 A(r*c)、B(r*c)两个矩阵能否进行乘法运算的充要条件是是否满足 A.c == B.r,如果满足,则会得到矩阵C(A.r*B.c),这次运算进行的乘法的次数是 A.r*A.c*B.c。 知道这个之后就简单了,创建一个矩阵类

2016-07-23 09:04:00 214

原创 UVA - 673 Parentheses Balance

题目大意:匹配括号。空行也输出 Yes 注意这种:([(])) ——> No解题思路:左括号入栈,右括号出栈,最终栈空 Yes 一开始想用计数偷懒,但是发现太天真了,([(]))这种情况无法解决= =#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<ct

2016-07-21 20:52:07 197

原创 UVA - 10152 ShellSort

题目大意:输入 n 串字符和目标顺序,每次可以选择一串字符置于最顶端,目的是将输入的字符串变为目标顺序,输出每次选择置于顶端的字符串。解题思路:对比当前状态和目标状态,设置两个指针同时从底部向上扫,相同时同时向上 +1,否则当前状态 +1,当前状态扫完后将目标状态未扫到的倒序输出,即需要选择的字符串。 侵删。UVa 10152 - ShellSort by 小白菜又菜 这个博主处理的太好

2016-07-21 20:51:23 198

原创 UVA - 133 The Dole Queue

题目大意:N 个人围成环逆时针编号,逆时针从 1 开始数第 m 个出列,顺时针从 N 开始数第 k 个人出列,若数到同一个人,出列一次。下一轮从当前位置开始数,直至所有人出列。输出编号,宽度 3。解题思路:编号,循环查找,下标到 0 时改为 N,为 N+1 时改为 1,使数组头尾连接。出列后编号改为 0,计数时跳过,注意要两个都找到再判断是否相同,输出。#include<iostream>#inc

2016-07-21 20:47:44 205

原创 UVA - 10494 If We Were a Child Again

题目大意:高精度除法解题思路:循环记录余数和商,输出所求。余数在做被除数时需要 ×10 所以可能会大于 2^31,用 long long#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<ctype.h>using namespace std;char t

2016-07-20 21:18:57 282

原创 UVA - 748 Exponentiation

题目大意:求 R 的 n 次方解题思路:循环高精度乘法#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<ctype.h>using namespace std;char R[10];int r[10];int ans[1000];int map[1

2016-07-20 21:18:40 234

原创 UVA - 123 Searching Quickly

题目大意:给一些需要忽视的单词和一些标题,除了这些需要忽视的单词外,剩下的单词都是关键词。根据关键词排序,输出标题。多个关键词则输出多次,输出时关键词大写,其余字母小写。解题思路:用一个结构题储存每个单词和对应的标题(转换好大小写),按照单词顺序排序后输出,输出时检测单词是否时需要忽视的单词,是则不输出。#include<iostream>#include<cstdio>#include<cst

2016-07-19 21:25:20 260

原创 UVA - 107 The Cat in the Hat

题目大意:有一只高 h 的猫,能变出 N 只高 h/(N+1) 的猫,这些猫又能变出 N 只高度为 h/(N+1)^2 的猫……直到猫的高度为 1,这些高度为 1 的猫共有 n 只,它们不得不工作。题目给出 h 和 n 求不需要工作的猫(除了高度为 1 的猫)和所有猫的高度总和。解题思路:假设分裂 k 次,则高度为 h(1/(N+1))^k = 1。分裂第 k 次时,分裂除的个数为 N^k。可以得到

2016-07-19 21:24:59 265

原创 UVA - 10014 Simple calculations

题目大意:根据所给公式和已知量求 a1 来源 uva 10014 - Simple calculations by zhaofukai 解题思路:由所给公式化 a1 的公式。 2ai = ai-1 + ai+1 - 2ci 2a1 = a0 + a2 - 2c1 2a2 = a1 + a3 - 2c2 2a3 = a2 + a4 - 2c3 …… 2an = an-1 +

2016-07-19 21:23:21 184

原创 UVA - 10916 Factstone Benchmark

题目大意:从 1960 年开始,每十年位数翻一倍,最开始是 4bit,求最大的 n 使得 n!小于当前电脑位数所能表示的最大无符号整数。如 1960 年 4bit,所能表示的最大整数为 2^4=16。 1!=1,2!=2,3!=6,4!=24。 当 n=4,n! 大于 15,所以 n=3。解题思路:根据题意即求 1×2×3×4×…×n < 2^bit,显然直接去求会溢出。两边取对数去求。#inc

2016-07-19 21:18:16 238

原创 UVA - 10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes?

题目大意:给定边长 N,问在二维、三维、四维平面(空间)构成的图形中,正方形(正方体)长方形(长方体)的数量。注意正方形(体)不属于长方形(体)。解题思路:找规律#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>using namespace std;int main() { int N;

2016-07-18 21:08:55 187

原创 UVA - 10970 Big Chocolate

题目大意:给出 M*N 的巧克力,切成 1*1,问需要切几刀,分开的不能一起切。解题思路:水,找规律#include<iostream> #include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>using namespace std;int main() { int M, N; while(scan

2016-07-18 21:08:33 233

原创 UVA - 10719 Quotient Polynomial

题目大意:多项式 p(x)=(x-k)q(x)+r,给出 k 和 p(x)求 q(x) 和 r。解题思路:待定系数,推得 b[i]=a[i]+k*a[i-1],其中a 为 p 的系数,b 为 q 的系数。 k 是 (x-k) 的 k,不是 k 次方,被样例误导……#include<iostream> #include<cstdio>#include<cstring>#include<cstd

2016-07-18 21:08:12 201

原创 UVA - 11044 Searching for Nessy

题目大意:问n*m的地图最多放多少个3*3的矩形。解题思路:水题#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>#include<cmath>using namespace std;int main() { int T; scanf("%d", &T); while(T-

2016-07-18 21:07:52 228

原创 ACdream - 1073 雷霆战机

中文题,根据题意做就好,判断条件比较多,改 bug 要很久而且容易糊。学长说中文题一定要做出来,结果是最后 AC 的,中文题真的没比英文题好做,一把心酸泪。 提供一个样例: INPUT 5 9999 1 23 8 9998 1 1 23 8 OUTPUT YES 0#include<iostream>#include<cstdio>#include<cstdlib>#in

2016-07-18 11:05:58 282

原创 HDU - 1021 Fibonacci Again

题目大意: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2),问 F(n) (n < 1,000,000) 是否能被 3 整除。解题思路:递推,要减小数据量否测会爆。找规律也行。以后数学题不会可以试试找规律 QwQ#include<iostream>#include<cstdio>using namespace std;int F[1000

2016-07-18 08:59:54 216

原创 CodeForces - 569A Music

题目大意:一首歌 T 秒,已经下了 S 秒,每 q 秒可以下 q-1 秒,每次听完下载完的部分就重头播放,直到整首歌下载完,问会播放几次。解题思路:速度是 q-1/q,类似追及问题,S + t * (q-1)/q = t,解得 t = S * q,即下一次播放时能听 的(下载完的)时常为 S * q,直到 S > T 表示下载完毕 听学长讲完之后觉得好水,测试的时候脑子转不动,算完速度就不知道怎么

2016-07-18 08:51:46 359

原创 HDU - 4730 We Love MOE Girls

题目大意:结尾有 desu 的替换为 nanodesu,没有的直接在末尾加上 nanodesu解题思路:检测覆盖#include<iostream> #include<cstdio>#include<string.h>#include<stdlib.h>#include<cmath>using namespace std;int cnt = 0;char str[1000];char

2016-07-18 08:41:10 246

空空如也

空空如也

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

TA关注的人

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