P5071 [Ynoi2015]此时此刻的光辉】的更多相关文章

众所周知lxl是个毒瘤,Ynoi道道都是神仙题,题面好评 原题传送门 一看这题没有修改操作就知道这是莫队题(我也只会莫队) 我博客里对莫队的简单介绍 一个数N可以分解成\(p_1^{c_1}p_2^{c_2}-p_m^{c_m}\) 它的约数个数就是\((c_1+1)(c_2+1)-(c_m+1)\) 我们考虑先把每一个数分解质因数 用试除法会使你tle到没救,所以我们要用pollard's Rho来解决问题 (用质因数分解是因为\(10^9<2*3*5*7*11*13*17*19*23*29\…
传送门 lxl大毒瘤 首先一个数的因子个数就是这个数的每个质因子的次数+1的积,然后考虑把每个数分解质因子,用莫队维护,然后我交上去就0分了 如果是上面那样的话,我们每一次移动指针的时间复杂度是O(这个数的质因子个数),再加上我人傻常数大,T很正常-- 于是按照memset0的说法,可以预处理质因子的前缀和,简单来说就是对于小于\(\sqrt{mx}\)的所有质因子维护前缀和,直接统计,大于的暴力在莫队的时候更新.因为每个数大于\(\sqrt{mx}\)的质因子个数为\(O(1)\),所以暴力更…
洛谷题面传送门 一道其实算得上常规的题,写这篇题解是为了总结一些数论中轻微(?)优化复杂度的技巧. 首先感性理解可以发现该问题强于区间数颜色问题,无法用常用的 log 数据结构维护,因此考虑分块/莫队.显然这题莫队比较好些对吧?显然我们要对每个质因子计算一遍它在 \([l,r]\) 中的出现次数对吧?涉及质因子就要分解质因数对吧?莫队时候新添一个元素很明显就要枚举它的每个质因子,然后计算新添的贡献对吧?线性预处理乘法逆元以后,复杂度就变成了 \(n\sqrt{a_i}+(n+q)\sqrt{n}…
题目大意: 给定一个序列,每次询问一段区间的数的乘积的约数个数. 解题思路: 在太阳西斜的这个世界里,置身天上之森.等这场战争结束之后,不归之人与望眼欲穿的众人, 人人本着正义之名,长存不灭的过去.逐渐消逝的未来.我回来了,纵使日薄西山,即便看不到未来,此时此刻的光辉,盼君勿忘.————世界上最幸福的女孩 我永远喜欢珂朵莉. --- \(10^9\)以内的数最多有10个不同的质因子. 考虑对其质因数分解. 由于值域范围过大,考虑使用Pollard-Rho算法. 这里普通的Pollard-Rho算…
一道神题...自己写出来以后被卡常了...荣获洛谷最差解... 思路还是比较好想,对于每个数 \(\sqrt{n}\) 分块,对于 \(\sqrt{n}\) 以内的数,我们可以直接求出来.对于 \(\sqrt{n}\) 以上的数,我们用莫队求. 不过空间 \(O(\frac {n\sqrt{10^9}}{\log n})\) 开不下,非常优秀... 那我们就把前 $100$ 个质数求出来,其他就用莫队好了,转移均摊是 \(O(1)\) 的吧... 常数巨大,本人没卡常.记得要等一个没人的时候提交…
题目链接:洛谷 这个跟上上个Ynoi题目是一样的套路,首先我们知道\(n=\prod p_i^{\alpha_i}\)时\(d(n)=\prod (\alpha_i+1)\). 首先对所有数分解质因数,首先预处理\(\leq \sqrt{\max a_i}\)的所有质数,然后一个一个试除,时间复杂度\(O(\frac{n\sqrt{a_i}}{\log{a_i}})\),在lxl的数据下跑得飞快(大家都知道,卡常是要看数据性质的).或者使用Pollard-rho分解也是可以的. 然后莫队,维护\…
2s512M. 解:先分解质因数.考虑按照质因数大小是否大于√分类. 大于的就是一个数颜色个数,莫队即可n√m. 小于的直接枚举质因数做前缀和然后O(1)查询.总时间复杂度n(√m + σ(√V)). 发现我们T飞了,发现莫队的复杂度较优,而处理小于√V的质因数较劣.我们平衡一下. 把界调整到1000.这样比lm大的至多两个,莫队常数*2.而后半部分的复杂度就变成了nσ(3√V),可以通过本题. #include <bits/stdc++.h> , MO = ; inline char gc(…
原题传送门 lovelive好评 比赛时只拿到了60pts,还是自己太菜了 这题的思想实际有点像Luogu P3674 小清新人渣的本愿与Luogu P5071 [Ynoi2015]此时此刻的光辉 这题没有修改操作,我们像P3674一样考虑bitset 要求首项小于b且公差为b的等差数列的最大长度 把原序列分成n/b段,每一位表示是否存在 把所有的一个一个&起来就珂以判断答案了 但是,我们发现当b很小的时候,复杂度就能被卡成\(O(n^2)\) 像P5071一样考虑当b较小时,单独处理 当b值一…
题目大意: 给定一个序列,每次询问,给出一个区间$[l,r]$. 设将区间内的元素去重后重排的数组为$p$,求$p$中长度为$1\sim 10$的极长值域连续段个数. 长度为$L$的极长值域连续段的定义为:存在$l,r\in[1,|p|]$满足$r-l+1=L$且$\forall i\in[l,r),p_i=p_{i+1}-1$,且$l-1,r$和$l,r+1$均不满足条件. 解题思路: 在太阳西斜的这个世界里,置身天上之森.等这场战争结束之后,不归之人与望眼欲穿的众人, 人人本着正义之名,长存…
题目大意: 给定一个序列,每次单点修改,然后进行询问. 定义一次操作为,选择一个位置$x$,将这个位置的数和左边.右边两个位置的数(不存在则忽略)各减去1,然后和0取max. 对序列中最大的位置进行一次操作(相同则取最前面的),不断重复,直到所有位置为0为止. 问执行了多少次操作. 询问互相独立(即下一次询问的序列并不是全0). 解题思路: 在太阳西斜的这个世界里,置身天上之森.等这场战争结束之后,不归之人与望眼欲穿的众人, 人人本着正义之名,长存不灭的过去.逐渐消逝的未来.我回来了,纵使日薄西…
题目大意: 给定一个序列,每次查询一个区间\([l,r]\)中所有子序列分别去重后的和\(\bmod p\)(每次询问模数不同). 解题思路: 在太阳西斜的这个世界里,置身天上之森.等这场战争结束之后,不归之人与望眼欲穿的众人, 人人本着正义之名,长存不灭的过去.逐渐消逝的未来.我回来了,纵使日薄西山,即便看不到未来,此时此刻的光辉,盼君勿忘.————世界上最幸福的女孩 珂朵莉,要永远幸福哦. --- 我们考虑每个数的贡献.即该区间内含有这个数的子序列个数.用补集转化为不含这个数的子序列个数.…
题目大意: 给定一张无向无权图,每次给定若干个二元组\((x_i,y_i)\),定义点\(u\)满足条件,当且仅当存在\(i\),并满足\(dist(u,x_i)\leqslant y_i\)(\(dist(u,v)\)表示\(u,v\)两点的距离).每次询问求满足条件的点个数. 解题思路: 在太阳西斜的这个世界里,置身天上之森.等这场战争结束之后,不归之人与望眼欲穿的众人, 人人本着正义之名,长存不灭的过去.逐渐消逝的未来.我回来了,纵使日薄西山,即便看不到未来,此时此刻的光辉,盼君勿忘.——…
题目大意: 给定一个序列,每次单点修改一个数,或给定$x$,询问最短的or起来大于等于$x$的区间的长度(不存在输出-1). 解题思路: 在太阳西斜的这个世界里,置身天上之森.等这场战争结束之后,不归之人与望眼欲穿的众人, 人人本着正义之名,长存不灭的过去.逐渐消逝的未来.我回来了,纵使日薄西山,即便看不到未来,此时此刻的光辉,盼君勿忘.————世界上最幸福的女孩 盼你归来,珂朵莉~ --- 这些题目果然一道比一道神仙 众所周知,这道题分块. 然后你就珂以去看shadowice1984的题解了…
p4n 今天与朋友沟通支付云服务普及以及跨境电子商务的光辉前景 跨境电子商务也是个光忙四色和的跨境电子商务啊..支付项目也是个强大的项目.. 过几天我们就要宣布正式发布atipay ,并宣称将致力于推动支付与跨境电子商务服务普及 就支付与跨境电子商务服务的发展讨论了了精彩观点. 跨境电子商务的要点:: 商品覆盖体系(与不同国家地区法律违背的处理, 药品,证件,车辆等) 支付体系(货币兑换,预支预付,贷款) 国际化的处理 会员卡 ,会员券 ,会员认证卡 其他商品(年费,cyetin cp) 或者专…
成熟是一种明亮而不刺眼的光辉, 一种圆润而不腻耳的音响, 一种不再需要对别人察言观色的, 一种终于停止向周围申诉求告的大气, 一种不理会哄闹的微笑, 一种洗刷了偏激的冷漠, 一种无需声张的厚实, 一种能够看得很远却又并不陡峭的高度. 不要因为害怕被别人误会而等待理解,现在生活各自独立,万象共存.东家的柳树矮一点儿,不必向路人解释本来有长高的可能,西家的槐树高一点儿,也不必向邻居说明自己并没有独占风水的企图.做一件新事,大家立即理解,那就不是新事:出一个高招,大家又立刻理解,那也不是高招.没有争议…
这是Google 2007年的愚人节笑话,罗列了很多Jeff Dean的“光辉事迹”.大名鼎鼎的Jeff Dean想必不用我介绍了.……好吧,还是介绍一下,Jeff Dean是Google最早的一批员工,本来的研究领域是OOT语言的优化技术,也因此是Google很多基础系统的设计者和实现者,BigTable,MapReduce的作者……介绍什么的还是太麻烦了,直接正文吧. Jeff Dean当初面试Google时,被问到“如果P=NP能够推导出哪些结论”,Jeff回答说:“P = 0或者N =…
「Ynoi2015」我回来了 这东西已经不是 Ynoi 了,因为太水被嫌弃了. 如何提升自己的数据结构能力?从Ynoi做起 题目链接 其实这个题很小清新的辣,而且不卡常. 由于边权为 \(1\),所以 \(\texttt{BFS}\) 预处理出任意两点间距离. 记录 \(f[i][j]\) 为与点 \(i\) 距离 \(\le j\) 的点的集合. 这里我们可以使用 \(\texttt{bitset}\) 维护. 然后每次将对应的集合并上去即可. 时间复杂度 \(O(\max(n(n+m),\f…
1987年9月的一天,中国的第一封电子邮件成功发出,邮件的内容大致是“跨越长城,走向世界”,在当时,没有人会想到十年后中国的互联网开始萌芽,并发展成今天的繁荣.1994年,“巴黎统筹委员会”的解散消除了中国连接Internet的限制,到1997年,全国建成了ChinaNet.CERnet.CSTnet.ChinaGBN,实现了与Internet的全面连接,中国的互联网基石逐步发展和成熟起来. 与此同时,中国互联网的第一批先行者已经拉开了建业大幕.1996-1998年间,中国的门户网站诞生.199…
洛谷题目传送门 一血祭 向dllxl致敬! 算是YNOI中比较清新的吧,毕竟代码只有1.25k. 首先我们对着题意模拟,寻找一些思路. 每次选了一个最大的数后,它和它周围两个数都要减一.这样无论如何,我们都选不到旁边那两个数,只有第一次选的那个数会对答案产生它的大小的贡献. 于是就可以写出一个\(O(nm\log n)\)的暴力用来对拍了 #include<bits/stdc++.h> #define LL long long #define R register int #define G…
传送门 辣鸡卡常题目浪费我一下午-- 思路 显然是一道莫队. 假设区间长度为\(len\),\(x\)的出现次数为\(k\),那么\(x\)的贡献就是\(x(2^{len-k}(2^k-1))\),即\(x2^{len}-x2^{len-k}\). 发现前面那东西很好维护,后面怎么办呢? 考虑把出现次数相同的数放在一起维护:维护每个出现次数里面数的和,统计答案的时候暴力统计. 为什么对呢?因为\(1+2+\dots+\sqrt{n}=n\),所以最多只有\(\sqrt n\)种次数,暴力即可.…
众所周知lxl是个毒瘤,Ynoi道道都是神仙题,题面好评 原题传送门 一看这题没有修改操作就知道这是莫队题 我博客里对莫队的简单介绍 既然是莫队,我们就要考虑每多一个数或少一个数对答案的贡献是什么 假设一个数x在区间[l,r]之间出现了y次,珂以很容易的求出该区间的长度length=r-l+1,那么包含x的区间有\(2^{length-y}*(2^y-1)\),\(2^{length-y}\)表示除了这x个相同的数,其他的数取与不取的情况数,\(2^y-1\)表示这x个数取与不取的情况数减掉一个…
众所周知lxl是个毒瘤,Ynoi道道都是神仙题,这道题极其良心,题面好评 原题传送门 我们先珂以在\(O(n^2)\)的时间内bfs求出任意两点距离 我们考虑如何计算从一个点到所有点的最短路长度小于等于k的点的数量 我们先求出来从一个点到所有点的最短路长度等于k的点的数量,这个珂以在bfs搜索过程中完成 统计最短路长度小于等于k的点的数量珂以使用前缀和 这里明显不好直接前缀和,我们可以使用bitset来维护一个点到所有点的最短路长度小于等于k的点的数量,如果一位是1,就代表满足条件,否则不满足条…
https://www.luogu.org/problemnew/show/P5068 ynoi 中的良心题啊 考虑用 bitset 来维护里一个点距离小于 $ y_i $ 的点,那么答案就是一堆 bitset 或起来后二进制位中 $ 1 $ 的个数 这样我们只要令 $ f[i][j] $ 表示距离 $ i $ 点距离小于 $ j $ 的点,便可以高效求出答案 考虑怎么求出所有的 $ f[i][j] $ 先枚举起点 $ u $,因为边权为 $ 1 $,所以只需要做一次 bfs 对于 $ i $…
题目大意:给你一张$n(n\leqslant10^3)$个点$m(m\leqslant10^5)$个点的无向无权图,多组询问,每次询问给你一些二元组$(x_i,y_i)$,求有多少个$u$于至少一个二元组满足:$dis(u,x_i)\leqslant y_i$ 题解:对每个点跑一遍$bfs$,求出每个点到达其他点的距离,按距离前缀和一下(就是说变成小于等于这个距离是哪几个点),$f_{i,j}$表示到第$i$个点距离小于等于$j$的点有哪些,查询时把答案与$f_{x,y}$求个并集就行了,可以用…
传送门 一开始理解错题意了--还以为是两个子序列相同的话只算一次--结果是子序列里相同的元素只算一次-- 对于一个区间\([l,r]\),设其中\(x\)出现了\(k\)次,那么它的贡献就是它的权值乘上包含它的序列个数,即\(2^{r-l+1}-2^{r-l+1-k}\),总的序列个数减去不包含它的序列个数.因为\(x\)和\(k\)无关,所以只要统计出现次数为\(k\)的所有\(x\)的总和即可 不同的\(k\)最多只有\(\sqrt n\)个,于是用个邻接表之类的东西维护一下,然后每次询问就…
传送门 解锁成就:ynoi的题目都做到过原题 因为\(n\)很小,我们可以用\(sss[u][i]\)表示到点\(u\)的距离不超过\(i\)的点的集合,这个可以用bitset存,然后先一遍bfs,再做一个前缀和就可以处理好了 询问的话,把所有的\(sss\)并起来,然后求一下里面\(1\)的个数就好了 顺便一提,这题存图得用vector不能用前向星,据说是因为连续访问内存会比较快(我这辈子第一次见到有人卡前向星的orz) //minamoto #include<bits/stdc++.h>…
原题地址:https://www.luogu.org/problem/P5072 题目简述 给定一个序列,每次查询一个区间[l,r]中所有子序列分别去重后的和mod p 思路 我们考虑每个数的贡献.即该区间内含有这个数的子序列个数.用补集转化为不含这个数的子序列个数. 那么,假设这个数在[l,r]内出现了kk次,则一共有2^(r-l+1)-2^(r-l+1-k)个子序列包含这个数. 本题可以离线,因此选择使用莫队,过程中维护cnt[k]表示区间内恰好出现k次的数字个数,维护sum[j]表示区间内…
点此看题面 大致题意: 一个序列,每次询问一个区间\([l,r]\)并给出一个模数\(p\),求模\(p\)意义下区间\([l,r]\)内所有子序列去重后值的和. 题意转化 原来的题意看起来似乎很棘手,因此需要一定的转化. 考虑一个值\(x\)的贡献,设它在区间中出现的次数为\(cnt_x\),则共有\(2^{r-l+1}-2^{r-l+1-cnt_x}\)个子序列中有这个值,因此它的贡献就是\(x\cdot (2^{r-l+1}-2^{r-l+1-cnt_x})\). 经这么一转化,不难发现,…
Description 给定一个长度为 \(n\) 的非负整数序列 \(\{a_n\}\),\(q\) 次操作,每次要么单点修改序列某个值,要么查询整个序列需要操作多少次才能变成全 \(0\). 一次操作是指:找到序列的最大值的位置,如果有多个最大值则取最左边的,然后将这个数和这个位置左右紧挨着的数都 \(-1\),如果减到 \(0\) 则不减. Limitation \(1~\leq~n,~q~\leq~10^5\) 序列值域在 \(10^9\) 范围内. Solution 第一次写 YnOI…
题目描述:对于一个长度为\(n\)的序列,\(m\)次询问\(l,r,p\),计算\([l,r]\)的所有子序列的不同数之和\(\mathrm{mod} \ p\). 数据范围:\(n,m,a_i\leq 10^5,p\leq 10^9\) 来做做Ynoi中相对简单的题目... 首先我们考虑每个数的贡献,如果它出现了\(k\)次,那么会在\(2^{r-l+1}-2^{r-l+1-k}\)个子序列中出现.所以维护\(s[k]\)表示所有出现\(k\)次的数之和,而且\(s[k]\)中不为0的只有\…