暴力枚举
CaprYang
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #521 (Div. 3) E. Thematic Contests 暴力 前缀和
题解题目大意 每天完成若干个相同的任务 第二天完成的数量要求是前一天的两倍 不同天不能完成相同的任务 问最大任务完成数量统计相同编号的数量 向前做前缀和 暴力枚举最后一次的完成数量 每次除以二检测当前数量-天数(减去向前前缀和的贡献)是否大于0 大于则满足 每次结束检测是否为奇数 乘二不可能为奇数所以跳出AC代码#include <stdio.h>#include <b...原创 2018-11-17 01:53:35 · 448 阅读 · 0 评论 -
Educational Codeforces Round 36 (Rated for Div. 2) C. Permute Digits 贪心 暴力
题解题目大意,AB两个数字,A的每位数字任意排列找到满足小于等于B的最大数值。暴力枚举A串的每个位置使用9~0的某个字符,从9逐渐减少然后尝试。如果当前位置i使用数字j,然后对i+1位置后面的字符进行从小到大的排序, 如果排序后使用stoll转为数值小于等于B则说明当前位置使用j可行,如果不可行则说明后面怎么排列都不会小于等于B,减少j继续尝试,由于题目保证有解则一定能找到满足的。AC代码...原创 2019-03-15 13:34:02 · 190 阅读 · 0 评论 -
Fliptile POJ - 3279 枚举
题解题目大意,n*m的01矩阵,可以反转01,但每次反转会导致上下左右相邻位置也反转,问是否能反转为全0,输出对应位置操作次数。对于每个位置,如果反转两次则等于不反转,所以每个位置只可能反转0或1次。枚举第一行每个位置的反转状态0或1,复杂度O(2^m),根据当前状态反转后可能仍然有些方块为1,则只能收到第二行的影响。所以枚举第一行的状态之后,第二行的状态就能被确定,然后第三行第四行。。,...原创 2019-03-15 18:15:44 · 322 阅读 · 0 评论 -
Face The Right Way POJ - 3276 枚举 差分
题解题目大意,一排牛,有正朝农夫的有背朝农夫的,选取一个k,农夫可以将一段长度为k的牛进行翻转,问最少翻转次数和对应的k。N不是很大,枚举k的值,检测当前的k是否能完成反转全部的牛并且得到最小的反转次数。对于一个序列如FFBBFBBF无论k为何值,第一次反转的起点都要从一个B的位置来,否则会造成更多的B。反转后又回到了一些F一些B的状态,依然从第一个B的位置反转,所以反转方式已经固定了。...原创 2019-03-15 18:30:40 · 460 阅读 · 0 评论 -
第九届河南理工大学算法程序设计大赛 正式赛 G. Mo的数学 分解质因子 暴力 | 容斥
题解直接暴力将m和区间[1, n]进行求gcd判断会超时,考虑m和[1, n]是否互质可以转换为m的任意一个质因子知否能整除[1, n]。暴力法:区间[1, n]每个数字尝试除以m的每个质因子如果都无法整除则说明与m互质累乘至答案,复杂度O(Tnlogm)。(数据水了非正解)容斥法:答案为 n! / 每个质因子的倍数 * 两两质因子乘积的倍数 / 三个质因子乘积的倍数… 所有质因子乘积的...原创 2019-04-02 18:03:59 · 260 阅读 · 0 评论 -
L2-030 冰岛人 LCA 暴力
题解首先说明一下题意,有些题面没说明白。如果A是C的第5代,B是C的第4代则不满足,要求最近公共祖先是两个人的5代及以上。如果查询的是起源人也是输出NA。给出的名称最后表示性别的m和f不算为名称后缀,查询时会带有。题目实际上就是给定一个图,问两个点是否有5代以内的最近公共祖先。由于给的是字符串,需要先用map编号为1~n的点处理。映射编号建图后,从祖先节点0开始DFS求出每个点的深度。找L...原创 2019-04-02 19:14:28 · 1520 阅读 · 1 评论 -
L1-006 连续因子
题解数据量比较小,因子数量不会超过logn,枚举连续因子起点i,连续的因子j。每次检测j是否能整除m累乘的j是否小于等于m。i的枚举只需要到sqrt(n),因为一个数的连续2个以上因子不可能大于sqrt(n)否则乘积比自身还大,总复杂度O(sqrt(n)*logn)AC代码#include <stdio.h>#include <bits/stdc++.h>usi...原创 2019-04-03 00:29:36 · 386 阅读 · 0 评论 -
Codeforces Round #552 (Div. 3) 题解
题目链接A. Restoring Three Numbers#include <stdio.h>#include <bits/stdc++.h>#define fst first#define sed secondusing namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;con...原创 2019-04-20 22:47:58 · 855 阅读 · 2 评论 -
河南省第九届ACM程序设计竞赛 部分题解
A 表达式求值 <逆波兰>#include <stdio.h>#include <bits/stdc++.h>#define fst first#define sed secondusing namespace std;typedef long long ll;const int INF = 0x3f3f3f3f;const ll LINF =...原创 2019-04-21 14:14:21 · 1222 阅读 · 0 评论 -
“卓见杯”第五届CCPC中国大学生程序设计竞赛河南省赛 题解
题解使用树状数组查询某个范围内的数值的数量,因为数值比较大需要先进行离散化处理。使用DFS遍历整棵树,当到达某个节点时首先查询区间[a[i]-m, a[i]+m]范围内的数字数量记为last,表示还没到当前子树时已有的数量。将当前节点值加进梳妆数组,因为自身到自身也算。进行递归,回溯后再次查询区间[a[i]-m, a[i]+m]记为now,表示增加了自身子树之后的数量。最后每个点的答案f[...原创 2019-04-13 18:41:12 · 889 阅读 · 2 评论 -
Codeforces Round #545 (Div. 2) B. Circus 枚举 公式
题解题目大意,n个人,有些可以表演小丑有些可以表演杂技,要求平分为两组,第一组可表演小丑的数量等于第二组可表演杂技的数量。n不是很大O(N^2)复杂度可以通过,什么都不能表演的记为a,只能表演小丑记为b,只能表演杂技记为c,都可以记为d。枚举第一队b的数量和d的数量,根据第一组可表演小丑数量等于第二组可表演杂技数量可得方程b + d == (cn - c) + (dn - d)。cn, d...原创 2019-03-15 11:19:10 · 322 阅读 · 0 评论 -
Codeforces Round #539 (Div. 2) D. Sasha and One More Name 暴力 思维
题解题目大意,给一个回文串,可以将回文串切成若干段再拼接,问最少切多少段能拼出和原有串不同的回文串如果所给回文串除了中心位置(长度为奇数)其它都相同则无论怎么拼接出来的回文串都和原串相同,直接impossible对于任意非第一种情况的回文串,从中心分为两部分来看,必能在一测找到切割反转后不等于另一侧的位置则切割两次必定能拼成和原串不同的回文串(如abaacaaba,左侧ab|aa右侧aa|...原创 2019-02-17 18:53:45 · 401 阅读 · 0 评论 -
Codeforces Round #528 (Div. 2) B. Div Times Mod 暴力
题解题目大意 给N和K 根据公式(x div k) * (x mod k) = n问最小的x先用i枚举x mod k的值 在n能被i整除的情况下 n / i则为x div k 则n / i * k为满足x div k最小的x再枚举x的真实值 要求余数为i 答案取最小AC代码#include &amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;l原创 2018-12-24 00:00:34 · 485 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day4 (Div2, onsite) I 咆咆咆哮 贪心 暴力
题解考虑如果选择b肯定是在所有的a使用完毕后再使用数据量1000枚举a的使用量i 计算每个数值选择a比选择b高出的收益然后降序排序并选择前i个答案取max即可AC代码#include &amp;lt;stdio.h&amp;gt;#include &amp;lt;bits/stdc++.h&amp;gt;using namespace std;typedef long long ll;const int IN原创 2019-01-23 20:32:38 · 429 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day1 (Div2, onsite) J 夺宝奇兵 暴力 贪心
题解考虑枚举一维k 表示先将宝物数量大于k的人手中宝物全部买下 这时所有人的宝物都小于k 只需要将自己手中宝物数量通过购买最便宜的宝物补足k即可AC代码#include &amp;lt;bits/stdc++.h&amp;gt;using namespace std;typedef long long ll;const ll LINF = 0x3f3f3f3f3f3f3f3f;const int ...原创 2019-01-20 18:09:20 · 598 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day7 (Div2, onsite) G 抢红包机器人 暴力
题解数据范围很小 直接N^2暴力即可 接受每个红包抢得顺序 按照题意人不可能比机器人抢得快所以在前面的一定是机器人 后面向前面建一条有向边假设第i个人为机器人 从i点出发DFS统计经过点的数量取min即可(包含未抢红包的是机器人情况)AC代码#include &lt;stdio.h&gt;#include &lt;bits/stdc++.h&gt;using namespace std...原创 2019-01-26 18:11:03 · 435 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day2 (Div2, onsite) A Erase Numbers II 暴力
题解本题目是可以使用N^2暴力飘过的 ij枚举两个数字注意题目要求不能改变顺序 使用add函数将两个整数拼接在一起求最大值即可不能使用字符串拼接 使用整数时两个1e9拼接在一起会超过long long范围 使用unsigned long long存储AC代码#include &lt;stdio.h&gt;#include &lt;bits/stdc++.h&gt;using names...原创 2019-01-21 22:42:00 · 198 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day8 (Div2, onsite) G 穗乃果的考试 暴力
题解根据输入nm O(N^2)暴力打出行和列每个位置∑nm的覆盖次数h和l 使用差分+前缀和优化加法接受数据的同时计算答案 如果当前位置为1则加上覆盖次数 即ans += a[i][j]*h[i]*l[j]AC代码#include <stdio.h>#include <bits/stdc++.h>using namespace std;typedef long...原创 2019-01-27 21:40:01 · 650 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day2 (Div2, onsite) B Erase Numbers I 暴力 贪心
题解如果要删除一个数字肯定是要删除长度最短的 拼接起来的字符串越长才会越大 考虑删除2个数字肯定是要在删除1个的基础上进行所以先删一个再删一个 枚举删哪个然后直接string拼接字符串记录最优答案和要删除的下标 两次O(N^2)暴力即可AC代码#include &amp;amp;lt;stdio.h&amp;amp;gt;#include &amp;amp;lt;bits/stdc++.h&amp;amp;gt;usin原创 2019-01-28 22:35:36 · 348 阅读 · 0 评论 -
CCPC-Wannafly Winter Camp Day2 (Div2, onsite) K Sticks 暴力 折半枚举
题解一共12根木棒如果直接DFS每3根分一组复杂度非常高再乘上6000组样例直接爆炸 先使用DFS枚举状态 每次只枚举一半12根里面选6根另外6根自然也确定了 再从6根里面选3根同理剩下三根自然也会确定 这样复杂度就会将C(12, 6)*C(6, 3)*常数枚举出来的状态前一半处理过程中状态取反已经将后面的包含了 所以只需要用前一半即可AC代码#include <stdio.h&g...原创 2019-01-30 00:42:47 · 518 阅读 · 0 评论 -
Codeforces Round #539 (Div. 2) B. Sasha and Magnetic Machines 暴力
题解题目大意 给若干个数字,只能使用一次操作将一个数字乘k让另一个数字除以k,要求被除的数字能整除,也可以不操作,求所有数字的和最小值由于数值范围很小,统计每个数值出现次数,O(N^2)暴力尝试将一个数字*k一个数字/k找到能减少的值的最大值,最后加上总和AC代码#include <stdio.h>#include <bits/stdc++.h>#define ...原创 2019-02-17 18:24:07 · 838 阅读 · 0 评论 -
郑州轻工业大学“CCPC2019-河南省赛”选拔赛(2) 部分题解
题目链接A 火柴棒等式 <暴力>#include <stdio.h>#include <bits/stdc++.h>#define fst first#define sed secondusing namespace std;typedef long long ll; const int INF = 0x3f3f3f3f;const ll L...原创 2019-04-18 21:21:24 · 979 阅读 · 0 评论