
枚举
文章平均质量分 77
kk303
这个作者很懒,什么都没留下…
展开
-
USACO Section 2.1 - Healthy Holsteins 二进制枚举
这道题写了很久~用了好多方法~~最开始想要先按长度再按从小到大输出~~就用BFS了~~结果给爆空间了~~后来想用多维背包~~结果不会搞~~最后才想到了其实数据量很小~~用BFS时我也不是超时而是爆空间~~其实每个物品就是选与不选两种状态~~分别用1,0表示再按顺序排成一个数就是一个二进制数!!并且这个二进制最多也就15位!!才几万!! 所以就从1开始枚举过去~~每次转化成二进制然后判断是原创 2011-11-18 18:02:41 · 1105 阅读 · 0 评论 -
POJ 1903 - Jurassic Remains 中途相遇法(枚举)
神奇的枚举题~~~超级好的思路! 题意重现...从n(n 由此可见..个数都是浮云..奇偶才是本质...对于每个字母..有偶数个..为0..有奇数个为1..那么26个英文字母的情况总数为2^26.. 题意抽象..从n(n 如果暴力枚举...2^24=10^7...加些剪枝应该能过..毕竟给了10s.... 此题的超级优化....把24个串分成前后两原创 2013-04-23 19:38:35 · 1278 阅读 · 0 评论 -
UVa 10755 - Garbage Heap 三维最大子矩阵问题转化为1维..
A上C(20,2)卡上下界...B上C(20,2)卡上下界...在C的方向上做一维的最大连续字串问题...这样把3维的最大子矩阵问题就转化为1维的了... 预处理...sum[ x ] [ y ] [ z ] 代表在z这个二维平面上...(1,1)和(x,y)分别为对角坐标的矩阵的所有数之和....Program://http://uva.onlinejudge.org原创 2013-04-24 16:42:24 · 1406 阅读 · 0 评论 -
CodeForces Round #183 (303C) - Minimum Modular
两数a,b同余m,显然(a-b)%m=0.....若有m%p=0...那么(a-b)%p=0.... 将所有的(a[j]-a[i])记录下来...用c[1000000]的表来记...如果一个数p是N对数的同余..那么c[p]=N... 有了上面的处理,就可以方便的统计出对于当前枚举的md...会产生多少对同余的(将md所有的整数倍c[ ] 加起来)... 但产生了N对同余的原创 2013-05-21 18:23:25 · 1511 阅读 · 0 评论 -
CodeForces 21D - Traveling Graph 欧拉回路的性质+状态压缩DP
在一个无向图中..从某点出发..每个边正好经过一次可以回到自己..必要条件是所有点的度为偶数..也就在一个无向图中存在欧拉回路的必要条件...注意..是必要条件...比如说...图是不连通的... 对应本题....题目是说从点1出发边可以经过任意多次..遍历完所有的边..回到点1的最短距离..一看N 问题转换..最短要加多长的若干边..使得这个无向图成为一个满足欧拉回路的原创 2013-08-01 20:40:22 · 1314 阅读 · 0 评论 -
HDOJ 4628 - Pieces 状态压缩DP..枚举所有子集进行更新
开始题目看错了....以为是连着的回文才能一次消掉..题目的意思是分开的也行... 串最长16..很容易想到状态压缩DP....当本状态回文时..直接为1...否则是其两个相对其互补的子集并的最小值...更新的时候要枚举其所有的子集... 比如说二进制状态t..要枚举其所有的子集..for(int i=t;i;i=(i-1)&t) Program:#includ原创 2013-08-02 19:36:54 · 1320 阅读 · 0 评论 -
2013 CSU校队选拔赛(1) 部分题解
A: DecimalTime Limit: 1 Sec Memory Limit: 128 MBSubmit: 99 Solved: 10[Submit][Status][Web Board]Description任意一个分数都是有理数,对于任意一个有限小数,我们都可以表示成一个无限循环小数的形式(在其末尾添加0),对于任意一个无限循环小数都可以转化成一个分原创 2013-08-22 17:08:52 · 1697 阅读 · 0 评论 -
ZOJ 3715 - Kindergarten Election 枚举后贪心...
题意: 在幼儿园里..每个小朋友投一票选举领导...得票最多的小朋友成为领导(若有多个..则多个领导)..现在有个小朋友相当唯一的领导..于是准备贿赂一些小朋友..让他们把票投给自己...每个小朋友要买通..必须满足给他的糖数...问这个小朋友最少用多少的糖使得他成为唯一的leader~ 题解:原创 2013-08-17 17:12:40 · 1915 阅读 · 1 评论 -
POJ 1966 - Cable TV Network 暴力枚举+最小点割
题意: 给出一个无向图,问最少去掉多少个点使得剩下的点不连通 题解: 暴力枚举起点和终点..跑拆点构图跑最大流求出最小点割,其中的最小值就是答案...Program:#include #include #inclu原创 2013-09-16 22:19:41 · 1153 阅读 · 0 评论 -
HDOJ 4737 - A Bit Fun 二分枚举
题意: 给出了一列数..定义(i,j)为第i个数开始一次做或运算到最后一个数..问比给定的m小的(i,j)有多少对... 题解: 因为或运算时单调的...所以可以用各种方法了..比如两个指针扫过去..而我用的是二分..做了预处理后..枚举i..二分找出j的最大位置原创 2013-09-14 20:51:16 · 1701 阅读 · 2 评论 -
HDOJ 4445 - Crazy Tank 暴力枚举角度...
题意: 疯狂坦克...现在咱们的坦克老土在(0,H)的位置..有一个友方坦克和敌方坦克在x轴上...现在可以选择任何的角度进行发射..发射N发..速度可能不一样..问这N发抖不打中友方坦克..能达到敌方坦克最多多少次... 题解: 暴力枚举角度(-pi/2~pi/原创 2013-09-20 11:56:57 · 1311 阅读 · 0 评论 -
CTU 2011/CTU 2012 部分题解...
题目、数据、标程、解题报告(捷克语): http://contest.felk.cvut.cz/12prg/solved.html http://contest.felk.cvut.cz/11prg/solved.html Collatz Conjecture原创 2013-10-07 15:38:08 · 831 阅读 · 0 评论 -
NWERC 2012 练习赛题解
题目: http://pan.baidu.com/s/1eMgpCA - Admiral 题意: 有V(2 题解: 陈题...拆点..起点和终点做边容量为2..费用为0原创 2013-10-05 16:26:11 · 2110 阅读 · 0 评论 -
HDOJ 4768 - Flyer 有单调性, 二分解决...
题意: 有N个社团..有很多的学生..编号从1开始的连续正整数..现在每个社团发传单给其Ai+K*Ci不大于Bi的所有学生发传单...之多可能有一个学生拿了奇数个传单..请求出这个学生的学号以及他拿的传单数. 题解: 由于之多一个学生的传单数位奇数..代表其他的学生都是偶数..代原创 2013-09-28 22:14:23 · 1458 阅读 · 0 评论 -
The 37th ACM/ICPC Asia Regional ChangChun Site Contest - C The Little Girl who Picks Mushrooms
题意略坑...给的modulo 20121014 是忽悠人的...用不上..因为答案最多最多1024...数据量小..分情况讨论..Program:#include#include#include#include#include#include#include#include#define ll long longusing namespace std;in原创 2012-10-16 09:20:06 · 2559 阅读 · 0 评论 -
湖南第一师范原创题,比较好玩.
E- Seven tombsTime Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 31 Accepted Submission(s) : 9Font: Times New Roman | Verdana | Georgia原创 2012-08-20 18:31:13 · 2270 阅读 · 2 评论 -
USACO Section 2.2 Party Lamps - 看清本质就简单!
这题乍一看吓一跳...范围挺大的...想了也有一个小时才想通...看清本质!! 总共就4个按钮...如果我1,2,3,4都按过一次了..再按一下1 or 2 or 3 or 4灯的情况不和只按了2,3,4 or 1,3,4 or 1,2,4 or 1,2,3一样吗?因为一个按钮按两次就相当于没按..那么实际上能出现的最多情况也就是C(1,4)+C(2,4)+C(3,4)+C(4,4)=原创 2011-11-21 22:44:47 · 1102 阅读 · 0 评论 -
USACO Section 2.2 Runaround Numbers - 又一个枚举的思想
题目说的这种数长度最多为9,每位都不重复..并且没有0..所以如果事先枚举所有这些数再判断的话需要枚举的个数是9!=362880...才30多W~~果断先枚举出可能的所有情况~~就按题目要求的判断下~~枚举的同时就能保证是有序的~~所以后来的查找输出就从1开始找到第一个大于输入的数就ok了...Program:/* ID: zzyzzy12 LANG: C++ TASK:原创 2011-11-23 22:24:38 · 715 阅读 · 0 评论 -
USACO Section 2.3 Cow Pedigrees - 又是一个转化进制的枚举
数据量很小..最多N=9..那么最多就是填8个符号 ( + , - , 空格 )..状态总数最多为3^8=6561..表示可以接受...那么就枚举所有的符号位..为了方便枚举就用一个十进制数..每输入一个N就从3^N这个十进制数开始~~每次展开成N位的3进制数~~每一位九对应着式子的每个符号位... 对于“空格"这种情况...为了方便处理我开了一个双向链表,类似Dancing Link的思原创 2011-11-27 20:31:05 · 744 阅读 · 0 评论 -
USACO Section 3.4 Closed Fences - 暴力枚举..
好恶心的题...断断续续作了三天才做出来...想吐了...试了N多方法..重写了N遍代码...终于让我给过了.. 第一问很好做...只要判断下有没有两直线相交就行了..做两次差乘判断... 第二问我AC的思路是将每个线段给暴力离散化..离散为500个点..然后将每个点与视野点(x,y)做线段...若是有一个点做成的线段中间没有被其他线段所截断..那么就可判定所离散的线段是能原创 2012-01-07 17:20:35 · 782 阅读 · 0 评论 -
USACO Section 4.2 Cowcycles - 枚举~
开始想复杂了...纠结了很久..后来发现数据范围很小阿...枚举所有情况也就那么多...所以就两层递归暴力枚举..结果就过了....话说这题主要还是题意要理解清楚...这里的mean和variance中的Xi..是指排好序的F[i]/R[i]的前后相差的数...其实样例下面的说明也体现了...Program:/* ID: zzyzzy12 LANG: C++ TASK:原创 2012-01-17 00:33:37 · 972 阅读 · 0 评论 -
USACO Section 4.3 Letter Game - 简单枚举
本来是1A的...就因为不知怎么USACO不认识gets..给报了次Compile error...这题算是简单的... 首先我为了方便判断一个字符串是不是由所给的字符组成(不一定全部用上)..那么用一个26位的int数组h [ ] 先记录所给的字符个数...如aabb那么h [ ] = { 2,2,0,0....0 }..假设这里来一个字符串...那么就把 h [ ] 的信息先转移给原创 2012-01-19 10:16:24 · 1080 阅读 · 0 评论 -
USACO Section 4.4 Pollutant Control - 找更优的搜索枚举方案~
首先最原始的方法就是不断地枚举要去掉的边~~直到从1出发到不了N...中间可以用个优化...若所去掉的边代价和大于前面找到的解..那么就剪掉...开始我确实这么写了..前几个没错..但效率很捉急啊.... 再在这个方向想...因为每次去掉一条边后..都要从起点开始进行此搜索..能到达终点才继续往下搜..何不把这个搜索过程利用起来...于是我就把每次搜索找到的路径记录下来...而去掉的边总原创 2012-01-22 15:21:07 · 1089 阅读 · 0 评论 -
USACO Section 5.2 Electric Fences - 有意思的枚举+计算几何
这题一上来首先想到的是能否用数学方法来求得这个点..比如说画一个半径最小的圆使其与所有线段相交或相切…那么圆心就是所求..想法似乎没问题..但怎么来求是毫无头绪~想了良久也没想出用数学的方法如何实现… 还是用枚举了…题目范围不大..并且精度要求不高..将整个( 0 , 0 ) ~ ( 100 ,100 ) 的连续空间离散分成1000个每个相距0.1的点..枚举每个点..定能找到答案.原创 2012-01-28 12:33:52 · 1376 阅读 · 0 评论 -
USACO Section 5.1 Starry Night - 有点麻烦写的题..
这道题应该一看~~基本思路就出来~~从左上角扫到右下角~~扫一个没更新过的连通块...就先与前面已经确定的比较...并且是翻成八种情况都来比较...若有符合的~~那么就确定这个连通块是前面哪个相同的...若无一符合~~就计数器++..发现新的连通块~~~但仔细想想...会好麻烦的感觉.. 我是这么处理的 : 1.记录前面的连通块..我就是记录了连通块上的某点坐标..因为原创 2012-01-24 23:06:32 · 865 阅读 · 0 评论 -
USACO Section 5.2 Snail Trail - 很水的枚举..
就按题目要求枚举出所有情况吧~~~就是从1,1开始DFS...值得注意的是其实一条路径结束的条件除了碰到自己~~还有就是被边境或#给夹得没地方去~~我就因为少考虑了这个WA了一次....Program:/* ID: zzyzzy12 LANG: C++ TASK: snail*/ #include #include #include原创 2012-01-26 23:43:15 · 870 阅读 · 0 评论 -
USACO Section 5.2 Wisconsin Squares - 按要求DFS就行了..
这题真搞~就一组数据....囧~~~ 按他的要求枚举搜索就ok了..当然要输出字典序最小的解~~~那就按字典序来搜索..除了最开始是确定D..后面的都是先确定较小的A,B,C,D,E..再确定较小的Y..再确定较小的X...如此搜出的第一个解就是字典序最小的答案... 开始还想着Hash...结果写完了样例过了...一交就A了...似乎这题不需要Hash..原创 2012-01-29 12:58:13 · 861 阅读 · 0 评论 -
USACO Section 5.3 Window Area - 又一矩形覆盖问题
最重要的问题..如何确定这些矩形的重叠层次顺序...我通过给每个矩形一个权值来表示当前矩形的优先级..只有当这个矩形某区域上有重合部分的矩形优先级都比这个矩形低..这个区域才说是从正面可以看到的面积...而这个优先级的操作: 用maxn表示当前优先级的最大值...用minn表示当前优先级的最小值..maxn与minn的初始值都为0.. 当输入一个矩形..按题目的要求原创 2012-01-31 23:43:05 · 1667 阅读 · 0 评论 -
UVALive 4975 - Casting Spells Manacher+科学枚举
题意: 给了一个字符串...现在要找这样一个字串:设W为一个字符串..Wr为其逆串..现在要找的是WWrWWr...如果存在..输出其最长的长度..否则输出0.. 题解: 先用manacher找出每个位置为中点最长的回文串的长度...然后就是枚举了..简单的说WWrWWr一定也是回文的..而WW原创 2013-10-18 15:11:23 · 1061 阅读 · 0 评论