
枚举
Forward in time
永不停止前进
展开
-
L. Lifeguards(排序)
题意:知道游泳者的坐标,有两个教练看管,并且两位教练看管的游泳者最多只有一个,一个游泳这只能被一个教练看管(只有其中的一个游泳者能被两个教练同时监管)。求两位教练的坐标;这道题,我读了读,没什么思路,就没有写了,结果看了题解。。。。。我怎么没想到无穷远呢???如果n为奇数,那么只需要找到排序后的中间坐标然后y±1就行了,这样他们最多只能同时管同一个游泳者。如果n是偶数,那么必须平分为两个简...原创 2020-03-14 23:37:32 · 288 阅读 · 0 评论 -
救救兔子(排序+枚举+特殊情况)
//我把排序复习一遍:#include<iostream>#include<ctime>#include<cstdlib>using namespace std;int main(){ srand(time(NULL)); int n; cin >> n; for (int i = 0; i < n; i++) { a...原创 2019-02-23 22:27:47 · 139 阅读 · 0 评论 -
救救猫咪(结构体+枚举)
//这道题本人用的结构来写的,然后枚举(其他的我真想不出来了)//这里我把结构体知识复习一遍:结构体定义格式1.struct 结构体名{ };2. struct 结构体名{}变量名;3. struct 结构体名{}结构体指针;4. struct 结构体名{}结构体数组;5.typedef struct {} 结构体名;6.typedef struct 结构体名1 ...原创 2019-02-23 22:09:36 · 156 阅读 · 0 评论 -
Southern and Volga Russia Qualifier 2019-2020(K. Moonbound(枚举+思维))
题意:给你一个n,n是偶数,并且能构成一个nn的大方框,他在玩一个填方框的游戏,然后如果(i+j)%2==0,那么这个方框就应该放一个stone,反之就应该放一个sand,然后填方框有两种方法,但是两种方法的限制条件是一样的:方法一:任意选一个方框,条件是这个方框必须是边界或者你填的方框和已经填的方框必须要至少有一个公共边;方法二:任意选一个22的大方框,条件是这个22的方框里面必须有空的方...原创 2019-10-13 16:42:35 · 2010 阅读 · 0 评论 -
Southern and Volga Russia Qualifier 2019-2020(L. Printer (枚举))
题意:有两层的一栋楼,然后每栋楼都放有n张桌子,然后知道这个:在一个桌子的队伍要到另一个同层的相邻的桌子,那么就需要花费一个单位时间;然后如果要到不同层的桌子,那么就要花费k个单位时间下楼,然后再花一个单位时间到达同层的相邻的桌子;简而言之:如果在同一层,那么不方便度就是abs(ai-ap),如果不在同一层那么不方便度就是ai+k+ap;问:现在要放一台打印机(注意:这台打印机也可以放到有...原创 2019-10-13 16:31:29 · 362 阅读 · 0 评论 -
解密(枚举)
这道题一看这个题目,我还以为又是数论题呢;结果读了读发现x的值只在0–25变化,所以我想不就直接枚举不就完了吗?然后注意分大小写讨论就行了;AC代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;char s[1005];int main(){ int k1,k2; scanf(...原创 2019-09-13 22:23:21 · 233 阅读 · 0 评论 -
J. Jumpity Digits(枚举)
题意:给一个字符串,交换其中两个数字,使得新的串形成的整数小于原来的串形成的整数,并且这个新串形成的整数是小于原来串形成的整数的中的最大值;这道题。我的队友找了半天的规律,结果发现数据很小,直接枚举暴力就过了;枚举每种交换数字的情况,比大小(因为在两个串长度相等的时候,用字典序比较就相当于整数的小的比较了),同时剔除前导0;时间复杂度才o(n^2)所以暴力就过了;AC代码:#inclu...原创 2019-09-21 20:23:29 · 369 阅读 · 0 评论 -
A. Amsopoly Simple Version(思维枚举题)
题意:就是三个人玩游戏,玩家分别为1,2,3,题目给出他们各自能走的步数,和总的格子数目N+1;特别:对于第一个格子,是属于政府的,所以三个人可以同时占有,但是对于不是第一个,那么其他的如果是没有人走过的,那么这个人走到这个格子上,那么这个格子就是他的地盘了,如果他们其中一个人走到了别人的地盘,那么游戏就结束了;这个模拟题真的打脑壳!!我刚开始还在找怎么把他们无限循环的情况找出来,结果看了大...原创 2019-09-22 22:50:59 · 228 阅读 · 0 评论 -
全 1 子矩阵(枚举+思维)
题意很简单,就是问你是否存在一个完整的全一矩形,并且矩形外没有1存在;思路也很简单:1.两个for枚举 到第一个1时,标记第一个的坐标,那么如果存在全一矩阵,那么这个1必定是矩阵的左上角;2.找出由1组成的长和宽;3.在这个选出来的矩形中找是否存在0;4.在矩形外面找是否存在1;所以AC代码:#include<bits/stdc++.h>using namespac...原创 2019-10-01 18:37:37 · 2187 阅读 · 0 评论 -
M - World Cup(思维题)
题意:有32个队伍,最开始打比赛,把这32个队伍分为8个组,每个组中的任意两个队都需要打一场比赛;而每次比赛都被按照开始顺序标号为1–63;如果搞清楚了这63场比赛是怎么来的,就很好写了;理解:注意:只有第一轮比赛是一个组4个队,其他轮都是一个组2个队!!1.8个组中打每组会打6场比赛,所以对于最最底层的选拔赛那么就一共会打48场;2.经过第一轮的比赛,已经选出来了28个队了,然后把这...原创 2019-10-03 14:50:16 · 281 阅读 · 0 评论 -
2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛(A题: Banana(枚举))
题意:给你猴子编号和香蕉编号的联系,香蕉编号和厂家编号的联系,让你输出 猴子通过相应的香蕉到相应香蕉到的厂家的 猴子和相应厂家的编号(成对输出);其实这道题可以这样理解:比如第一个案例:很明显就是1猴子能通过1号香蕉到达1,3;2…猴子同理;思路:利用邻接表存有向图,然后三个for枚举即可;但是要求输出按照 字典序输出,所以我用pair然后sort一下就可以了;注意这里会有...原创 2019-10-06 21:45:19 · 10274 阅读 · 0 评论 -
扫雷(枚举)
这题一看枚举,就AC了,就枚举 每个点+每个点的8个方向;AC代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;char Map[1001][1001]; int n,m;int dir[][2]={{-1,0},{-1,1},{0,1},{1,1},{1,0},{1,-1},{0...原创 2019-09-13 22:14:28 · 193 阅读 · 0 评论 -
XKC's basketball team(思维暴力QAQ)
题意:输出每个数的后面的数满足a[j]>=a[i]+m并且距离i最远的数与i之间的个数;(i<j)这道题真的坑,我当时用的线段树,结果写了但是t了;就很无语了;之后队友给我说可以暴力;我说我一开始就是想的暴力,肯定超时的哇@_@?;然后经过他的解释,我知道了如果一个数大于了之中的Max那么肯定这个数后面就没有满足a[j]>=a[i]+m的j了;如果<=Max,那...原创 2019-09-07 18:28:15 · 194 阅读 · 0 评论 -
M - Function and Function(有难度的思维题)
这道题一看就是把大的数降为范围在[0,9]中,然后奇,偶步数来判断输出,还有一点需要注意就是如果没有在操作完成就输出,最后操作后的数就完了;但是这里注意在传递参数的时候注意0这个比较特殊;#include<bits/stdc++.h>using namespace std;typedef long long ll;ll a[]={1,0,0,0,1,0,1,0,2,1};/...原创 2019-08-08 17:37:26 · 627 阅读 · 0 评论 -
度度熊与数字(枚举签到)
直接把数字各个位上的数字求和枚举就行了因为9*9==81,这样时间复杂度就下来了;#include<bits/stdc++.h>using namespace std;typedef long long ll;//ll gcd(ll a,ll b){// return b?gcd(b,a%b):a;//}ll Num(ll n){ ll res=0; ...原创 2019-08-18 22:17:46 · 306 阅读 · 0 评论 -
C - Valera and Antique Items(小数据枚举)
题意:author有v元钱,去买古董,有n个merchants然后如果有merchant的古董price低于v的那么就会联系author;求有多少个并且是那些merchants;这个可以用结构体也可以用一个数组;这里是AC代码用的数组把逻辑关系对应起来:#include<bits/stdc++.h>using namespace std;typedef long long...原创 2019-08-10 14:49:41 · 197 阅读 · 0 评论 -
G - Welfare State(逻辑思维题+相当有难度)
这道题很有意思;我只能佩服那些大佬的思维能力了QAQ;题意:如果是1操作,就改点;如果是2操作就是在整个数组里面改小于x的值成为x;我一看,枚举。。。。。再一看,爆表QAQ;但是我看了大佬的解题思路感觉很是NB,他们能把操作的逻辑给控制住,只要仔细想一下就可以知道这个:对于一个数,它的最终的值为max(当前修改的值,在这次修改之后的值);这里就需要一个很巧妙的控制操作逻辑了,因为一个数,...原创 2019-08-10 16:52:58 · 194 阅读 · 0 评论 -
okitsukaze and Connection(枚举)
这道题直接枚举就可以了;去找第一个分段点,然后看第一个分段点的后面有没有重复出现的字母;#include <iostream>#include <iomanip>#include <vector>#include <queue>#include <stack>#include <map>#include &l...原创 2019-08-23 21:03:03 · 82 阅读 · 0 评论 -
X - Candies!(思维题+前缀和)
这道题,咋一看题好长哦QAQ,看完就明白了,题意很简单:就是给你区间,然后两两合并记录合并大于10的个数并且直到合并为一个数才停止;这道题可以这样理解:由mod的运算性质可以得到最后的化简结果,可以很明显看出,就是这个区间的和;因为要计算两两配对>=10的个数,可以这样理解:如果a1+a2>=10了,是不是在最后化简的式子里面a1+a2也是>=10的,不是吗?嘻嘻;...原创 2019-08-11 10:48:46 · 130 阅读 · 0 评论 -
U - Tokitsukaze and Mahjong(模拟题(逻辑思维))
这道题,题意很简单,就是要让3个串里面满足有一个koutsu或者shuntsu,所需要添加的串的个数;根据条件可以知道,要满足至少有一个,那么就需要:1.这三个字符串完全相同;2.这三个字符串的suit(也就是后面的字母)必须相同,并且三个成连续的数字;那么要我就可以讨论了;1.如果三个相同或者suit相同时数字连续就直接不需要添加就够了(cout<<0);2.如果有两...原创 2019-08-11 11:00:44 · 382 阅读 · 0 评论 -
L - Array Splitting(枚举+数学+思维+贪心)
这道题题意:就给一个递增的数组,然后把它分为k份,每份的不能有交集(就是不能重叠),计算出每份的最大值-最小值,之后把每份的计算的值求和,问在分成k份之后这个和最小为多少;这个题可以这样理解:因为要分为K部分,并且每部分连续;所以我可以假设分为这K部分:那么它们最终的值为:变形:可得:所以答案显而易见了:因为a[n]-a[1]是固定的,所以只需要把后面的变的尽可能大就OK...原创 2019-08-11 11:43:42 · 192 阅读 · 0 评论 -
A. Chips Moving(枚举)
题意:就是给你薯条的在x轴的位置,然后有两个constraints:1.如果一个薯条移动两个单位,那么它是不用钱的;2.如果薯条移动一个单位那么需要花1个硬币;求最少多少花费能使得所有硬币都在同一个地方上(同一个坐标可以放许多薯条);一看数据才100,完全可以暴力了;所以每个对应的都枚举一遍;只不过需要找到一个规律,就是如果这两个薯片距离为奇数那么肯定需要花1个硬币,如果是偶数那么就不...原创 2019-09-02 21:41:13 · 365 阅读 · 0 评论 -
S - From S To T(有点难度的思维题(关于字符串配对字符))
读这个题,首先应该知道题的意思就是从p串里面任意去字符插入s串里面(注意s串本身是不能删除的),然后最后判断s串能不能通过若干次变化和t串相等;首先我应该知道,如果你要让两个串相等,那么两个串的字母个数和它们的下标位置必定相同,才能叫相等;所以:1.先判断是不是s串中原本的字符位置在t串中满足(如果满足就用一个book[]数组标记满足了的字符);2.判断剩下的t里面没有标记的字符在p中...原创 2019-08-06 13:29:13 · 274 阅读 · 0 评论