集训队 线段 题解p10009

P8818 [CSP-S 2022] 策略游戏 题解

P8818 [CSP-S 2022] 策略游戏 题解 题目链接 P8818 [CSP-S 2022] 策略游戏 简化题意 小 \(A\) 先在 \(a[l1,r1]\) 中选择一个数 \(x\),小 \(B\) 再在 \(b[l2,r2]\) 中选择一个数 \(y\),最后的分数就是 \(x \ti ......
题解 策略 P8818 CSP-S 8818

线段树

线段树 什么是线段树 线段树(英语:Segment tree)是一种二叉树形数据结构,1977年由Jon Louis Bentley发明[1],用以存储区间或线段,并且允许快速查询结构内包含某一点的所有区间。 一个包含n个区间的线段树,空间复杂度为O(n),查询的时间复杂度则为O(logn+k)}, ......
线段

P9903 题解

题目链接 题意简述 给定一个数独网格,判断这个数独网格是否合法。 题目分析 模拟题意即可。 具体地,我们可以设 \(line_{i,j}\) 表示位于第 \(i\) 行的数字 \(j\) 出现的次数,\(col_{i,j}\) 表示位于第 \(i\) 行的数字 \(j\) 出现的次数。遍历整个数独网 ......
题解 P9903 9903

题解 OpenJ_Bailian-4052【Necklace】

好题分享 GDSYZX cjh 题目描述 https://vjudge.csgrandeur.cn/problem/OpenJ_Bailian-4052 你将制作一条项链。项链由 \(m\) 颗宝石组成,有 \(n\) 种宝石可供选用。对于第 \(i\) 种宝石,它在项链上的出现次数是如下四种限制中 ......
题解 OpenJ_Bailian Necklace Bailian OpenJ

P6108 [Ynoi2009] rprsvq 积分题解

给 EI 题解写注 qwq。。 化简方差: \[\frac{1}{n}\sum(a_i-\overline a)^2\\ =\frac{1}{n}(\sum a_i^2-2\overline {a}\sum a_i+n\overline a^2)\\ =(\frac{1}{n}-\frac{1}{n ......
题解 积分 rprsvq P6108 6108

luogu1972题解

还是先写被卡的做法吧。 节点的区间用了现用现计算卡常过了。 被卡了一上午,难过。 话说有人说我码风有点抽象。 思路 主席树做法。 a[i] 是贝壳序列。 先求出 nxt,即与 a[i] 相同的下一个 a[j] 的下标 j。 用 p114514[i] 记了值为 \(i\) 的数的下标,循环到序列第 \ ......
题解 luogu 1972

U41492 树上数颜色 题解

Link U41492 树上数颜色 Question 给出一个树,每个节点有一个颜色,求一个子树内有多少种不同的颜色 Solution 问题可以用树上莫队来解决,但是也可以使用树上启发式合并 先计算并保留重儿子的贡献,然后将轻儿子 "加" 到重儿子的贡献上面 总时间复杂度 \(O(n \log n) ......
题解 颜色 U41492 41492

[Gym101194G] Pandaria 题解

[Gym101194G] Pandaria 题解 题目描述 给定一张无向图,边有边权,点有颜色 \(\le 10^6\),每次询问给定 \(x, w\),表示 Mr. Panda 从 \(x\) 出发,可以选定一个颜色 \(c\),使得在不走 \(> w\) 的边的情况下,能到达颜色为 \(c\) ......
题解 Pandaria 101194G 101194 Gym

[CF980D] Perfect Groups 题解

[CF980D] Perfect Groups 题解 思路 第一个观察就很难观察到: \[ab = x^2, bc = y^2\Longrightarrow \exist z, ac = z^2(a, b, c \ne 0) \] 证明: 两个条件式相乘得到: \[ab^2c = x^2y^2\\ ......
题解 Perfect Groups 980D 980

P1004 [NOIP2000 提高组] 方格取数 题解

P1004 [NOIP2000 提高组] 方格取数 题解 题目链接 P1004 [NOIP2000 提高组] 方格取数 简要思路 注意一下输入可以简化为 while(std::cin>>x>>y>>val&&x){ //*** } 运用 DP 的思想。 用一个四维的 \(DP\) 数组 \(dp[i ......
题解 方格 P1004 1004 NOIP

P4463 [集训队互测 2012] calc 题解

Description 一个序列 \(a_1,a_2,\dots,a_n\) 是合法的,当且仅当: \(a_1,a_2,\dots,a_n\) 都是 \([1,k]\) 中的整数。 \(a_1,a_2,\dots,a_n\) 互不相等。 一个序列的值定义为它里面所有数的乘积,即 \(a_1\time ......
集训队 题解 P4463 4463 2012

CF1205题解

CF1205 Expected Value Again 首先算 \(\sum f^2(s)\),一个很经典的转化:任选 \(i,j < n\) 满足 \(i,j\) 同时是 border。 摆出几个结论: \(r\) 是 \(s\) 的 border 等价于 \(|s| - r\) 是 \(s\) ......
题解 1205 CF

CF213E Two Permutation 题解

CF213E Two Permutations 题解 题意: 给出两个排列$a,b $,长度分别为 \(n,m\),你需要计算有多少个 $ x $,使得 \(a_1 + x,a_2 + x,...a_n + x\) 是 \(b\) 的子序列。 \(n \leq m \leq 2 \times 10^ ......
题解 Permutation 213E 213 Two

CF1500F Cupboards Jumps 题解

题目链接 点击打开链接 题目解法 感觉是一个融合了许多技巧的题,很巧妙 题目要求 \(\max(h_i,h_{i+1},h_{i+2})-\min(h_i,h_{i+1},h_{i+2})=w_i\),这可以转化成另一个只和两项有关的形式为:\(\max(|h_i-h_{i+1}|,|h_i-h_{ ......
题解 Cupboards 1500F Jumps 1500

P1527 [国家集训队] 矩阵乘法

题意 给定一个矩阵,每次询问子矩阵的第 \(k\) 大。 Sol 考虑把莫队扔到二维上来做。 发现复杂度变为:\(O(n ^ 2 q ^ {\frac {3}{4}})\)。 卡卡常就过了。 Code #include <iostream> #include <algorithm> #include ......
集训队 乘法 矩阵 国家 P1527

刷题 ST表、单调栈、线段树->区间最值

2023.12.13 cf1904D2 解题思路 首先,a[i]大于b[i]时肯定不行,等于就满足了,直接过掉 其次,要想使得a[i]等于b[i],就要在a[i]左右找最近的j使得a[j]=b[i](最近的最优,可证) k是i和j中间的一个数,想要满足题意,要满足以下两个条件(a[j]=b[i]) ......
线段 区间 gt

20231210-sdfz 集训-网络流

20231210-sdfz 集训-网络流 P3163 [CQOI2014] 危桥 P4313 文理分科 P3227 [HNOI2013] 切糕 P4123 [CQOI2016] 不同的最小割 P4177 [CEOI2008] order CF1416F Showing Off CF1592F2 Al... ......
20231210 网络 sdfz

[ARC106F] Figures 题解

题目链接 点击打开链接 题目解法 这么神仙的推式子题 看到生成树计数,第一反应是 \(prufer\) 序列 考虑在 \(prufer\) 序列上搞这个东西 可以得到 \(ans=\sum\limits_{\sum\limits_{i=1}^n d_i=n-2}\binom{n-2}{d_1,d_2 ......
题解 Figures 106F ARC 106

AtCoder Beginner Contest 332 题解

A - Online Shopping 题目链接 Atcoder Luogu 简要题意 共有 \(n\) 件商品,第 \(i\) 件商品的价格为 \(p_i\) 日元,数量为 \(q_i\) 件。 除了购买商品所需的的钱数,还要支付运费:如果所买商品的总价小于 \(s\) 日元,那么要支付运费 \( ......
题解 Beginner AtCoder Contest 332

北京集训

欢迎来面基! 北京集训简记 12.9 到达北京,非常的开森!感受首都的魅力。 迅速地下好了农,准备复健。 hfu 准备带我们去爬山,但是由于神秘原因直接去吃羊蝎子,好吃! ARC,只过了俩题耻辱下播。 回来打了会农就睡了 12.10 yny /se yny /se yny 上了大学之后狂野了许多,不 ......

【线段树入门】P3353 在你窗外闪耀的星星(区间求和)

这题正解是前缀和,我用线段树练练手>< 1 1 //笔记-自用 2 2 //#pragma GCC optimize("Ofast") 3 3 //#pragma GCC optimize("unroll-loops") 4 4 #define _CRT_SECURE_NO_WARNINGS 5 5 ......
线段 区间 星星 P3353 3353

【线段树入门】 P1198 最大数(区间最大值+无懒标记+末尾插入)

1 //笔记-自用 2 //#pragma GCC optimize("Ofast") 3 //#pragma GCC optimize("unroll-loops") 4 #define _CRT_SECURE_NO_WARNINGS 5 #define All(a) a.begin(),a.en ......
线段 最大值 末尾 区间 标记

线段树入门】P3870 开关(区间异或和)

1 // 2 //#pragma GCC optimize("Ofast") 3 //#pragma GCC optimize("unroll-loops") 4 #define _CRT_SECURE_NO_WARNINGS 5 #define All(a) a.begin(),a.end() 6 ......
线段 区间 P3870 3870

【线段树入门】P3373 线段树 2(区间乘加)

//笔记-自用 //#pragma GCC optimize("Ofast") //#pragma GCC optimize("unroll-loops") #define _CRT_SECURE_NO_WARNINGS #define All(a) a.begin(),a.end() #defin ......
线段 区间 P3373 3373

luogu P9753题解

题意描述 有一个字符串, 请你求出有多少个字串可以经过若干次, 使它变成空串 其中每次操作可以从字符串中删除两个相邻的相同字符,操作后剩余字符串会拼接在一起。 ## 思路1 可以枚举左端点, 再枚举右端点, 一边枚举一边判断是否合法 时间复杂度 $O(n^2)$ 空间复杂度 $O(n)$ ## 思路 ......
题解 luogu P9753 9753

ARC166 B Make Multiples 题解

Link ARC166 B Make Multiples Question 给出 \(N\) 个整数, \(A_1...A_N\) ,还有三个数 \(a,b,c\) 我们可以给 \(A_i\) 加上 \(1\) 需要使得数组 \(A\) 满足,存在一个数是 \(a\) 的倍数,一个数是 \(b\) ......
题解 Multiples Make ARC 166

CF1899 C Yarik and Array 题解

Link CF1899 C Yarik and Array Question 给定一个数组,求数组中连续子数组之和的最大值,但要求子数组必须满足:相邻两项奇偶性不同 输出最大总和 定义 \(F[i]\) 为以 \(i\) 为终点的连续子串的最大加和 \(F[i]\) 初始为 \(a[i]\) 如果 ......
题解 Array Yarik 1899 and

CF1899 E Queue Sort 题解

Link CF1899 E Queue Sort Question 给出一个序列 \(\{a\}\) ,可以进行一种操作:把第一个数放到最后,然后向前移,直到前面的那个数比它小为止 求把序列变成非降序列的次数 Solution 先来考虑无法变成非降序列的情况 如果第一个数最小,在一次操作后,第一个数 ......
题解 Queue 1899 Sort CF

CF1764H Doremy's Paint 2 题解

题目链接 先断环成链,由于对于多组询问不好一起处理,我们先考虑单组询问的处理方式。 一个很暴力的想法是每次模拟题目要求的操作并且最后数颜色,我们这是在通过下标进行操作最后再数颜色,而很多对于下标的操作都是不必要的,考虑直接枚举颜色进行判定。 对于每种颜色,它对于最后答案有贡献当且仅当它可以存活到那个 ......
题解 Doremy 1764H Paint 1764

CF1901 D Yet Another Monster Fight 题解

Link CF1901 D Yet Another Monster Fight Question 现在给你一堆怪物,你拥有法术(一个法术可以连续攻击这n个所有怪物),你可以选择任意一个怪物作为法术的第一个攻击目标(伤害为 \(x\) ),然后除了第一个攻击目标可以任意,其他攻击目标只能为曾经攻击目标 ......
题解 Another Monster Fight 1901