ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022.7.22 做题记录

2022-07-22 21:34:23  阅读:119  来源: 互联网

标签:连边 连通 le 22 记录 sum 三元组 2022.7 节点


为啥昨天没发做题记录呢

因为昨天颓了一天就写了一个题,就酱

CF246E Blood Cousins Return Present 6

给定 \(n\) 个节点的一片森林,每个节点上有一个字符串。

有 \(m\) 次询问,每次给出 \(v,k\),你需要输出 \(v\) 子树内深度为 \(d_v+k\) 的节点上有多少个不同的字符串。

其中 \(d_u\) 表示 \(u\) 的深度。\(1\le n,m\le 10^5\)。

套路地拆出来每一层的节点,按照 \(\text{DFS}\) 序排序,现在相当于查询一个区间内去重后的元素个数。

设 \(p_i\) 为 \(i\) 这一字符串上一次出现的位置,转化为二维数点,离线后用树状数组处理即可。

AC Code

Luogu8149 泪光 | Tears Future 7.5

原题题意有点缝合的感觉,这里给出转化后的题意:

有 \(n\) 个变量 \(v_1,\cdots,v_n\),现在有 \(m\) 次操作:

  • 1 a b c d:已知一个新条件:若 \(v_a=v_b\),则 \(v_c=v_d\)。
  • 2 a b:已知一个新条件:\(v_a=v_b\)。
  • 3 a b:询问是否能确定 \(v_a,v_b\) 恒相等。
  • 4 b:询问有多少个 \(a\) 满足:能够确定 \(v_a=v_b\)。

\(1\le n,m\le 6\times 10^5\)。吐槽:为啥正解 \(O(n\log ^2n)\) 还给个这么大的范围啊 QwQ

不难发现条件二相当于连边,两个询问分别是「查询两点是否连通」以及「查询某点所在连通块大小」。

对于第一种条件,我们分两种情况讨论:

  • 如果 \(a,b\) 已经连通,那么直接连接 \(c,d\) 即可。
  • 否则,我们可以在每个连通块处维护一个 \(\texttt{std::multiset}\),里面存上若干三元组 \((b,u,v)\),表示若该连通块和 \(b\) 之间要连一条边,那么 \(u,v\) 也要连一条边。在连边时我们遍历较小的那个 \(\texttt{multiset}\),如果发现了满足条件的三元组就在对应的 \(u,v\) 之间连边。这个过程类似递归,不过我们可以使用队列实现,减小常数。连边之后我们将较小的 \(\texttt{multiset}\) 与较大的那个合并即可。

由于每个三元组只会被合并 \(O(\log n)\) 次,时间复杂度为 \(O(n\log ^2n)\)。AC Code

SP21615 NAJPWG - Playing with GCD Present 7.0

有 \(T\) 组询问,每次给出正整数 \(n\),求

\[\sum_{i=1}^n\sum_{j=i}^n[\gcd(i,j)>1] \]

\(1\le n,T\le 10^5\)。

萌萌推式子题

交换求和顺序

\[\sum_{i=1}^n\sum_{j=1}^{i}[\gcd(i,j)>1] \]

简单容斥

\[\sum_{i=1}^ni-\left(\sum_{j=1}^i[\gcd(i,j)=1]\right) \]

发现后面就是 \(\varphi(i)\),所以变为求 \(i-\varphi(i)\) 的前缀和

随便预处理一下就完事了,\(O(n)-O(1)\)。AC Code

推式子题真好玩,明天再来一道

标签:连边,连通,le,22,记录,sum,三元组,2022.7,节点
来源: https://www.cnblogs.com/YunQianQwQ/p/16508026.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有