
暴力
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
【SCOI2012】喵星球上的点名
【SCOI2012】喵星球上的点名Description 给出n个模式串,m个文本串,每个模式串由两部分组成,我们认为一个模式串被一个文本串包含只要这个文本串包含它的两部分中的其中一部分的子串。求每个文本串包含多少个模式串,每个模式串又被多少个文本串包含。Input 我们用两部分来定义一个串,先给出一个L,再给出L个字符表示这个串。注意,这里的字符用数字来表示。 输入的第一行是两原创 2016-01-25 09:32:03 · 1045 阅读 · 0 评论 -
【NOIP2013模拟联考7】数列
Description给出一个序列,每个数由一个二元组(a,b)表示,有4中操作 1:把a值在l~r范围内的数乘上x再加上y 2:把b值在l~r范围内的数乘上x再加上y 3:询问a值在l~r范围内的数的和。 4:询问b值在l~r范围内的数的和。 n<=50000Solution写了一下午的常数优化,终于过掉了TAT 具体来说,很容易想到第一个分块。我们用每个块维护原块和排过序的块,那么我原创 2016-06-25 16:23:20 · 1048 阅读 · 0 评论 -
[bzoj3754][GDOI2014模拟]Tree
Description最小标准差生成树。。。。 n<=100,m<=2000,边权<=100Solution其实我比赛时想的是可以的,不过不用二分,而用枚举。 没错,枚举平均数。 不过,可能的数太多了,得另想办法。 我们把排好序的数按顺序排列,对于相邻的两个数a和b,和他们的平均数ave,区间[a,ave]中的任意一个数为平均数所形成的最小生成树都是一样的。 同理[ave,b]。 所以我原创 2016-06-11 16:51:03 · 678 阅读 · 0 评论 -
[51nod1244]莫比乌斯函数之和
Description求∑i=lrμ(i)\sum_{i=l}^{r}\mu(i) l,r<=10^10Solution设M(n)=∑i=1nμ(i)M(n)=\sum_{i=1}^{n}\mu(i) 我们知道,∑d|nμ(d)=[n=1]\sum_{d|n}\mu(d)=[n=1] 那么1=∑i=1n∑d|iμ(d)1=\sum_{i=1}^{n}\sum_{d|i}\mu(d) =∑T=原创 2016-07-06 09:35:17 · 2557 阅读 · 0 评论 -
[51nod1239]欧拉函数之和
Description求∑i=1nφ(i)\sum_{i=1}^{n}\varphi(i) n<=10^10Solution这道题和莫比乌斯函数一行,都可以通过神奇的推导的出结论。 我们设ϕ(n)=∑i=1nφ(i)\phi(n)=\sum_{i=1}^{n}\varphi(i) 众所周知,∑d|nφ(d)=n\sum_{d|n}\varphi(d)=n 那么,φ(n)=n−∑d|n,d<n原创 2016-07-06 10:37:41 · 2240 阅读 · 0 评论 -
[51nod1188]最大公约数之和 V2
Description求∑i=1n−1∑j=i+1ngcd(i,j)\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}gcd(i,j) n<=5*10^6,数据组数<=50000Solution一眼看到莫比乌斯反演(感觉中毒了) 但是会超时!!! 想想其他方法。 我们知道,如果要在区间[1..i]中询问gcd(i,x)=t的个数。那么也就相当于询问gcd(i/t,x/t)=1的原创 2016-07-06 15:16:40 · 1345 阅读 · 0 评论 -
Ned 的难题
Description给出一个序列a,求∏i=1n∏j=i+1ngcd(ai,ai+1,ai+2...aj)\prod_{i=1}^{n}\prod_{j=i+1}^{n}gcd(a_i,a_{i+1},a_{i+2}...a_j) n<=50000Solution先把暴力写出来,设bj=gcd(aj,aj+1,aj+2..ai) 那么a[i]的贡献就是∏j=1i−1bj\prod_{j=1}^原创 2016-07-08 12:58:32 · 591 阅读 · 0 评论 -
String
Description有两种字符串S,T。长度分别为n,m。现在需要在S里面有序地选出k个子串,且在T中出现的顺序与这k个子串的顺序相同。问这k个子串最大的长度和 n,m<=1000,k<=10Solution题意简洁系列。 顺带一说,字串不可重。 显然Dp。 三维可能会算重,多开一维,表示前面是不是连续一段匹配的。 然后就没有了。COde#include<cmath>#include<原创 2016-07-08 15:42:33 · 680 阅读 · 0 评论 -
【GDOI2017模拟8.15】Game
Description给出一个n*m的网格图。 你可以决定每个格子是0还是1. 给出n+m个限制,每个限制限制每行或每列有且只有多少块连续的1. 一块连续的1指的就是一块连续的1(呵呵 两块连续的1就像这样:1…101…1 求方案数。 n<=5,m<=20Solutionn最大为5,这让我想起了什么不好的东西(雾 似乎某位大爷说过,n这么小那么就状压DP呀! 但是如何处理每行的限制?原创 2016-08-16 20:48:50 · 539 阅读 · 0 评论 -
【GDOI2017模拟8.15】Buy
Description有n个袋子和m个粮食(量词鬼畜,我是搬运工233) 第i个袋子里会有pi的概率装vi的金币,有1-pi的概率装一颗钻石。 每个粮食需要ci的金币和di的钻石才可以购买。 求购买粮食的期望个数。 n,m<=30,ci,vi<=100000000Solution首先,我们很显然可以预处理出Fi,j表示用i个钻石买j个粮食所需要的最小金币数。 然后,显然对于n<=30的情况原创 2016-08-16 21:08:14 · 511 阅读 · 0 评论 -
[51nod1223]分数等式的数量
Description给出一个数L,求所有的x < y <=l且满足1/x+1/y=1/n(n为整数)的(x,y)二元组的数量。 L<=10^11Solution近似暴力算法碾过去了=w= 安利一份更劲的题解 首先我们就相当于求x+y|xyx+y|xy的二元组的数量 提取一个d=gcd(x,y)d=gcd(x,y), x′=x/dx'=x/d, y′=y/dy'=y/d,那么 d(x′+y原创 2016-12-22 22:06:22 · 574 阅读 · 0 评论 -
GDOI 2016 Day1 T2 最长公共子串
Description给出两个字符串A和B,求最长公共子串。 其中B串中有k个区间的字符可以任意调换。 |A|,|B|<=2000,k<=100000Solution首先,一个很明显的性质,两个区间如果有交集,那么这两个区间可以合并成一个。 然后,k就可以降到2000级别了。 开始乱搞。 你可以选择双指针往后推,也可以使用DP。 这里介绍后者。 设f[i,j]表示以A串的第i位和B串的原创 2016-05-14 16:25:47 · 887 阅读 · 0 评论 -
GDSOI 2016 T2 星际穿越
Description有n个人在排队。他们会按顺序选择自己喜欢的点a[x]。如果a[x]已经被选择了,那么他会选择f[a[x]],如果f[a[x]]已经被选择了,则选择f[f[a[x]]]…保证所有人都有点选择。求选择的点本质不同的排列的方案数。 n<=10^6Solution我们把x向f[x]连边,那么原图就是一个环加内向树的模型。 如果只是一棵树的话,那么我们从叶子节点开始,设size[x]原创 2016-05-26 12:34:19 · 972 阅读 · 0 评论 -
GDKOI2016 Day2 T1 染色大战
T1 染色大战 给出一个N*M的格点图,每个点有黑色和白色两种状态。有A,B两个人轮流操作,A先手。每一次操作可以把一个白点染成黑点。若这次染色产生了新的简单黑色正方形(即最小的正方形,四个顶点都为黑色),则获得其得分,并奖励多一次染色。求两人都在最优策略的情况下,A的得分-B的得分的值。简单博弈。只要会博弈就会做。很显然,A想让答案变大,B想让答案变小。在递归时记录当前的状态和是谁操作,直接原创 2016-03-05 12:46:57 · 1353 阅读 · 0 评论 -
【NOIP2015模拟11.2】复制&粘贴2
Description给出一个的字符串和m次操作。每次操作将a~b这段区间(左开右闭)插入到c这个位置。操作中字符串的长度不超过n(超过的delete掉),求操作完的字符串的前k个字符。 k<=200 n<=10^9 m<=2*10^5 保证操作合法Solultion观察到k比较小,正难则反。 对于每一个结尾在i这个位置的字符,逆推出它在原串中的位置。 很明显,位置只会有向左平移,直接粘原创 2016-04-06 20:52:27 · 877 阅读 · 0 评论 -
【NOIP2015模拟11.2晚】Lala买面包
Description给出n个数,求这n个数中有多少个数可以写成x^p(x>=2,p>=2)的形式。 n<=10^6 每个数<=10^14Solution很容易想到枚举指数。 一个明显的性质,指数只可能是质数,且最大为50. 那么我们可以直接求出1~50之间的质数,然后枚举判断。 可以用c++黑科技pow作弊。 注意精度。(我恨实数运算!)Code#include<cstdio>#in原创 2016-04-06 21:00:07 · 1229 阅读 · 0 评论 -
【HNOI2016模拟3.26】A
Description给出n个球,m个筐子。每个球可以放在第ai个或者第bi个筐子里。求最少有多少个筐子里有奇数个球,和最优情况下的方案数。 n,m<=2*10^5Solution我们运用调整法解决这道题。 我们先随便把每个球扔到任意一个筐子里。这样我们就得到了一堆偶数筐和奇数筐。 然后,对于每一个球的方案,它相当于同时改变这两个筐子的奇偶性。 很明显,当我们把它当成一张图连完边后,有偶数个原创 2016-04-09 16:53:30 · 763 阅读 · 0 评论 -
【NOIP2011模拟9.20】素数密度
Description求区间[l~r]中素数的个数。 r-l+1<=10^6 l,r<2^31Solution呵呵了。刷出maxl−−−−√\sqrt{maxl}中所有的素数,然后再用这一坨素数去刷l~r这个区间。 没有了,大水题。 为什么我开50000过不了! 逼我开100000!Code#include<cstdio>#include<cmath>#define fo(i,a,b)原创 2016-04-13 20:38:15 · 669 阅读 · 0 评论 -
【NOIP2013提高组day2】华容道
Description给出一张n*m的棋盘,有一些点上有障碍物,其他点上都是棋子。给出q次询问,每次询问给出一个空格,一个目标棋子,一个目标位置,每一步可以把一个棋子移进空格,求把目标棋子移动到目标位置的最小步数。 n,m<=30,q<=500Solution第一眼看到就知道是大暴力题,发现询问次数少的时候一次bfs就解决了,那么询问多起来呢? 预处理! 如何预处理? 我们先不想这个问题,想原创 2016-03-28 19:12:53 · 946 阅读 · 0 评论 -
【GDOI2016模拟3.9】染色配对
Description给出n个点,且这n个点形成了m个极大团(团里面互相有边相连,且极大团不被其他团包含),每个点都属于且仅属于两个极大团。求这张图的极大匹配数和方案。 m<=2*10^4,n<=2*10^5Solution比赛时脑抽,+没时间打,求忽略了一道原题! 【HNOI2016模拟3.26】A 可以发现只有同一个极大团里的点能配对,就相当于把每个点都选择一个极大团,然后使最少极大团里原创 2016-04-11 19:53:22 · 1028 阅读 · 0 评论 -
【GDOI2016模拟4.23】数字方阵
Description有一个无限大的矩阵A,满足A[i,1]=i,A[i,j]=A[i,j-1]+rev(a[i,j-1]) 求这个矩阵中,在区间a~b中间的数的数量。 多组询问。 Type<=10^5,a<=b<=10^10Solution一眼数论(蒟蒻) 然后发现不会打。 其实我们可以发现,对于每一行,都是递增存在的,并且出现2次以上的数不会特别多,也就(19^5+19^4+19^3+原创 2016-04-26 19:34:54 · 610 阅读 · 0 评论 -
【NOIP2015模拟11.3】装饰大楼
Description给出一个序列A,Ai表示对于一个h序列来讲,以i结尾的lis的长度。h中的数两两不等。 现在你知道了A删去一个数之后的序列B(未知删掉哪位),求A序列有多少种。 |A|<=10^6Solution好多细节呀!!! 不爽,懒得打题解。Code#include<cstdio>#include<cstring>#include<algorithm>#define fo(i原创 2016-04-16 16:40:23 · 1152 阅读 · 0 评论 -
【HNOI2016模拟4.10】 K小数查询
Description维护一个长度为n的序列,使得其支持m次操作,包括区间插入和区间求k小数。 n,m<=80000,在任何时候|ai|<=5000000Solution一看到区间第k大/小,就想到了主席树。 但这个是区间修改! 怎么做呢? (分块大法好) 观察到时限7s,果断上分块。(复杂度好不科学) 分块大法好?! 用每一个块维护排过序后的块和原来的块,然后对于每次询问, 二分答原创 2016-04-20 19:35:57 · 652 阅读 · 0 评论 -
【NOIP2013模拟】水叮当的舞步
Description给出一个N*N的网格,每个格子有它的颜色0~5。 每一次你可以选择一个颜色,然后把左上角的格子所在的联通块里的所有格子变成选择的那种颜色。这里的联通是指两个格子有公共边,并且颜色相同。 现在想问,最少需要多少次操作,才会使所有格子的颜色相同。 N<=8,数据组数<=20Solution玄学暴力题,各种无脑优化。 考虑到答案不会特别大,可以使用迭代加深。 设一个估价函数原创 2016-05-30 19:25:13 · 758 阅读 · 0 评论 -
【NOIP2013模拟】归途与征程
Description给出两个字符串,A和B,|A|=n,|B|=m,并且A中有许多*——通配符。这个东西可以匹配任意的字符串,包括空串。现在问你,B的循环同构的字符串中,有多少个可以和A匹配? n<=100,m<=10^5Solution什么东东? 还以为是扩k呢。。。 实际上只是一个暴力。 我们把A串分成一段一段的,然后枚举起点,暴力往后跑,用KMP判断第一个能匹配某段的位置,然后就能拿原创 2016-05-30 19:46:03 · 1108 阅读 · 0 评论 -
图
Description这个世界是一个有向图,图中有n个点m条边且无重边无自环,每秒第i条边出现的概率是p[i]/100,一开始Samjia在1点,每一秒假设Samjia在点x上,那么Samjia要从存在的边中选一条来走,不可以不走,如果不存在可以走的边,那么Samjia就会掉出这个世界,假设Samjia绝顶聪明,问最后Samjia可以成功到达n的概率是多少。 nSolution首原创 2018-01-16 21:30:25 · 332 阅读 · 0 评论