回转寿司

题目描述分块你考虑有一堆人,价格为x的进去了出来会变成啥样。 那么肯定是找到这堆人所持价格的最大值y,如果x>y,出来的还是y,否则x会变成某个人手里的,然后出来的是y。 我们考虑分块,每个块维护一个数堆。 如果x要经过一个块,可以丢进数堆,再取出一个最大值。然后还要给这个块打上一个标记。 但是对于零散的不是很好做,即重构块,我们如何快速得到每个位置经过一系列标记后的值? 注意这个问题具有...
阅读(6) 评论(0)

[CodeM初赛A轮]E

题解大小点分治。 出现次数大于阈值的,处理前缀和,然后暴力枚举一个询问判断。 出现次数小于阈值的,跑莫队,维护每个数出现次数,以及每种出现次数的数的个数,然后询问可以暴力枚举出现次数。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namespace std; const int max...
阅读(144) 评论(2)

[bzoj4815][CQOI2017]小Q的表格

题目描述小Q是个程序员。 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理。每当小Q不知道如何解决 时,就只好向你求助。为了完成任务,小Q需要列一个表格,表格有无穷多行,无穷多列,行和列都从1开始标号。 为了完成任务,表格里面每个格子都填了一个整数,为了方便描述,小Q把第a行第b列的整数记为f(a,b),为了完成 任务,这个表格要满足一些条件:(1)对任意的正...
阅读(32) 评论(0)

[CF538F]A Heap of Heaps

题目大意懒得写做法从0开始标号。 注意i是父亲是(i-1)/k 因此可以分块 对一段产生的影响可以在数组上打tag#include #include #define fo(i,a,b) for(i=a;i=b;i--) using namespace std; const int m...
阅读(22) 评论(0)

[bzoj4035]数组游戏

题目描述有一个长度为N的数组,甲乙两人在上面进行这样一个游戏:首先,数组上有一些格子是白的,有一些是黑的。然 后两人轮流进行操作。每次操作选择一个白色的格子,假设它的下标为x。接着,选择一个大小在1~n/x之间的整数 k,然后将下标为x、2x、…、kx的格子都进行颜色翻转。不能操作的人输。现在甲(先手)有一些询问。每次他 会给你一个数组的初始状态,你要求出对于这种初始状态他是否有必胜策略。好题...
阅读(80) 评论(0)

[bzoj4816][SDOI2017]数字表格

题目描述Doris刚刚学习了fibonacci数列。用f[i]表示数列的第i项,那么 f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2],n>=2 Doris用老师的超级计算机生成了一个n×m的表格,第i行第j列的格子中的数是f[gcd(i,j)],其中gcd(i,j)表示i, j的最大公约数。Doris的表格中共有n×m个数,她想知道这些数的乘积是多少。答案对10^9+7取...
阅读(73) 评论(0)

[bzoj3509][codechef]COUNTARI

题目大意求有多少对i<j<ki<j<k 满足a[j]-a[i]=a[k]-a[j]分块FFT口胡里写过了。 枚举j,我们可以得到两边的生成函数。 只要卷积起来看2*a[j]项的系数就可以统计了。 这样做显然不行。 考虑分块。 对于i或k在块内的情况,用枚举来暴力统计。 而对于i与k均不在块内的情况,用FFT。#include #include #i...
阅读(67) 评论(0)

[luoguP3674]小清新人渣的本愿

题目大意询问区间是否存在两个数和为x/差为x/积为x 这两个数可以使同一个数bitset不会bitset的蒟蒻哭了 维护bitset加和减就随便做了。 积就枚举较小数 上个莫队算法来维护我们需要维护的#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) using n...
阅读(118) 评论(0)

[hackerrank]Range Modular Queries

题目大意区间询问模x等于y的值的个数 值域是[0,40000] 允许离线平衡结合对于x200的询问,因为x较大所以符合条件的数很小,这时候可以考虑使用莫队。 维护一个桶,每次询问只要看一下对应符合的数字有多少个即...
阅读(55) 评论(0)

Sequence

题目大意若干个区间询问 每次询问∑ri=l∑rj=lw((ai,aj))\sum_{i=l}^r\sum_{j=l}^rw((ai,aj)) w(x)表示x的不同质因子数。上以根号n为阈值,用两种算法。 小于等于根号n的质数枚举+前缀和 大于根号n的就上莫队 当然直接莫队也能8nn√8n\sqrt n#include #include #define...
阅读(55) 评论(0)

J

题目描述分块2*3的矩形可以压成64以内的二进制数。 我们分块,对于每块,维护块内每个前缀异或的桶,以及整个块异或值,因为有区间修改还要有修改tag,然后便容易询问与修改。#include #include #include #define fo(i,a,b) for(i=a;i<=b;i++) #define fd(i,a,b) for(i=a...
阅读(62) 评论(0)

[51nod 1471]小S的兴趣

题目描述小S喜欢有趣的事。但是,每个人的兴趣都是独特的。小S热衷于自问自答。有一天,小S想出了一个问题。 有一个包含n个正整数的数组a和针对这个数组的几个问题。这些问题有两种类型: 1. 在数组下标l到r的部分上,将一个单元格循环移动到右端。即以下面方式重新分配数组上的元素。 a[l], a[l+1], …, a[r-1], a[r] → a[r], a[l], a[l+1], …,...
阅读(73) 评论(0)

[51nod 1203]JZPLCM

题目大意求区间lcm。带模运算。做法不知道有没有更简单的做法。 最小公倍数是什么意思?一堆数的最小公倍数,就是对于每一个质数p,这些数每个数中p的次数的最大值k,然后最小公倍数就会包含一个p^k。 p很大时k会很小,p很小时k会很大,这是两个互相制约的因素,因此考虑使用两种算法然后进行平衡结合。 设置阈值B=230(差不多就是√n) 对于所有<=B的质数p都枚举一遍,然后计算出每个数包含多少...
阅读(198) 评论(0)

[51nod 1223]分数等式的数量

题目大意有这样一个分数等式:1/X + 1/Y = 1/N,(X,Y,N > 0)。给出L,求有多少满足X < Y <= L的等式。 例如:L = 12,满足条件的等式有3个,分别是:1/3 + 1/6 = 1/2, 1/4 + 1/12 = 1/3, 1/6 + 1/12 = 1/4。数论题大师张俊不教我我不会。。 其实就是求多少对(a,b)满足a+b|ab 设d=(a,b),a1*d=a,...
阅读(119) 评论(0)

[hackerrank]Counting on a tree

题目大意给你一棵树,每个点有一个颜色 若干询问,每次询问两条树路径上,存在多少点对(i,j)满足以下条件: 1、i不等于j 2、i和j颜色相同 3、i在第一条树路径上,j在第二条树路径上第一种算法我们先将颜色离散化,然后统计每种颜色有多少个点。 先不考虑第一个限制,假设对于一种颜色c,我处理出了d数组d[x]表示x到根路径上有多少个颜色为c的,那么一个询问x->y和u->v答案为(d[x]...
阅读(183) 评论(0)
41条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:164337次
    • 积分:8279
    • 等级:
    • 排名:第2235名
    • 原创:645篇
    • 转载:5篇
    • 译文:0篇
    • 评论:159条
    公告
    幻梦终醒,本无不散之宴,却不悔付此华年。
    最新评论
    文章分类