枚举
aozil_yang
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #418 (Div. 2) -- C. An impassioned circulation of affection(DP预处理)
题意:给你一个字符串, 告诉你喜欢的字母,和改变字母的次数,求在次数内 在长连续喜欢字母的长度?思路:直接令dp[i][j] 表示改变i 次,喜欢字母为j 的最大长度。直接n*n*26预处理即可。#include using namespace std;const int maxn = 1500 + 10;char s[maxn];int dp[maxn][30]原创 2017-06-08 15:52:34 · 108 阅读 · 0 评论 -
Codeforces Round #385 (Div. 2) -- B. Hongcow Solves A Puzzle (判断是否是矩形,水题)
大体题意:给你一个n*m 的矩阵, 你要用两个同样的图形构造出一个矩形来,问是否可以? .表示 这个地方是空地,X表示是一个小元素!你不可以旋转覆盖, 只能移动整体!思路:这个题意一开始理解错了,被hack了,其实移动 只能是整体移动!因此 只要判断这个图形是否是矩形就可以了!详细见代码:#include #define ps push_back#define f原创 2016-12-18 11:30:56 · 755 阅读 · 0 评论 -
Codeforces Round #385 (Div. 2) -- C. Hongcow Builds A Nation(并查集)
大体题意:给你n 个点m个边的图,告诉其中一些点是政府点,如果任意两个政府点 不能直接或者间接到达的话,那么称这个图就是一个稳定的图,要求让你在这个图中加尽量多的边,使得 这个图还是稳定的!思路:其实思路很简单:简单的并查集应用!因为题目保证输入的图一定是一个稳定的图,那么每一个政府点 都在一个独立的并查集内部!我们先给每一个并查集内部的点进行连接! 任意连接都是合法的!原创 2016-12-18 11:21:48 · 527 阅读 · 0 评论 -
Codeforces Round #379 (Div. 2) -- D. Anton and Chess (if else 的水题)
大体题意:给你国际象棋一种残局,问白方是否已经输掉! (下一步该黑方走) 黑方的棋有三种 (只能横着走 和 只能斜着走 和 既能横着走又能斜着走! = = 没玩过国际象棋 (勿喷!))思路:因为这个棋盘太大了,最大20亿×20亿 肯定不能乱扫!其实思路很简单:直接统计出 白方棋子 八个方向上 最近的黑方棋子即可! 然后 讨论这八个方向是否有棋,有棋的话能否被吃掉!原创 2016-11-16 17:49:28 · 430 阅读 · 0 评论 -
Codeforces Round #378 (Div. 2) -- D. Kostya the Sculptor (STL水题)
大体题意:你有n 个长方体形状的石头,你要送给你的朋友,你做多选择两个石头,要求石头内部的圆的半径尽可能大!输出选择石头的标号?选择两个石头的条件是 两个石头必须能连接起来!思路:很水的一道题目,却因为C题 没有做这个题目!我们直接开一个map ,multiset >mp;第一个pair 记录 你选择长方体的面, 第二个记录 高, 先枚举只选一个石头的情况,在枚举选择两个石原创 2016-11-01 15:52:07 · 433 阅读 · 0 评论 -
POJ 3110 Jenny's First Exam (二分 + 树状数组 + 贪心 + 预处理年份)
大体题意:告诉你n 个科目的考试日期,在考试当天不能复习,每一个科目的最早复习时间不能早于考试时间的t天,每一天你可以复习完一科,也只能复习一科,求最晚的复习时间!思路:题目中描述的考试时间是1900年到2100年 总共200年,但这只是考试日期,还有早于考试时间的t天,t最多是10w,2年多!因此我们要计算1600年到2100年这 500年的时间!为了方便计算,我们先把日期映射成原创 2016-11-15 22:47:28 · 732 阅读 · 0 评论 -
Codeforces Round #375 (Div. 2) -- C. Polycarp at the Radio(水题)
大体题意:给你n 个数,要求1~m每个数出现次数的最小值尽可能大,要求你修改n个数,要改的次数尽可能小,输出最小值的最大可能和最少修改次数,并把改的数组输出出来!思路:开始没看到次数尽可能少,wa了一次!想一想就知道,最大可能值肯定是 n/m那么直接统计1~m 每个数出现了几次!然后枚举一遍a数组,如果当前值 在1~m范围内!就判断这个数的出现次数 如果小于等于n/m原创 2016-10-03 22:48:36 · 555 阅读 · 0 评论 -
HDU 5908 Abelian Period(暴力)
大大体题意:给你n 个数字,要求分成k 个连续区间,使得k 个区间数的种类和数量完全一样,求所有的k?思路:直接暴力:枚举k ,1~n/2如果n能整除k 在处理,否则一个区间一个区间排序即可!不能所有区间一次性全排序,会超时!#include #include #include #include using namespace std;const int原创 2016-10-03 01:01:22 · 466 阅读 · 0 评论 -
Intel Code Challenge Elimination Round (Div.1 + Div.2, combined) -- B. Verse Pattern(水题)
大体题意:给你n 个数字,给你n 行文章, 问是否每一行的元音字母个数于数字对应? 元音字母是a,e,i,o,u,y思路:枚举即可#include using namespace std;const int maxn = 100 + 10;int a[maxn];int main(){ int n; scanf("%d",&n); for (i原创 2016-10-02 01:02:51 · 738 阅读 · 0 评论 -
UVALive 6659 Dromicpalin Substrings (递推 + 暴力枚举)
题意:给你一个长度不超过1000的字符串,对于任意一个子字符串,你可以任意排列,问有多少个子字符串能排成回文串?思路:先递推预处理出 i到j区间内 有多少个 奇数个的字母,然后暴力枚举 子字符串,判断这个区间奇数个数,如果大于1 不合适 否则ans++输出ans即可!#include #include #include using namespace std;char原创 2016-09-28 00:02:31 · 688 阅读 · 0 评论 -
Canada Cup 2016 C. Hidden Word(字符串构造)
大体题意:给你一个字符串,要求构造出一个字符关系来,使得字符串行走顺序必须符合字符关系,其中字符关系是2*13 的字符矩阵, 8个方向都是相邻(当然不可能有8个方向= =)思路:这个题长度是固定的 就是27个字符,开始没看见 还以为很长很长,于是想了好久好久都没有思路~ = =!如果是27个字符 那就随便做着玩了!题目保证 26个字母保证出现至少一次,那么肯定只有一个字母 出原创 2016-10-24 12:05:11 · 524 阅读 · 0 评论 -
Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) -- C. Felicity is Coming! (STL水过)
大体题意:有n 个体育馆每个体育馆里有 不同的精灵同样数字的精灵进化的结果是一样的不同数字进化的结果一定不同有多少个不同的进化方法使得每个体育馆进化后 和原来一样?思路:两个精灵可以互相进化的话,那么它们两个在所有的体育馆的数量和位置都必须一样。这样找出同类的所有数量后,求阶乘即可,因为它们内部随便排列都是合适的。然后把所有的阶乘乘起来即可!思路明确后,方法就很多了! 就随原创 2017-01-13 18:32:40 · 833 阅读 · 0 评论 -
HDU 5983 Pocket Cube (简单模拟)
大体题意:给你一个2*2*2的魔方,问你能否一步到达各个面的颜色完全一样。思路:其实挺简单的,题意已经给足了提示,已经告诉你了魔方怎么进行标号。(就是那个图)只要给魔方标号,怎么转就很简单了,可以预处理一个b 数组和c 数组,分别是魔方转一个面时候的侧面的八个面和上面的四个面,循环赋值即可。这样 写好循环赋值函数后,转六个面只需要更改b数组和c数组即可。详细见代码:#i原创 2017-02-06 15:49:43 · 1258 阅读 · 0 评论 -
蓝桥杯 历届试题 带分数 (暴力枚举)
题意:求n的带分数的种类,使得1~9各出现一次。思路:直接暴力枚举即可先o(n) 枚举 前面的整数, 在枚举后面的分数, 后面分数 加前面的整数 位数和超过9 个就剪枝了#include #include #include using namespace std;typedef long long LL;LL gcd(LL a, LL b){ return原创 2017-05-16 17:17:27 · 1019 阅读 · 0 评论 -
Codeforces Round #408 (Div. 2) -- C. Bank Hacking(分类讨论)
题意:给你一个树状图的银行结点, 你要攻击所有的银行, 每个银行有一个权值wi, 攻击这个银行你需要能力值为wi, 你攻击一个银行,那么这个银行相邻的银行的权值+1,间接相邻 的银行权值也加1, 这里的间接相邻指的是: 如果i 和j 间接相邻,那么必然存在一个没被攻击的k 使得i与k 相邻, k 与j 相邻。思路:找找规律便发现:如果从某个结点i 开始 攻击的话,那么和i 直接相邻原创 2017-04-12 22:17:46 · 594 阅读 · 0 评论 -
POJ 2674 Linear world (经典题目 -- 这个有坑= =)
题意:在一条线上,告诉你每个蚂蚁的位置和方向,两只蚂蚁碰面后原路返回,告诉你线的长度,和蚂蚁速度(所有的蚂蚁速度都一样),求最后一只蚂蚁掉落的时间和名字。思路:很久之前做的一道思路题目了。 这个题比较坑把 记录一下。两只蚂蚁碰面后相当于不回头一直往前走。那么我们可以记录下来每只蚂蚁假如不碰面掉落的时间,取个最大值就是最后一只蚂蚁掉落的时间,在把那个时间对应的每只蚂蚁位置记录下来原创 2017-03-15 15:26:42 · 467 阅读 · 0 评论 -
SPOJ VECTAR1 - Matrices with XOR property(统计)
大体题意:问你有多少个矩阵满足(i1,j1) and (i2,j2), if (i1^j1) > (i2^j2) then A[i1][j1] > A[i2][j2]对1e9+7取模思路:当i1^j1 == i2^j2 的时候不能比较大小, 全排列就好了。因此问题转换为有多少个i1^j1 == i2^j2 的位置,全排列乘起来就好了#include #include #原创 2017-03-09 21:23:45 · 339 阅读 · 0 评论 -
UVA 1669 && HDU 4118 Holiday's Accommodatio (思路题目--统计子树结点 )
题意:给你一棵包括n 个结点的树,每个结点上住着一个人,每个人都要换房子,但不能有两个人 住在同一个房子,求的所有人的最大路程长度?思路:成都2011年区域赛的题目:感觉正解好巧妙:最优解肯定是让每一个边尽量走更多次数。那么我们只需要算一下每个边 走的最大次数是多少即可。比如说a 这个结点的子树里(包括a) 一共有u 个结点, 那么剩下的有 n-u 个结点。令f 是a的原创 2017-03-13 20:40:52 · 767 阅读 · 0 评论 -
Technocup 2017 - Elimination Round 3 -- D. Santa Claus and a Palindrome (贪心+Map瞎搞)
大体题意:给你n 个字符串的权值,要求每个字符串最多使用一次,使得组成一个长的回文串,使得权值最大,如果最大权值为负数,则输出0.思路:真的被这道题恶心到了。做这个题就是细心,讨论好就可以了。我们可以开一个map >mp; 来存取每个字符串的权值,因为相同字符串可以有多个权值,所以用vector存。枚举当前字符串s 时,如果发现不是回文串,直接找 s 对应的回文串,两边同时原创 2017-02-26 23:56:21 · 370 阅读 · 0 评论 -
UVA 1471 Defense Lines (STL + 二分)
大体题意:给你一个长度为n(n 思路:因为要删除一个连续的子序列,所以会分成左右两部分之和的形式,我们枚举右边一部分的起点位置i,快速的找到左边一个合适的位置j,使得a[j] (注: g[i]表示以i 位置结束的最长上升连续子序列的长度,f[i]表示以i位置开始的最长上升连续子序列的长度)这样我们可以利用set 来维护当前合法的左边位置的值。什么是合法的? 必须是a[i]原创 2017-03-01 22:21:22 · 338 阅读 · 0 评论 -
UVA 1262 Password (水题)
大体题意:给你两个6行5列的数字矩阵,要求从每一列中选出一个字符来,使得两个矩阵中对应的列都存在,输出第k 小的密码。思路:数据量太小了。直接预处理出来每一列的合法字符,然后根据乘法原理,一步一步接近k 即可。有个坑:就是每一列可能有重复字符,要去重,这根据输出就可以晓得它的实际性。#include #include #include #include #def原创 2017-02-28 22:56:35 · 587 阅读 · 0 评论 -
Codeforces Round #398 (Div. 2) -- B. The Queue (贪心+暴力)
大体题意:告诉你工作站的工作起始时间 终止时间, 和处理一个人的时间间隔。并告诉你n 个人来的时间。 求你要求的话 什么时候去 排队时间最少, 如果你和某个人去的时间一样,你会排在它们后面。思路:暴力贪心就好了。先找有缝的,发现一个人的就诊时间大于上一个人结束时间,那么直接输出 上一个人输出时间。以上找的是不用排队的时间。如果找不到,就要找需要排队的时间。直接枚举每原创 2017-02-18 22:13:24 · 304 阅读 · 0 评论 -
ZOJ 2642 Feel Good (单调栈)
大体题意:给你n 个数,要求找一个区间[l,r] 使得区间中的最小值 × 区间和 的值最大?思路:直接单调栈即可!枚举每一个数作为最小值,找到 la[i]和ne[i]即 前面的边界和后面的边界!枚举更新一下答案即可!注意开long long#include #include #include #include using namespace std;cons原创 2017-01-11 07:53:26 · 394 阅读 · 0 评论 -
Canada Cup 2016 A - Jumping Ball (枚举水题)
大体题意:给你一个字符串,>字符表示在这个位置你只能向右走,思路:仔细想一想,其实很简单:如果能从左边掉下去,那必须从某个位置一直向左走,所以 从1号位置开始枚举,枚举到第一个>为止!如果从右边掉下去,必须从某个位置一直向右走,所以从n 位置一直向左枚举 枚举到第一个 详细见代码:#include using namespace std;const int max原创 2016-10-24 11:47:49 · 401 阅读 · 0 评论 -
UVA 1611&& UVALive 6588 Crane (贪心思路)
大体题意:给你n 个数(1~n),要求排列出来1~n升序的状态,你的操作只能选择一个偶数长度的区间,交换前一半和后一半,求操作过程,只要答案不超过9的6次方即是正确答案!思路:方法肯定有很多了,开放性的题目:简单记录下自己比赛想到的吧:一个数一个数的归位,那么就枚举1~n,先预处理出来每一个数的位置id[i]。然后判断当前位置,和正确位置。先判断能否一步到达, 所谓一步原创 2016-09-23 23:42:34 · 522 阅读 · 0 评论 -
Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) -- D. Dense Subsequence (技巧枚举)
大体题意:给你一个字符串,和一个数m ,要求在这个字符串中选出一些位置,使得任意连续的长度为m 的字符串中至少包括一个这些位置的字符!输出这些字符组成字符串的最小字典序!思路:借鉴了学长的博客!感觉很巧妙:枚举最后一个字母id!然后开始扫这个字符串,如果这个字符小于 id 加入到ans里如果等于id 先用栈记录一下,为什么用栈呢?因为最后用的时候肯定是用最远的一个,原创 2016-10-09 15:56:33 · 348 阅读 · 0 评论 -
UVALive 6692 Lucky Number (思路 + 枚举)
大体题意:给你n 个数字,某一个数的幸运数是这个数前面比他小 离他最远的位置之差!求出最大幸运值!(大体上这个意思!= = )思路:建立一个结构体,用来存数,有这个数的最小位置,和最大位置!然后按照数值排序!然后从头枚举,这样做就符合了比他小的情况!还要满足位置之差最远,那么直接让当前数的最大位置减去前面最小位置即可!然后不断维护这个最小位置!详细见代码:#in原创 2016-08-23 19:41:05 · 450 阅读 · 0 评论 -
CodeForces 589D --- D. Boulevard (数学题目--枚举分类讨论)
D. Boulevardtime limit per test 2 seconds memory limit per test 512 megabytes input standard input output standard output Welcoming autumn evening is the best for walking along the boulevard原创 2016-08-10 23:56:16 · 624 阅读 · 0 评论 -
CodeForces 589B -- B. Layer Cake(多重集合+技巧枚举)
B. Layer Cake time limit per test 6 seconds memory limit per test 512 megabytes input standard input output standard output Dasha decided to bake a big and tasty layer cake. In order to do原创 2016-08-10 23:39:18 · 616 阅读 · 0 评论 -
URAL 2070 Interesting Numbers (素数枚举)
大体题意:两个人,一个人认为一个数如果是素数的话,那么是符合要求的,另外一个人认为这个数的因子个数是素数的话,那么才是符合要求的!给你一个区间 [L,R],求出该区间内 同时符合两个人要求 或者同时不符合两人要求数的个数!思路:很有意思的一道题目!我们可以用间接法来求, 总数肯定是R-L + 1 可以求出符合一个但不符合另一个人数的个数 !我们很容易想到 如果这个数是素数原创 2016-08-22 21:37:43 · 621 阅读 · 0 评论 -
URAL 2069. Hard Rock (分类讨论)
传送门:题目传送门大体题意:告诉你一个m*n 的矩形,矩形的每一条边都有一个权值,求得从左上角走到右下角最下权值的最大值!思路:比赛没有做出来,样例完全没弄懂,= =明白了题意还是很简单的!既然每条边的权值都是一样的,那么从左上角走到右下角的方式就可以分为四种!走到终点可以有两种方式,竖着走下去,和横着走下去!关于横着走下去又可以分为两种:1.先走第一条竖边,在原创 2016-08-22 20:21:46 · 651 阅读 · 0 评论 -
POJ 3312 Mahershalalhashbaz, Nebuchadnezzar, and Billy Bob Benjamin Go to the Regionals (排序水题)
Mahershalalhashbaz, Nebuchadnezzar, and Billy BobBenjamin Go to the RegionalsTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 2440 Accepted: 1002Description原创 2016-08-19 00:45:02 · 600 阅读 · 0 评论 -
AIM Tech Round 3 (Div. 2) -- B. Checkpoints (枚举)
大体题意:告诉你的位置,一共有n 个地方,你要去n-1个地方,求你最少的总距离?思路:被终测掉了,记录一下这个题吧!因为要去n-1个地方! 所以最后一个地方或者第一个地方不去 这是最优解!因此两个地方讨论一下!排好序后:如果你的位置比第一个还小,那么不要去最后一个地方,如果你位置比最后一个地方大,那不要去第一个地方!如果在中间,考虑先走哪一个就好了!原创 2016-08-27 16:05:43 · 534 阅读 · 0 评论 -
Codeforces Round #365 (Div. 2) -- C. Chris and Road (思路水题)
C. Chris and Roadtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputAnd while Mishka is enjoying her trip...原创 2016-08-05 20:42:57 · 756 阅读 · 0 评论 -
Codeforces Round #365 (Div. 2) -- A. Mishka and Game (水题)
A. Mishka and Gametime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputMishka is a little polar bear. As known, little bea原创 2016-08-05 03:44:29 · 597 阅读 · 0 评论 -
Codeforces Round #365 (Div. 2) -- B. Mishka and trip (找规律枚举)
B. Mishka and triptime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLittle Mishka is a great traveller and she visited原创 2016-08-05 03:38:18 · 834 阅读 · 0 评论 -
UVALive 6694 Toy Boxes (枚举 + 三分)
大体题意:给你n 个玩具,把n 个玩具放到三个箱子里面,每个玩具有个标号 每天玩一个玩具,每次玩时,你都要把那一箱玩具搬出来,求出玩完所有的玩具至少搬多少重量的玩具!思路:题意转换一下就是求,如何把n 个数分配成三组, 使得 每一组的质量和乘以数量 的 总和最小!没有找到确切的规律!那就枚举把!既然把玩具分成三组,肯定是质量相近的越好, 所以要先排个序!分成三组原创 2016-08-23 21:35:29 · 499 阅读 · 0 评论 -
HDU 5875 Function (思路题目)
大体题意:告诉你一个自定义的F函数求解方法,给你q个自变量(区间),求解答案!思路:分析自定义的函数可以知道,我们可以变换一下这个函数,变换之后也就是F(l,r) = a[l] % a[l+1] %..... % a[r];如果这样纯粹的求解的话,肯定会超时的,不说有多少个操作,就是这个取模就慢的不行!我们知道,一个数对比他大的数取模的话,那么这个数取模后是不变的,我们可以利用原创 2016-09-14 19:38:07 · 689 阅读 · 0 评论 -
CCF 习题 201312-5 I’m stuck! (BFS)
题意不说了,中文的题意。思路:普通的bfs即可!第一个bfs,判断由起点是否可以到达终点,并且从起点能到达的点标记出来!(方便第二个bfs),如果可以到达终点,ok =1 ,最后只需要判断ok 是不是1 就可以处理其中一个答案!第二个bfs 判断 从标记的点中是否不可以到达终点,暴力枚举一遍即可!其中S + T 这三个字符可以一起处理,因为可以向四周走嘛!| - 这两个原创 2016-09-07 15:54:58 · 793 阅读 · 0 评论 -
Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) -- A. Checking the Calendar(思路)
大体题意:给你两个星期,判断能否在一个非闰年内 满足这个月第一天是第一个星期,下个月第一天是第二个星期?思路:其实思路很简单,因为这个月和下一个月间隔就三种情况: 差28天 ,30 天,31天,直接看这个星期 加上三个间隔能否到下个星期即可!哈哈 想到这个题目就想笑 自己好水, 竟然把从2015年到20000年的每一年 每一个月的第一天是星期几全都算出来了,然后在枚举!原创 2016-10-09 12:32:30 · 292 阅读 · 0 评论