• 2024-11-13[Ynoi2018] 未来日记
    [Ynoi2018]未来日记老早之前就想写了,人生中第一道大分块,调了一上午+下午一个小时,对拍了不知道多少万组,终于过了。\[\Huge{本题不卡常本题不卡常本题不卡常本题不卡常本题不卡常本题不卡常本题不卡常}\]\[\Huge{快来写快来写快来写快来写快来写快来写快来写快来写快来写快来写
  • 2024-04-19题解 LGP5397【[Ynoi2018] 天降之物】/ 第四分块
    题解P5397【[Ynoi2018]天降之物】/第四分块题目描述一个长为\(n\)的序列\(a\)。你需要实现\(m\)个操作,操作有两种:把序列中所有值为\(x\)的数的值变成\(y\)。找出一个位置\(i\)满足\(a_i=x\),找出一个位置\(j\)满足\(a_j=y\),使得\(|i-j|\)最小,并输出\(|i-
  • 2024-04-10#莫队二次离线,根号分治#洛谷 5398 [Ynoi2018] GOSICK
    题目\(m\)组询问求\(\sum_{l\leqi,j\leqr}[a_i\bmoda_j==0],n,m,a_i\leq5\times10^5\)分析设\(f(l,r,x)\)表示\(i或j\in[1,x],i或j\in[l,r]\)时的答案,\(g_x\)表示\([1,x]\)的答案,根号的做法可以通过三秒由于涉及区间内的求值,需要在莫队的基础上二次离线,那
  • 2024-02-24P4119 Ynoi2018 未来日记
    P4119Ynoi2018未来日记lxl出的题好duliu啊。感谢来自fr200110217102的博客题解P4119【Ynoi2018未来日记】。下标分块+值域分块+并查集其实一开始的方向应该是尝试线段树或者其它的动态维护的算法,直到时间复杂度和空间复杂度对不上,你才会想到——要分块!区间第\(k\)
  • 2023-12-07P4119 [Ynoi2018] 未来日记
    \(\text{Links}\)LuoguBlogP4119[Ynoi2018]未来日记题外话个人生涯中第一道独立通过的Ynoi大分块!!同时也是个人生涯中通过的第十道Ynoi系列题目!!卡了好久结果加了个优化就过了/yunAC那一瞬间的场面好像56SecondsLater/ll感觉\(8.5\)的评分还是有点虚
  • 2023-09-24【Ynoi2018】天降之物
    【Ynoi2018】天降之物题意给定一个长为\(n\)的序列\(a\),支持两种操作:将所有\(a_p=x\)修改为\(y\)。查询\(\min(|i-j|)\),满足\(a_i=x\anda_j=y\)或者\(a_i=y\anda_j=x\)。题解考虑序列分块,首先考虑块内贡献,设块长为\(B\),由于分块的\(B\)一
  • 2023-09-03「突刺贯穿第二分块」P4117 [Ynoi2018] 五彩斑斓的世界
    很帅气!分块在线转离线,考虑每个块对于询问的贡献。维护块的max和tag分别代表最大值和减了多少。先考虑整块,\(max<2*x:\)每次暴力区间平移即可。否则对于\([1,x]\)全部加上\(x\)平移到\([x+1,x*2]\),然后区间整体减\(x\)即可。散块怎么做?暴力减,然后重构块
  • 2023-06-20CF896E/洛谷 P4117 [Ynoi2018]五彩斑斓的世界/Welcome home, Chtholly
    分块。我们先来考虑修改对整块的影响。记值域为\(V=10^5\)。考虑对每一块维护\(V\)个集合\(S_1,S_2,\cdots,S_V\),第\(i\)个集合\(S_i\)维护了区间中所有\(=i\)的元素的一些信息,并维护区间的最大值\(m\),对于一次操作\(x\):若\(m\le2x\),我们暴力对每个\(i\in[x+1,
  • 2023-04-13[Ynoi2018] 天降之物
    [Ynoi2018]天降之物这个根号分治太神啦。首先考虑一个朴素的暴力:对每个数维护出现位置的std::vector这样查询可以两个指针遍历std::vector做到平方复杂度。注意到复杂度和出现次数有关,那么就可以考虑阈值分治了,然而合并的操作使得我们不好维护信息。先考虑不带修的情况,对
  • 2023-01-15【题解】P5397 [Ynoi2018] 天降之物
    码力人的甜品,口嗨者的末路。感觉手牵手那个题才是第四分块正体,这个不如叫最初根号分治。思路根号分治。对于每个值,把它们分成出现大于根号次和小于等于根号次两类。先
  • 2022-12-14[Ynoi2018]天降之物
    題目描述:你需要实现\(m\)个操作,操作有两种:\(1\).把序列中所有值为\(x\)的数的值变成\(y\)。\(2\).找出一个位置\(i\)满足$a_{i}=x\(,找出一个位置\)j$满足\(a_{j}=y\),使