上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页
摘要: $\text 求解的问题:高次同余方程 \[ A^x \equiv B \pmod C,\text{其中}(A,C)=1 \] $\text 令 \(m = \left \lceil \sqrt C \right \rceil\) 考虑 \(x = i \cdot m-j,i \in [1,m],j 阅读全文
posted @ 2021-04-01 19:33 leiyuanze 阅读(70) 评论(0) 推荐(0)
摘要: $\text $\text \(\text{Fibonacci}\) 数列有一个性质:若 \(H_1=a,H_2=b,H_n=H_{n-2}+H_{n-1}\) 则有 \(H_n=a\cdot F_{n-2}+b\cdot F_{n-1}\) 有了这个性质后,对一段区间加斐波那契数列后,我们可以 \ 阅读全文
posted @ 2021-03-27 14:03 leiyuanze 阅读(99) 评论(0) 推荐(0)
摘要: 问题引入 求解方程 \[ \begin{cases} x &\equiv a_1 \pmod{m_1} \\ x &\equiv a_2 \pmod{m_2} \\ & \vdots \\ x &\equiv a_n \pmod{m_n} \\ \end{cases} \] 其中 \(m_1,m_2 阅读全文
posted @ 2021-03-26 13:13 leiyuanze 阅读(41) 评论(0) 推荐(0)
摘要: 题目 \(1\le n,q \le 2\cdot {10}^5,0\le b_i,l_i \le {10}^9,b_i \ge 1,1 \le S_i \le n\) \(Solution\) 这题很好想 总之要维护子树内 \(b\) 值的严格最大(包括数量),次大,次次大,\(l\) 值的严格最大 阅读全文
posted @ 2021-03-02 12:54 leiyuanze 阅读(96) 评论(0) 推荐(0)
摘要: $\text 比较显然的 \(dp\) 顺序既然无所谓,那为了方便处理贡献,就先排个序 然后设 \(f_i\) 表示分到前 \(i\) 个的最小工资 则 \(f_i=C+f_j+{(t_i-t_{j+1})}^2=C+f_j+{t_i}^2+{t_{j+1}}^2-2 \times t_i \tim 阅读全文
posted @ 2021-02-25 13:19 leiyuanze 阅读(80) 评论(0) 推荐(0)
摘要: 题目 求区间最长回文串长度 \(1 \le n\le 5 \times 10^5\) 题解 比较妙的做法,主要是在询问部分 预处理出以某位为中心回文半径长 \(p_i\),马拉车和二分+哈希均可 然后考虑询问区间 \([l..r]\) 二分一个答案半径,\(\text st\) 表维护 \([l_{ 阅读全文
posted @ 2021-01-29 19:40 leiyuanze 阅读(200) 评论(0) 推荐(0)
摘要: 人生第一道黑题祭 题解 本题偏重思维 判断回文可以考虑它的递归定义 只有一个字符的串是回文串。 只有两个字符的串,如果这两个字符相同,也是回文串; 如果 \(S\) 是回文串,那么在 \(S\) 的开头和末尾插入一个相同的字符,形成的新串也是回文串。 一个可以想到的方法是设 \(f_{x,y}\) 阅读全文
posted @ 2021-01-28 21:03 leiyuanze 阅读(120) 评论(0) 推荐(0)
摘要: 题解 这题很明显发现一个点到另一个点,必然最多只有一个进入下界的点和一个出来的点 分类讨论入点和出点的位置 要么都在 \(u->lca\) 或都在 \(lca->v\) 或分别有一个 那就有一个倍增做法 维护最优入点和最优出点即可 但考场并没想到这种方法 反而只想到了没脑的倍增维护矩阵转移的方法 我 阅读全文
posted @ 2021-01-27 22:09 leiyuanze 阅读(181) 评论(0) 推荐(0)
摘要: 题目大意 给出数列 \(\text a\),询问区间 \([l,r]\) 内,满足 \(l\le i \le j\le r\) 的 \(i,j\) 使 \(a_i xor a_{i+1} xor...xor a_j\) 值最大,求这个最值 题解 这题比较新鲜,知道了一些从未知道的套路 先考虑 \(O 阅读全文
posted @ 2021-01-27 08:19 leiyuanze 阅读(98) 评论(0) 推荐(0)
摘要: 题目 非常经典的题目 在 \(Bytemountains\) 有 \(n\) 座山峰,每座山峰有他的高度 \(h_i\) 。有些山峰之间有双向道路相连,共 \(m\) 条路径,每条路径有一个困难值,这个值越大表示越难走。 现在有 \(q\) 组询问,每组询问询问从点 \(v\) 开始只经过困难值小于 阅读全文
posted @ 2021-01-26 22:15 leiyuanze 阅读(122) 评论(0) 推荐(0)
摘要: 题解 这题做法很多呢! 目前我只试过线段树合并,因为最近在学 对于每一个点开一颗关于粮食类型的线段树 维护数量和区间最多的类型 然后考虑到合并子树的过程就类似于树上差分后做前缀和 所以我们可以树上差分一下,省去树剖的一只 \(\log\) (但求 \(\text {lca}\) 还是打了树剖) 最后 阅读全文
posted @ 2021-01-26 10:40 leiyuanze 阅读(92) 评论(0) 推荐(0)
摘要: 题解 套路套路地用线段树合并 注意:可能爆栈,所以 \(\text {bfs}\) 处理 合并要新开节点,不然后修改子树信息 \(Code\) #include<cstdio> #include<iostream> #define LL long long using namespace std; 阅读全文
posted @ 2021-01-26 09:24 leiyuanze 阅读(67) 评论(0) 推荐(0)
摘要: 题目大意 大小为 \(n\) 以 \(1\) 为根的树,点带权,求每个子树内大于本点的点的数量 \(1 \le n \le 10^5,1 \le p_i \le 10^9\) 题解 一眼静态链分治,然后统计? 离散化后树状数组维护即可 时间复杂度 \(n \log ^2 (n)\) \(Code\) 阅读全文
posted @ 2021-01-25 21:40 leiyuanze 阅读(84) 评论(0) 推荐(0)
摘要: 题解 真真正正是个码农题,不过很套路,熟练就打得很快,不过要用点维护边的信息在 \(\text{LCA}\) 出要注意,不能处理此点的信息 \(Code\) #include<cstdio> #include<iostream> #include<cstring> using namespace s 阅读全文
posted @ 2021-01-25 18:23 leiyuanze 阅读(108) 评论(0) 推荐(0)
摘要: 题解 并不需要什么高级数据结构 用树链剖分维护 对于每种颜色开个 \(\text{vector}\),然后把是这种颜色的点的 \(\text{dfs}\) 序加进来排序 对于 \([dfn[top[x]],dfn[x]]\) 这一区间问有没有某种颜色 相当于问某种颜色有没有至少一个在这个区间内 直接 阅读全文
posted @ 2021-01-23 11:22 leiyuanze 阅读(172) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 26 下一页