![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
暴力-杂题
AcerMo
一只辣鸡大学生
展开
-
[Vjudge]红色病毒
问题描述如图解题思路首先易得这应该是一道公式递推题通过观察样例,结合数据范围,我们不难想到,也许这道题的结果有循环分析题目,假设当前序列长n,那么前n-1个字符有什么情况1.A、C均出现了偶数次 f[n-1][0]2.只有A出现偶数次 f[n-1][1]3.只有C出现偶数次 f[n-1][2]4.A、C均出现奇数次 f[n-1][3](记好这是前n-1个)针对每种情况我们当前位置可以进行的操作有1、前n个字符AC出现偶数次:f[n][0]=2*f[n.原创 2021-11-25 15:13:02 · 379 阅读 · 0 评论 -
[Vjudge]find your present (2)
题目简介给你n个数,有且仅有一个数出现了奇数次,你需要输出这个数思路这题的思路比较奇特,用到了一个位运算的特殊性质:异或运算的自反性即 x ^ y ^ y=x用到这道题里,我们只需要每次输进来一个数就异或他一下,这样出现偶数次的数就被异或掉了,剩下的就是出现奇数次的数代码//By AcerMo#include<set>#include<cmath>#include<cstdio>#include<cstring>#include<i原创 2021-11-20 16:13:22 · 677 阅读 · 0 评论 -
[Vjudge]叠筐
题目描述如图题目比较好理解,只是需要一些细节处理这题的基本思路为,逐层给字符串数组赋值,定义一个0/1变量,取值不同时赋值不同,从最外层开始向内循环即可处理的特殊情况为:1.n=1,直接输出,而不是输出为空2.行末没有多余空行代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>u.原创 2021-11-10 20:15:20 · 156 阅读 · 0 评论 -
【占个坑】回来搞ACM了
占个坑,日常的一些习题会发布在这里,这是一篇杂题水题汇聚的博客,算是恢复手感和解题能力的过程见证吧!原创 2021-11-07 00:00:44 · 129 阅读 · 0 评论 -
BZOJ1012洛谷 P1198 [JSOI2008]最大数
单调队列看着复杂度特别高,但是居然跑的飞快我们没读进来 一个数,它能影响到的位置就是末尾一直到第一个比他大的,所以我们暴力修改,然后查询的时候O(1)输出就好代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#inc...原创 2018-09-03 15:11:10 · 174 阅读 · 0 评论 -
BZOJ2276&&洛谷P3522 [POI2011]TEM-Temperature
单调队列不难发现[x,y]满足题意,当且仅当这段区间Li的最大值小于等于Ry并且[x,y-1]合法,然后维护左端点单调不降代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>...原创 2018-09-03 20:27:58 · 311 阅读 · 0 评论 -
BZOJ4385&&洛谷P3594 [POI2015]WIL-Wilcze doły
STL实现一个队列我们不难发现一个性质:以i-1为右端点的区间的左端点不会比以i为右端点的区间的左端点靠右之后我们就可以处理出每个以i结尾的区间的最靠左的左端点 ,由刚刚的性质,不难发现,若i的左端点是last,那么i+1的左端点最远就是last,所以我们下一次处理i+1时,就从last开始就好,看起来这个复杂度是n^2,但是其实是O(N)的,因为last从1~n每个只扫了一次,i从1...原创 2018-09-06 17:19:27 · 262 阅读 · 0 评论 -
BZOJ2750&&洛谷P2505 [HAOI2012]道路
毒瘤题拓扑+SPFA+暴力枚举枚举起点,跑SPFA求出dis[i]然后每进行完一次SPFA,就枚举最短路图中的所有边--->满足dis[fr]+cost=dis[to]的边就是最短路上的边,把这些边标记起来,构成一张最短路图,显然这张图上不存在环,因为不可能存在一条路径满足u->v->z->u,显然我们可以拓扑统计到达每个点的方案数tot[to]+=tot[...原创 2018-09-06 20:46:43 · 293 阅读 · 0 评论 -
BZOJ5277&&洛谷P4372 [USACO18OPEN]Out of Sorts(白金组)
第一直观思路是一个点的贡献是它递归的深度,但是咋求这个深度呢我们不妨沿用金组分割点的思路,对于一个rank在分割点左侧但位置在分割点右侧的点,一次排序会被一个比他大的数换一次,也就是说每次排序,它的位置就会前移一位,所以我们考虑的这个分割点出现的时刻就是i之前的元素最远的位置-i,然后不难发现,一个元素停止递归的时刻当且仅当它左右的分割点都出现的时候,也就是max(time[i],time[i...原创 2018-09-17 16:15:41 · 304 阅读 · 0 评论 -
BZOJ4552&&洛谷P2824 [HEOI2016/TJOI2016]排序
大暴力正解是线段树合并或者二分+线段树排序然而暴力可过,那就暴力吧桶排可过,然后就没了代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using...原创 2018-09-13 19:32:47 · 238 阅读 · 0 评论 -
BZOJ4236&&洛谷AT1224 JOIOJI
STL大法好%%%po姐存一个sum[i][0/1/2],表示前i位有多少个J/O/I然后做差丢进一个map里,记录最早出现时间,对每个位置在map里查一下代码//By AcerMo#include<map>#include<cmath>#include<cstdio>#include<cstring>#includ...原创 2018-09-15 15:15:23 · 261 阅读 · 0 评论 -
BZOJ3208花神的秒题计划
记忆化搜索暴力模拟即可每次保护或撤销或改变海拔就暴力修改,然后对于询问,记忆化搜索一下就好了代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace ...原创 2018-10-12 15:06:01 · 222 阅读 · 0 评论 -
Codeforces 611B New Year and Old Property
思维题题目大意给定你l和r,问你在这个区间内,有多少数满足化成二进制后,只有一个0思路我们发现最多也就60位,所以我们可以枚举0在哪一位,然后在补1,然后统计个数就好了,如何枚举0呢?我们先预处理二进制下的2i2^i2i,然后当我们要枚举0在第i-1位时,就可以让num=2i+2i−1−1num=2^i+2^{i-1}-1num=2i+2i−1−1,就会发生1000000+100000−...原创 2018-10-19 21:15:30 · 226 阅读 · 0 评论 -
ST表[学习笔记]
模拟赛求最值,要用二维ST表,可是我连一维都不会所以我写了个树状数组,然后跪了30分QAQ赶紧滚过来学一学,网上讲的好复杂QWQ概念ST表是用来求解区间最大值的一种优秀的离线算法,它可以 O(nlogn)O(nlogn)O(nlogn)预处理,,然后O(1)查询,如何实现呢?思想运用了近似于区间DP的方法,一个大区间有小区间转移得到,不同的是,我们定义ST[i][k]ST[i][k]S...原创 2018-10-26 20:23:26 · 394 阅读 · 0 评论 -
洛谷P3500 [POI2010]TES-Intelligence Test
二分思路记录每个数出现的位置,然后二分。代码//By AcerMo#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<iostream>#include<algorithm>using namespace std...原创 2018-11-02 16:06:52 · 277 阅读 · 0 评论 -
BZOJ1072&&洛谷P4163 [SCOI2007]排列
STL全排列代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define lli long long intusing namespace std;lli n,t,...原创 2018-09-02 10:28:51 · 234 阅读 · 0 评论 -
BZOJ1567&&P4398 [JSOI2008]Blue Mary的战役地图
二维hash+二分先每一行hash一下,然后二分一个边长,再正方形hash一下,压到一个数组里,lowerbound看看有木有相同的然后就没了代码(减一过题了解一下)//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#i...原创 2018-09-04 18:28:13 · 188 阅读 · 0 评论 -
BZOJ3613&&洛谷P4105 [HEOI2014]南园满地堆轻絮
二分答案不难发现,对于二元组a,b,b<a,那么让他们平衡的最优操作时让他们变成(a+b)/2,然后我们就可以通过二分一个mid,看看,是不是通过+x或减x能使数列合法代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>...原创 2018-08-29 08:10:16 · 190 阅读 · 0 评论 -
洛谷 P1217 回文质数
题目描述因为151既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 是回文质数。写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)( 一亿)间的所有回文质数;输入输出格式输入格式:第 1 行: 二个整数 a 和 b .输出格式:输出一个回文质数的列表,一行一个。样例输入 5 500输出 5 7 11 ...原创 2018-02-26 15:30:58 · 1020 阅读 · 0 评论 -
洛谷 P4030 CODEPLUS 17.12月赛可做题1
被高三学长扒来当放假前的考试题,考试时推错了公式,emmmmm原题戳解题思路从例子中可以看出,若一个矩阵神奇,,它所包含的每个2阶矩阵也一定神奇,所以输入一个矩阵后,先预处理处它所包含的每个二阶神奇矩阵,查询时,暴力走一遍,水过!(样例没什么鸟用)代码//By Acer.mo#include<iostream>#include<cstring>#include<...原创 2018-02-27 16:18:12 · 238 阅读 · 0 评论 -
HEOI [2015] 定价
一道暴力的题,先把从左区间开始模拟每个数字,然后累加自己想没有想出来,参考了hzwer神犇的贪心biu~代码By Acer.Mo#include<queue>#include<cmath>#include<stack>#include<cstdio>#include<vector>#include<string>#...原创 2018-04-02 16:22:46 · 295 阅读 · 0 评论 -
BZOJ4325&&洛谷P2668[NOIP2015]斗地主
毒瘤大模拟,披着搜索的皮。。。没错,就是皮。。恶心死了,,,PoPoQQQ大爷说的没错,JB题//By AcerMo #include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace s...原创 2018-07-18 19:35:56 · 245 阅读 · 0 评论 -
洛谷P1087 FBI树
STL大法好二进制划分,然后用下标建图,然后后序遍历get到如果要给string一位一位的赋值要先给string开好空间s.resize(10000)代码//By AcerMo#include<cmath>#include<queue>#include<cstdio>#include<string>#include<vector>...原创 2018-07-06 21:31:24 · 206 阅读 · 0 评论 -
BZOJ1800&&洛谷P2165 [AHOI2009]飞行棋
大模拟。我们由○内矩形不难想到,如果矩形存在,那么它的对角线必然是两条直径,那么问题一下就明朗了,找两点间连线是直径的数量,如何找呢?发现直径将○分为弧长相等的两份,那么我们只需要找连续的弧长使他是圆周长的一半,发现n只有20,那就n^2枚举就行,求一个前缀和,然后两重循环卡区间左右端点,然后我们发现一个矩形由两条直径,相当于先取出一条,然后在剩下的里面再取一条,那么答案就是sum*(sum-...原创 2018-07-25 10:40:56 · 269 阅读 · 0 评论 -
纪中OJ 3493NOIP2013模拟联考13】三角形(triangle)
大模拟。。。。。。只不过不能用n^3,要用玄学复杂度先看n^3的做法,枚举三个端点,看是不是在一条直线上,或者求面积看是不是等于零然后我们就可以该进暴力,如何该进呢?先计算总的方案数,然后我们可以枚举两个点之间线段的斜率,然后假象延长这个线段,看是不是会包含另一些线段,然后减去这些不合法的方案数,最后就是结果//By AcerMo#include<cmath>...原创 2018-08-06 18:49:34 · 405 阅读 · 0 评论 -
BZOJ2463&&洛谷P4136 谁能赢呢?
发现,如果n是奇数,那么n^2也是奇数,那么在最优策略下,先手会走第一步,所以n是奇数先手赢,n是偶数后手赢代码//By AcerMo#include<cstdio>#include<iostream>using namespace std;int main(){ int n; while (cin>>n) { ...原创 2018-08-02 08:20:05 · 240 阅读 · 0 评论 -
BZOJ2241&&P2484 [SDOI2011]打地鼠
大模拟!枚举锤子的大小,并且一个必要条件是锤子的面积必须是地鼠总数的约数,不然肯定打不完代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace...原创 2018-08-07 20:18:37 · 277 阅读 · 1 评论 -
纪中OJ 5773 【NOIP2008模拟】简单数学题
推公式的毒瘤题看他给的这个公式 (n-t/2)/(n-t)∈(正整数)我们转化一下(n-t/2)/(n-t)=x -> (n-t+t/2)/(n-t)=x -> (t/2)/(n-t)=x-1t/(n-t)=2*(x-1) -> t=2*(x-1)*(n-t) -> t=2*(x-1)*n-2*(x-1)*tt*(1+...原创 2018-08-08 18:35:04 · 366 阅读 · 0 评论 -
BZOJ1177&&洛谷P3625 [APIO2009]采油区域
二位前缀和+dp我们处理五个数组,s,a,b,c,ds:前缀长度为边长的前缀和a:当前点的左上的范围内的最大正方形b:当前点的右上的范围内的最大正方形c:当前点的左下的范围内的最大正方形b:当前点的右下的范围内的最大正方形然后我们可以把图分成这六种情况然后取max就好了代码//By AcerMo#include<cmath>#inc...原创 2018-08-31 09:40:11 · 296 阅读 · 0 评论 -
BZOJ1303&&洛谷P1627 [CQOI2009]中位数
大暴力+无脑前缀和我们找到m所在的位置,然后,比m大的,记成1,比 m小的,记成-1,m记成零,然后我们记录从m所在位置向前的前缀和,在记录从m所在位置向后的前缀和,记录下每种前缀和出现的次数,然后我们枚举左侧的和,然后右侧满足右侧和左侧前缀和相加等于零就行了,相加等于零说明比m大的和比m小的数数量相同,然后m就是中位数了,然后刚刚我们统计了数量,直接乘法原理乘一下就好了代码//By...原创 2018-08-31 18:30:39 · 215 阅读 · 0 评论 -
BZOJ1218&&洛谷P2280 [HNOI2003]激光炸弹
二维前缀和取个max,然后就没了代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int M=5005;int n,...原创 2018-08-31 19:31:33 · 220 阅读 · 0 评论 -
洛谷P1965 [NOIP2013]转圈游戏
快速幂一波,然后没了代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int n,m,k,e;inline int fpow(i...原创 2018-08-31 20:38:14 · 260 阅读 · 1 评论 -
洛谷 P1449 后缀表达式
原题http://https://www.luogu.org/problemnew/show/P1449这个题需要用到一个栈的思想,即遇到数字就压栈,遇到运算符就弹栈代码//By Acer.mo#include<iostream>#include<string>#include<cstring>#include<stdlib.h>using...原创 2018-02-26 14:50:23 · 435 阅读 · 0 评论