枚举
文章平均质量分 77
cyl纤云弄巧
To Be
展开
-
POJ 1013 (经典++ 的枚举题,称量找出假硬币)
http://poj.org/problem?id=1013 这是一道把枚举思想用到极致了。题意百度上太多了,不解释。 思路:想要找出哪一个硬币是假的枚举 A 到 L 的每一种情况。每一种情况要枚举是轻还是重。 判断轻重枚举三种条件。 如x是轻的: 1:even的情况是 Left 和 Right 都没有出现x。 2:up 的情况是原创 2016-08-24 16:56:32 · 1664 阅读 · 0 评论 -
百练 2810 完美平方
http://bailian.openjudge.cn/practice/2810/不得不说,这又是一道经典的利用枚举思想的题。想要求出n以内存在a*a*a = b*b*b + c*c*c + d*d*d。 那么可以从a开始依次枚举,但是为了优化 加上 一个 判断条件 if(cube[] 注意for循环中的条件很经典,遍历本身就是从小到大开始,所以不用排序。原创 2016-08-24 17:35:02 · 453 阅读 · 0 评论 -
POJ 1222 (枚举+熄灯问题)
http://poj.org/problem?id=1222题意:5x6个灯输出怎么熄灯才能都是灭的。0是灭,1是亮。思路:首先要确定第一行的灯,随后剩下的灯随之确定,因为如果puzzle[r][c]是亮的,则要按下press[2][j]。怎么确定第一行的灯呢,第一行有2^6种情况,依次枚举即可。要点有三处: 1:对puzzle和press的初始化。原创 2016-08-25 10:44:10 · 810 阅读 · 1 评论 -
POJ 3279 (枚举+二进制)
还是不是很懂呀!#include#include#define maxn 30int gragh[maxn][maxn];int ans[maxn][maxn];int temp[maxn][maxn];int dir[5][2] = {{1,0},{-1,0},{0,0},{0,1},{0,-1}};int step;int n,m;int press(int原创 2016-11-14 22:07:12 · 302 阅读 · 0 评论 -
HDU 6058 枚举
枚举题意: 有一列数字,现在问所有的区间的第k大的数字之和是多少?思路: 直接去把每一个区间求出第k大的数字求出会超时,但是分析k值可以发现范围特别小,所以可以选择枚举每一个数字,把枚举的数字当做第k大值,求出其贡献值即可。 为了求出第k大值其区间范围只能是比其大的k 个数字,分为左右两边,枚举每一次都求出左右的两个区间的比这个数字大的k个数字,找出之后合法区间为:若这个数字左边原创 2017-08-03 10:09:28 · 246 阅读 · 0 评论