[BZOJ2906]「颜色」】的更多相关文章

为什么C++ (11)-O2如此之快,直接优化1000ms... 强制在线,只能分块了. 本题应当预处理出每个块到后面几个块的每种数的平方与数量的前缀和. 由于空间限制,块长只能开到n的2/3次方, 最重要的一点,开O2!!! Code: #include<cstring> #include<cstdio> #include<cmath> #include<algorithm> #include<cstring> using namespace…
网络上存在很多资源,也持续不断地生成新的资源.为了新建.获取和操作这些资源,引来了两个问题:如何定位资源,如何对他们进行操作.第一个问题引申出了 URI / URL 即 uniform resource identifier / locator,第二个问题则引申出了 HTTP 超文本传输协议.(刚接触 HTTP 不足一礼拜,所以,从这里往下,极可能存在一些错误和理解偏差,单纯个人记录,勿引用) HTTP 是基于 TCP 传输层协议的一种应用层协议,是 connection oriented 然而…
「SDOI2017」树点涂色 我sb的不行了 其实一开始有一个类似动态dp的想法 每个点维护到lct树上到最浅点的颜色段数,然后维护一个\(mx_{0,1}\)也就是是否用虚儿子的最大颜色 用个set维护一下虚儿子 但是啊,我发现搞这个区间改颜色的时候,虚儿子好像得用树套树维护,我当场就不行了... 每个点如果维护到根的颜色段数\(f\) 然后发现啊,这个你如果用一个lct的一个子树维护同一种颜色,在你access的时候实变虚或者虚变实对子树有一个+1或者-1 然后额外在外面开一个线段树维护子树…
好久没写数据结构了 来补一发 果然写的时候思路极其混乱.... LOJ #2116 Luogu P3241 题意 $ Q$次询问,求树上点的颜色在$ [L,R]$中的所有点到询问点的距离 强制在线 询问次数,树上点数约$ 2·10^5$ $ Solution$ 首先有 $ dist(x,y)=deep(x)+deep(y)-2·deep(lca(x,y))$ 显然这个等式的前两项很容易用前缀和什么的维护 只考虑第三项的话相当于是有边权并且强制在线的「LNOI2014」LCA 用同样的套路将$ d…
「ZJOI2018」历史(LCT) \(ZJOI\) 也就数据结构可做了-- 题意:给定每个点 \(access\) 次数,使轻重链切换次数最大,带修改. \(30pts:\) 挺好想的.发现切换次数只跟子树中所有结点的 \(access\) 次数,可以树形 \(dp\).假设 \(x\) 有 \(m\) 个儿子,每个儿子的 \(access\) 次数为 \(A_i\),自己为 \(A_0\),问题转换成有 \(m+1\) 种颜色,问怎么使颜色不同的间隔最多.使 \(sum=\sum_{i=0}…
Loj #3057. 「HNOI2019」校园旅行 某学校的每个建筑都有一个独特的编号.一天你在校园里无聊,决定在校园内随意地漫步. 你已经在校园里呆过一段时间,对校园内每个建筑的编号非常熟悉,于是你情不自禁的把周围每个建筑的编号都记了下来--但其实你没有真的记下来,而是把每个建筑的编号除以 \(2\) 取余数得到 \(0\) 或 \(1\),作为该建筑的标记,多个建筑物的标记连在一起形成一个 \(01\) 串. 你对这个串很感兴趣,尤其是对于这个串是回文串的情况,于是你决定研究这个问题. 学校…
「HAOI2018」染色 是个套路题.. 考虑容斥 则恰好为\(k\)个颜色恰好为\(c\)次的贡献为 \[ \binom{m}{k}\sum_{i\ge k}(-1)^{i-k}\binom{m-k}{i-k}\binom{n}{si}\frac{(si)!}{(s!)^i}(m-i)^{n-si} \] 有两项最开始搞忘了..\(\binom{n}{si}\frac{(si)!}{(s!)^i}\)就是这两个 代表钦定\(si\)个位置去染,然后染色本身是个可重排列 设\(d=\min(\l…
哈喽小伙伴们,我们又见面啦!没错,小摹就是来告诉大家:摹客iDoc又双叒叕升级了!这次又上线了许多新玩法,在此之前,小摹先带大家温习一下iDoc以往的知识点: 攻城狮查看标注的利器 —— 标注信息智能生成 通过点击.hover设计图上的任意元素,查看相应标注. 攻城狮查看标注的利器 —— 召唤放大镜 使用放大镜时,效果图上的标注信息将被定格,同时,你还可以按下小键盘中的“+/-”键调整放大倍数,轻松查看细微标注信息. 那么,重点来了!智能标注无法展示的信息,手动标注来弥补 —— 除了智能标注,你…
#2585. 「APIO2018」新家 https://loj.ac/problem/2585 分析: 线段树+二分. 首先看怎样数颜色,正常的时候,离线扫一遍右端点,每次只记录最右边的点,然后查询左端点,这里不太行.这里只需要统计是否全出现过,pre[i]为这个颜色的上一个位置,那么这也就说明了pre[i]+1这段区间没出现过,所以要求[r+1,n]这段区间的最小的pre都要大于等于l.于是这就是线段树区间查询最小值了. 注意的是,每个点的pre有多个,每个叶子节点包含一个set,把所有的值插…
「BZOJ4763」天野雪辉 题目大意:有一棵 \(n\) 个点的树,树上每一个点有权值 \(a_i \leq 30000\) ,每次询问给出若干路径,求出这些路径的并上面的不同颜色数与 \(mex\).\(n ,m\leq 10^5\). 解题思路:solution1:直接树分块,每个点维护其到第一个关键祖先的一个 \(\text{bitset}\) 并暴力添加两端的答案.solution2:对树的括号序列分块,把左括号看做 \(1\) ,右括号看做 \(-1\).维护出任意两个块之间的 \(…