首页 > TAG信息列表 > YNOI2016
[Ynoi2016] 炸脖龙 I
题目传送门 已经能过 hack,原因:做快速幂的时候需要微判一下边界。很好奇 lxl 为什么不卡 显然区间加可用线段树做。 然后操作二用扩展欧拉定理,每个 \(p\) 最多递归 \(\log\) 层,类似于 这道题。 \(a^b≡a^{b\mod \varphi(p)+\varphi(p)×[b≥ϕ(p)]} (\text{mod}\ \ p)\) 问题来了,扩P4690 [Ynoi2016] 镜中的昆虫
P4690 [Ynoi2016] 镜中的昆虫 区间赋值区间数颜色,\(n \leq 10^5\),值域 \([1,10^9]\),要求线性空间。 sol 首先考虑经典数颜色套路,设 \(pre_i\) 表示上一个与 \(a_i\) 相同的数的位置。 对于区间赋值操作,我们发现性质:\(\forall i\in(l,r],pre_i ←i-1\),对于 \(i=l\) 或区间外的情况【题解】P4688 [Ynoi2016] 掉进兔子洞
题意 P4688 [Ynoi2016] 掉进兔子洞 给定一个长度为 \(n\) 的序列和 \(m\) 个询问,每个询问给出 \(3\) 个区间 \([l_1, r_1], [l_2, r_2], [l_3, r_3]\)。每次删去 一个 三个区间内共有的数,试求最终三个区间内的数的 个数和。询问之间互相独立。 注意每次仅删去 一个 共有的数而非将luogu P4689 [Ynoi2016] 这是我自己的发明
题面传送门 首先我们来看一道弱化版P5268 [SNOI2017]一个简单的询问 这个东西显然一遍差分然后莫队即可。 具体的,对于每个询问\(F(x,y,l,r)\)差分成\(F(1,y,1,r)-F(1,y,1,l-1)-F(1,x-1,1,r)+F(1,x-1,1,l-1)\) 然后就可以随便做了。 这道题是树上问题所以我们把dfs序跑出来。一个子洛谷 P4688 [Ynoi2016]掉进兔子洞 (看到题目背景,galgame玩家狂喜)
洛谷 P4688 [Ynoi2016]掉进兔子洞 题解背景 我一直以为自己只是凭本能行为的生物,如今,通过和外界的接触,才形成了现在的我 海德格尔在《艺术作品的本源》中写道: “世界决不是立身于我们面前能让我们细细打量的对象。只要诞生与死亡、祝福与惩罚不断地使我们进 入存在,世界就始终是非题解 P3934 【[Ynoi2016]炸脖龙I】
考试考了这个题,出题人很良心没卡常给了\(9s\)但是本地测评空间炸了愉快的爆0,考场上脑子抽了死活觉得线段树维护区间求和行不通(,第一道自己做出来的\(Ynoi\),纪念一下 题目描述 维护一段区间,支持区间加,并求出一段区间的 \[a_{l}^{a_{l+1}^{a_{l+2}^{....a_{r}}}} \pmod p \]解题思路luogu P4688 [Ynoi2016]掉进兔子洞
luogu 我们要求的答案应该是三个区间长度\(-3*\)在三个区间中都出现过的数个数 先考虑数列中没有相同的数怎么做,那就是对三个区间求交,然后交集大小就是要求的那个个数.现在有相同的数,考虑给区间中的数安排位置,即区间中如果出现了多个相同的数\(x\),那么就把第一个\(x\)放在\(x「YNOI2016」自己的发明
「YNOI2016」自己的发明 不换根 基本的莫队吧... 子树直接转到dfs序上。 其余部分可以见 「SNOI2017」一个简单的询问。 换根 根root,查询x,分3种: root不在x子树内,按照原来dfs序区间即可 root在x子树内且root!=x,那么就是整个序列除掉H(root的祖先,且为x儿子)对应的dfs序区间 root=x 直BZOJ 4939: [Ynoi2016]掉进兔子洞(莫队+bitset)
传送门 解题思路 刚开始想到了莫队+\(bitset\)去维护信息,结果发现空间不太够。。试了各种奇技淫巧都\(MLE\),最后\(\%\)了发题解发现似乎可以分段做。。这道题做法具体来说就是开\(3\)个\(bitset\),然后对原序列离散化之后给每个值规定一个开始的位置,之后就可以莫队搞,计算答案是[Ynoi2016]镜中的昆虫
题目大意: 给定一个序列,有2个操作: 1. 区间覆盖。2. 区间数颜色。 解题思路: 珂朵莉树+树套树。 看到区间覆盖当然想到珂朵莉树然而这是Ynoi 所以我们得优化掉珂朵莉树那个暴力过程。 考虑对每个位置,记录它这个颜色前一次出现的位置pre(它本身是第一次则为0)。 对一段颜色相同的区间,除了