枚举
文章平均质量分 81
Flintx
鲜衣怒马少年时
展开
-
hdu4145 Cover The Enemy(贪心+枚举)
题意:已知两座炮塔的坐标,以及n个士兵的坐标,以两座炮塔A,B为圆心,R1,R2为半径,可覆盖所有士兵的坐标,求R1^2+R2^2最小值。思路:这道题开始的思路是:枚举每个敌人,比较它到2个炮塔的距离,如果距离A近,则把这个距离与上个距离A近的敌人的距离比较,取较大者。反之同理处理B。这样就得到A和B炮的半径,进而得到答案。但是这样是错的。若AB距离为2原创 2015-05-14 23:45:20 · 719 阅读 · 0 评论 -
Codeforces Round #315 (Div. 2) (ABCD题)
A. Music题意:一首歌长度为S秒,已经下载了T秒,下载速度为每q秒的现实时间能下载下来(q-1)秒 的歌曲。现在开始听歌,如果听到还没下载的地方就从0秒的地方开始replay,求一首歌听完需要从0秒听几次(包括一开始那次)思路:我们可以用路程-时间的思路来考虑这道题。 假设两位选手“播放”与“下载”,“播放”的起点是0m处,“下载”的起点是Tm处,终点在Sm处,“播放”的速度是1m/s,“下原创 2015-08-12 00:56:25 · 854 阅读 · 0 评论 -
POJ 1873 The Fortified Forest(枚举+凸包+剪枝)
POJ 1873 The Fortified Forest题意: 某王有一些树,要制作一个栅栏将所有树围起来,栅栏制作木材来源就是砍去其中一些树。 现在输入每棵树的坐标,价值,高度,求出所围价值最大且砍伐数目最小的方案。思路:嗯,1999年WF的水题。。 由于树木只有最多十五颗,那么枚举砍伐方案,然后求出剩余树木的凸包,比较得到最优→_→ 但是啊,但是,POJ卡常数简直毫无人性啊!!原创 2015-09-09 23:50:13 · 785 阅读 · 0 评论 -
UVALive 4119 Always an integer(差分数列+模拟)
UVALive - 4119 Always an integer题意: 输入一个关于n的表达式,求该表达式对于任意整数变量n得到的值是否均为整数。思路:根据差分数列的性质,令 n = 1 , 2 ,3 ,…,k+1,依次带入表达式计算是不是整数。其中k为表达式的最高次幂, 写这个题主要还是锻炼一下自己写模拟题的能力。。代码:/** @author FreeWifi_novicer* la原创 2015-10-02 22:13:36 · 504 阅读 · 0 评论 -
2013 Aizu Regional Contest(UValive 6661,6662,6663,6664,6665,6669)
A - Equal Sum Sets题意: 输入三个数 n, k, s . 求有多少种集合元素个数为k,元素最大值为n,元素之和为s,集合中元素均不相同.思路:暴力 由于 n≤20n \leq 20 ,那么只有 220=1062^{20} = 10^6 种集合,那么枚举集合判断是否符合条件即可,复杂度为 O(2n∗k)O(2^n*k),但由于有100组样例。。所以只能很勉强地过,n原创 2015-11-04 00:13:57 · 781 阅读 · 0 评论 -
CodeForces 558C Amr and Chemistry (位运算,数论,规律,枚举)
Codeforces 558C题意:给n个数字,对每个数字可以进行两种操作:num*2与num/2(向下取整),求:让n个数相等最少需要操作多少次。分析:计算每个数的二进制公共前缀.枚举法亦可。/**Author : Flint_x *Created Time : 2015-07-22 12:33:11 *File name : whust2_L.cpp */#原创 2015-07-23 00:51:50 · 1115 阅读 · 0 评论 -
HDU 4334 Trouble(hash + 枚举)
HDU 4334题意:给五个数的集合,问能否从每个集合中取一个数,使五个数之和为0.思路:集合大小是200,直接枚举的复杂度是200^5,一定会超时。直接枚举的上限是3层,我们可以将枚举剩下两个集合各任取一个元素可能组成的元素和,并将其作hash处理,使我们能很快判断枚举出来的三个集合元素和在剩下的两个集合里是否有相应元素匹配。code:/** @author Nov原创 2015-08-01 20:07:27 · 747 阅读 · 1 评论 -
Gym 100338I TV show (dfs枚举)
Gym 100338I题意:一个人去参加电视有奖问答的节目,初始奖金为100元,每答对一道问题奖金翻倍,答错奖金清零。此外有一次保险机会:花费C的奖金,下一题可以答对奖金翻倍,答错奖金不清零。 现在给你答对每道题的概率,求最优答题策略的奖金期望。思路:先不考虑有保险机会。回答对第j题后离开的奖金期望就是: 100∗2j∗∏ji=1pi100 * 2^j*\prod_{i=1}^jp_i 那么原创 2015-08-27 20:43:18 · 718 阅读 · 0 评论 -
POJ 1753 Flip Game(dfs+枚举)
POJ 1753题意:输入一个4*4的图像,由黑白两色组成,定义一种操作为:改变某个格子内小球的颜色(黑变白,白变黑),同时其上下左右的格子内小球也将变色。求最少多少次操作能使之成为纯色图案。思路:对一个格子操作偶数次等于没有操作,操作奇数次等于操作一次,所以答案在0~16以及impossible之间。从n=0开始枚举n次操作可能的组成情况,即操作哪几个格子,若某种组合能变原创 2015-07-29 19:30:10 · 761 阅读 · 0 评论 -
POJ 2965 The Pilots Brothers' refrigerator (想法题)
POJ 2965题意:输入一个形如:-+-----------+--4*4图案,+表示close,-表示open,定义一种操作为:改变某个单元格符号(+变-,-变+),同时单元格所在行与所在列的所有单元格符号都会发生改变。求最少操作次数能使所有单元格内都是‘-’。并输出要操作的单元格。思路:正常的做法和POJ 1573类似,dfs枚举即可,见code1原创 2015-07-29 19:48:26 · 689 阅读 · 0 评论 -
HDU 4175 Class Schedule (暴力+一点dp)
HDU 4175题意:有C座楼,每座楼有T个教室,一个人需要访问C个教室,每座楼只能访问一个教室。访问教室需要消耗能量,从x点走到y点需要消耗abs(x-y)的能量,最后要走到目的点L,问最后走到目的点L需要消耗的最少能量。思路:读清题意,用getchar()的方式去读。。此外英文阅读水平比较拙计,亟待提升,以后不能再直接用有道翻译来做题了!直接暴力枚举。用dp[i][j]表示clas原创 2015-07-26 23:32:02 · 775 阅读 · 0 评论 -
HDU 4173 Party Location(计算几何,枚举)
HDU 4173题意:已知n(n思路:不妨先考虑party可能的位置,要尽可能多的邀请到选手参加,则只需考虑party所在位置在某两位住所连线的中点上或某选手住所所在位置,因为这是最大参加party选手数很有可能在的位置。若其他位置能得到最大参加选手数,那么中点或选手住所也一定可得到。//反证法可得,试着画画就ok~那么,只要我们枚举所有中点与选手住所的位置,所能得到的可参加p原创 2015-07-25 22:15:08 · 762 阅读 · 0 评论 -
CodeForces 71C Round Table Knights(数学+枚举)
题目戳这里题意:圆上有n个点均匀分布,其中点的状态有0或1两种情况,现在告诉你所有点的状态,问:能否由状态为1的点组成正多边形。思路:公式推理+枚举。当n=3时,我们需要验证是否有正三边形(三角形);当n=6时,我们需要验证是否有正六边形与正三角形;当n=9时,我们需要验证是否有正九边形与正三角形;……可以发现只要检测n的大于3的因数作为边数原创 2015-05-17 22:07:25 · 892 阅读 · 0 评论 -
Codeforces 534B Covered Path
这题是道水题,主要是展示一份神代码。#include<cstdio>int i,s,z,a,q;main(){ scanf("%d%d%d%d",&i,&s,&z,&a); while(z--)if(i<=s)q+=i,i+=a;else q+=s,s+=a; printf("%d",q);}代码贵在精炼,可读性好并不意味着要长篇累牍。原创 2015-04-13 21:04:29 · 622 阅读 · 0 评论 -
HDU 5358(2015多校联合训练赛第六场1006) First One (区间合并+常数优化)
HDU 5358题意:求∑i=1n∑j=in(⌊log2S(i,j)⌋+1)×(i+j)思路:S(i,j) 主要是写起来比较难一些,一些细节比较纠结,一定思路理清后再写。ps.此题卡常数毫无人性,一定记得预处理好区间映射,否则n(logn)^2也得跪。。code:/** @author Novicer* language : C++/C*/原创 2015-08-07 02:38:18 · 1168 阅读 · 0 评论