随笔分类 - 暴力求解
UVaLive 7362 Farey (数学,欧拉函数)
摘要:题意:给定一个数 n,问你0<= a <=n, 0 <= b <= n,有多少个不同的最简分数。 析:这是一个欧拉函数题,由于当时背不过模板,又不让看书,我就暴力了一下,竟然AC了,才2s,题目是给了3s,很明显是由前面递推,前面成立的,后面的也成立, 只要判定第 i 个有几个,再加前 i-1 个就
阅读全文
CodeForces 706A Beru-taxi (数学计算,水题)
摘要:题意:给定一个固定位置,和 n 个点及移动速度,问你这些点最快到固定点的时间。 析:一个一个的算距离,然后算时间。 代码如下:
阅读全文
HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
摘要:题意:给定 13 张麻将牌,问你是不是“听”牌,如果是输出“听”哪张。 析:这个题,很明显的暴力,就是在原来的基础上再放上一张牌,看看是不是能胡,想法很简单,也比较好实现,结果就是TLE,一直TLE,这不科学啊。。。 好不容易写出来的,竟然TLE。。。心痛。就是先确定一个将牌,然后再对刻子和顺子进行
阅读全文
CodeForces 589B Layer Cake (暴力)
摘要:题意:给定 n 个矩形是a*b的,问你把每一块都分成一样的,然后全放一块,高度都是1,体积最大是多少。 析:这个题,当时并没有完全读懂题意,而且也不怎么会做,没想到就是一个暴力,先排序,先从大的开始选,如果大,那么数量少,如果小,数量就多, 用一个multiset来排序,这样时间复杂度会低一点,每一
阅读全文
CodeForces 589J Cleaner Robot (DFS,或BFS)
摘要:题意:给定n*m的矩阵,一个机器人从一个位置,开始走,如果碰到*或者边界,就顺时针旋转,接着走,问你最后机器人最多能走过多少格子。 析:这个题主要是题意读的不大好,WA了好几次,首先是在*或者边界才能转向,其次就是走过的地方也能走,注意这两点,就可以AC了,可以用DFS,也可以用BFS, 我用的DF
阅读全文
CodeForces 589I Lottery (暴力,水题)
摘要:题意:给定 n 和 k,然后是 n 个数,表示1-k的一个值,问你修改最少的数,使得所有的1-k的数目都等于n/k。 析:水题,只要用每个数减去n/k,然后取模,加起来除以2,就ok了。 代码如下:
阅读全文
CodeForces 589D Boulevard (数学,相遇)
摘要:题意:给定 n 个的在 x 轴上的坐标,和开始时间,结束坐标,从起点向终点走,如果和其他人相遇,就互相打招乎,问你每人打招乎的次数。 析:其实这一个数学题,由于 n 比较小,我们就可以两两暴力,这两个我们先让他们同时出现,也就是让先出现的,先走着,走到和后来的同一时间, 然后判方向,如果方向不是相对
阅读全文
CodeForces 589A Email Aliases (匹配,水题)
摘要:题意:给定于所有的邮箱,都是由login@domain这样的形式构成,而且字符都是不区分大小写的。 我们有一种特殊类型的邮箱——@bmail.com, 这种邮箱除了不区分大小写外—— 1,'@'之前的'.',有等同于无 2,'@'之前的第一个'+'之后的字符可以忽略不计 然后其他字符相同的被认定为邮
阅读全文
UVa 817 According to Bartjens (暴力,DFS)
摘要:题意:给出一个数字组成的字符串,然后在字符串内添加三种运算符号 * + - ,要求输出所有添加运算符并运算后结果等于2000的式子。 所有数字不能有前导0, 且式子必须是合法的。 析:这个题很明显的暴力,因为最长才9位数字,也就是最多有8个位置位置可能插符号,当然实际并没有那么多,所以直接暴力就行,
阅读全文
CodeForces 548A Mike and Fax (回文,水题)
摘要:题意:给定一个字符串,问是不是恰好存在 k 个字符串是回文串,并且一样长。 析:没什么好说的,每次截取n/k个,判断是不是回文就好。 代码如下:
阅读全文
POJ 3671 Dining Cows (DP,LIS, 暴力)
摘要:题意:给定 n 个数,让你修改最少的数,使得这是一个不下降序列。 析:和3670一思路,就是一个LIS,也可以直接暴力,因为只有两个数,所以可以枚举在哪分界,左边是1,右边是2,更新答案。 代码如下:
阅读全文
POJ 3369 Meteor Shower (BFS,水题)
摘要:题意:给定 n 个炸弹的坐标和爆炸时间,问你能不能逃出去。如果能输出最短时间。 析:其实这个题并不难,只是当时没读懂,后来读懂后,很容易就AC了。 主要思路是这样的,先标记所有的炸弹的位置,和时间,在数组中标记就好,只要赋值给它的爆炸时间就好,注意如果有多个,要赋值最小的那个, 然后用BFS走就行了
阅读全文
POJ 3668 Game of Lines (暴力,判重)
摘要:题意:给定 n 个点,每个点都可以和另一个点相连,问你共有多少种不同斜率的直线。 析:那就直接暴力好了,反正数也不大,用set判重就好,注意斜率不存在的情况。 代码如下:
阅读全文
UVaLive 7267 Mysterious Antiques in Sackler Museum (if-else,枚举)
摘要:题意:给定四个矩形,要求从中选出三个,能不能拼成一个矩形。 析:说到这个题,我还坑了队友一次,读题读错了,我直接看的样例,以为是四个能不能组成,然后我们三个就拼命想有什么简便方法,后来没办法了,直接暴力。 康神写了6000多B的代码,全是循环和if-else,我们画出五种情况。。。。然而并不是这样,
阅读全文
HDU 4462 Scaring the Birds (暴力求解,二进制法)
摘要:题意:给定一个 n*n的矩阵,在一些位置放上稻草人,每个稻草人的范围是一定,问你最少几个能覆盖整个矩阵。 析:稻草人最多才10个,所以考虑暴力,然后利用二进制法,很容易求解,并且时间很少0ms,注意有一个坑,就是那些指定的位置是可以不用覆盖的, 当时WA一次。 代码如下:
阅读全文
HDU 4460 Friend Chains (BFS,最长路径)
摘要:题意:给定 n 个人,和关系,问你这个朋友圈里任意两者之间最短的距离是多少。 析:很明显的一个BFS,只要去找最长距离就好。如果不能全找到,就是-1. 代码如下:
阅读全文
HDU 1010 Tempter of the Bone (DFS+剪枝)
摘要:题意:从S走到D,能不能恰好用T时间。 析:这个题时间是恰好,并不是少于T,所以用DFS来做,然后要剪枝,不然会TEL,我们这样剪枝,假设我们在(x,y),终点是(ex,ey), 那么从(x, y)到(ex, ey),要么时间正好是T-你已经走过的时间,要么要向别的地方先拐一下,以凑出这个正好时间,
阅读全文
HDU 3687 National Day Parade (暴力)
摘要:题意:给定 n 个人,在 n 列,问你移动最少的距离,使得他们形成一个n*n的矩阵。 析:这个题本来是要找中位数的,但是有特殊情况,所以改成暴力了,时间也很短,就是从第一个能够放左角的位置开始找,取最大值,挺简单暴力。 我一个同学竟然读对了题,WA了,然后又重新读题,把题意读错了,就是AC了。。。。
阅读全文
UVa 1312 Cricket Field (枚举+离散化)
摘要:题意:在w*h的图上有n个点,要求找出一个正方形面积最大,且没有点落在该正方形内部。 析:枚举所有的y坐标,去查找最大矩形,不断更新。 代码如下:
阅读全文
HDU 4499 Cannon (暴力求解)
摘要:题意:给定一个n*m个棋盘,放上一些棋子,问你最多能放几个炮(中国象棋中的炮)。 析:其实很简单,因为棋盘才是5*5最大,那么直接暴力就行,可以看成一行,很水,时间很短,才62ms。 代码如下:
阅读全文