集训队 线段 题解p10009

【题解】Tree MST

题面 给定一棵 $n$ 个节点的树,现有有一张完全图,两点 $x,y$ 之间的边长为 $w_x+w_y+dis_{x,y}$,其中 $dis$ 表示树上两点的距离。 求完全图的最小生成树。 $n \leq 2 \times 10^5$。 题解 ???神秘 借鉴支配对的思想,点分治后将树中点权替换为$ ......
题解 Tree MST

P9197 [JOI Open 2016] 摩天大楼 题解

算是一道比较好想的题 (?) 首先将 $A$ 数组排序,从小到大插入 $f$ 中,就可以脱掉绝对值符号。 设 $f_{i,j,s,t} $ 为插入前 $i$ 小的数,在 $f$ 数组中形成了 $j$ 段,对整个柿子的贡献为 $s$ ,且确定了 $t$ 个边界(即不能在左边界的左边或右边界的右边再插入 ......
摩天大楼 题解 大楼 P9197 9197

poj2777(线段树)

Count Color POJ - 2777 思路:暴力能过,线段树维护这个区间的颜色,如果是混色则置为1,如果是单一颜色则设为这个颜色,修改就是正常的区间修改,区间查询就要变一下。还有题解是用二进制做得,可以学一下。 #define _CRT_SECURE_NO_WARNINGS 1 #inclu ......
线段 2777 poj

[ABC296Ex] Unite 题解

考虑状压 dp。 设 $f_{i,j,s}$ 表示当前正在决策坐标为 $(i,j)$ 的格子,且列状态为 $s$。其中列状态维护了当前轮廓线上的连通块,我们可以使用最小表示法来简单维护。 (为什么不用广义括号序列?因为其涉及到 $5$ 个可选值,由于 $m\le 7$,所以这两个都需要用到八进制,而 ......
题解 Unite ABC 296 Ex

[Educational Codeforces Round 118 (Rated for Div. 2)]题解

A 题意: 给定两个数,每一个数有两个属性,第一个属性是p1,第二个属性是p2.表示这个数有p2个后缀0.这个数本身等于p1后面加p2个0.问给你两个这种数,判断大小。 思路: 赛场上想到的:如果最终的长度不一样,可以直接根据长度判断。 如果相等,就把后缀0加上直接比较大小就可以(比较字典序的大小) ......
题解 Educational Codeforces Round Rated

动态开点与可持久化线段树

1. 动态开点线段树 在讲可持久化线段树之前,先让我们来了解一下动态开点线段树。 常规的线段树大多都是只能够维护一个不算特别长$\le 10^6$以内的数组,但是对于$10^9$级别的数组却不能很好的维护(因为空间开不下),所以,我们有了动态开点线段树的想法:节点只有在有需要的时候才被创建。 比如说 ......
线段 动态

2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest题解

题目链接:2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest C. Cinderella(贪心) 思路 答案为大于平均值的数的数量 代码 #include <bits/stdc++.h> using namespace std; using i ......
题解 Subregional ACM-ICPC Contest Moscow

题解 CF1764G Doremy's Perfect DS Class (Extra)

题解 CF1764G Doremy's Perfect DS Class (Extra) 题意 交互库有一个 $1\sim n$ 的排列 $p$,你每次可以想交互库给定三个整数 $l,r,k(1\le l\le r\le n,1\le k\le n)$,交互库会返回 $\lfloor p_l/k\r ......
题解 Perfect Doremy 1764G Class

集训队互测 2015 普罗达科特

令 $N=\prod p_i^{a_i},M=\prod p_i^{b_i}$,$p$ 为两两不同的素数,$1\le i\le n$。求有多少本质不同的大小为 $m $ 的不可重集^1^和可重集^2^ $S$ 使得 $S$ 的元素乘积为 $N$ 且每个元素都不整除 $M$。$m\le 25,n\le ......
集训队 普罗 2015

一些自己做的算法题解

//得到支点下标 function partition(arr, low, high) { const tmp = arr[low]; while (low < high) { //high位置值大于tmp,high自减 while (low < high && arr[high] >= tmp) ......
题解 算法

线段树(单点修改,区间查询)

题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n,m,分别表示该数列数字的个数和操作的总个数。 第二行包含 n 个用空格分隔的整数,其中第 i 个数字表示数列第 i 项的初始值。 接下来 m 行每行包含 33 个整 ......
线段 区间

CF1473D 题解

题目传送门 题目分析 线段树、前缀和、$\text{ST}$ 表题解都有了,我补一发猫树题解吧。 由于每次操作只能将大小改变成跟原来差 $1$,所以只需要知道这段操作中的最大值和最小值,最后所求的答案的范围就被卡住了。对于每一次操作,我们把操作序列拦腰斩断,那么分别求两边的范围,最后减去重复的部分即 ......
题解 1473D 1473 CF

CF1758D 题解

前言 题目传送门! 更好的阅读体验? 用一种非常麻烦的做法把自己写自闭了,和题解区不一样,但是方法困难很多。 思路 代码 属于混乱邪恶了,凑合着看看。 #include <iostream> #include <cstdio> #include <cmath> using namespace std ......
题解 1758D 1758 CF

CAD如何测量连续线段长度?CAD测量连续线段长度步骤

在CAD绘图过程中,经常会绘制一些连续的线段,如果想要知道这些连续线段长度的话,该怎么操作吗?CAD如何测量连续线段长度?下面小编就以浩辰CAD软件为例来给大家分享一下CAD测量连续线段长度的具体操作步骤吧! CAD测量连续线段长度步骤: 浩辰CAD软件中已经考虑到了这种需求,在CAD测量命令(DI ......
线段 长度 CAD 步骤

「2019 集训队互测 Day 4」绝目编诗 题解

题目大意 给出一个 $n$ 个点 $m$ 条边的简单无向图,判断是否存在两个长度相同的简单环。 $1 \le n \le 10^4 , 1 \le m \le 10^6$。 思路 考虑暴力怎么做。 我们可以对于每个点,搜出包含这个点的环。 那么我们就有了一个玄学复杂度的暴力。考虑优化。 因为一个无向 ......
集训队 题解 2019 Day

题解:C Future

题目:给n个范围,第i个范围选pi,然后定义特征值k=p1+p2+...+pn。这次的开心度就是A(k%m)。m是给的一个数组A,长度为m。 要求: 就是个全排列组合的问题,找规律。 举个例子,有n个礼物,分别是(L1,R1) (L2, R2) (Ln, Rn) 每个区间取个数然后相加,所有出现的结 ......
题解 Future

[ARC127E] Priority Queue 题解

首先我们每次加入的数必定是一个 $1\sim a$ 的排列,但从排列角度考虑的话非常复杂,因为 $s$ 是一个集合。所以我们考虑最后能剩下哪些数。 考虑最后剩下的集合为 ${a_i}$,其中 $a_i<a_{i+1}$,显然这个集合里面的元素个数为 $A-B$。 那么我们会发现一件事情:我们按上升序 ......
题解 Priority Queue 127E ARC

abc248_e K-colinear Line 题解

K-colinear Line 题意 平面直角坐标系上给出 $n$ 个点,第 $i$ 个点的坐标为 $(x_i, y_i)$。 请求出平面上有多少条直线穿过 $n$ 个点中的至少 $k$ 个点。如果有无数条这样的直线,输出 Infinity。 数据范围 $1 \leqslant K \leqslan ......
题解 K-colinear colinear Line abc

Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 题解

题意 Codeforces Educational Codeforces Round 145 (Rated for Div. 2) C. Sum on Subarrays 给你 $n$ 和 $k$ ,要求生成一个长度为 $n$ 的数组 $a$,且他的非空正子数组的数量为 $k$ ,非空负子数组的数量 ......

abc247_f Cards 题解

Cards 题意 有 $N$ 张卡片,每张卡片上都写有两个数字,第 $i$ 张卡片上的数字分别为 $P_i, Q_i$。 同时,$P = (P_1, P_2, \dots, P_N)$ 和 $Q = (Q_1, Q_2, \dots, Q_N)$ 都是 $(1, 2, \dots, N)$ 的全排列 ......
题解 Cards abc 247

线段树区间和,区间修改,区间查询板子

#include <bits/stdc++.h> using namespace std; using LL = long long; #define lson (nd<<1) #define rson (nd<<1|1) #define mid (l+r>>1) const int N = 1e5 ......
区间 线段 板子

题解

calc 使用 cin 读入两个 int 和一个 char,判断即可。 step 因为可以从前面 $K$ 个台阶走过来,所以累加前面 $K$ 个台阶的方案数即可,时间复杂度 $O(NK)$。 令 $f_i$ 表示走到第 $i$ 个台阶的方案数,容易发现 $$\begin{equation*}\beg ......
题解

YBTOJ 5.4例3 最长距离 题解

挂大分!!!!!! 1.一定要看清提干有没有多测 2.多测不清空 爆零两行泪 3.同时线性更新最大值和次大值时记得最大值更新要同时把旧的最大值给次大值 题解 首先可以想到一个最暴力的暴力 : 对于每一个点 暴力枚举所有的点跑LCA 复杂度 $O(n^2logn)$ 显然会炸 然后就有一个优化一点的暴 ......
题解 YBTOJ 5.4

Codeforces Round 863 (Div. 3) E. Living Sequence 题解

题意 Codeforces Round 863 (Div. 3) E. Living Sequence 如果正整数中不能存在 $4$,那么新生成的数中的第 $k$ 个数为多少? 思路 $4$ 不能够选,也就是每一位只能选择 $0,1,2,3,5,6,7,8,9$ 。可以发现,这就是一个九进制。 当需 ......
题解 Codeforces Sequence Living Round

CF698F Coprime Permutation 题解

题意 给定一个未填满的数组 $p$,求有多少种 $1\sim n$ 的排列 $p$ 满足对于任意 $i<j$,都有 $[\gcd(i, j)=1]=[\gcd(p_i, p_j)=1]$,答案对 $10^9+7$ 取模。 题解 部分参考这篇题解(感觉这篇题解应该是目前为止最详细的吧)。 记 $P$ ......
题解 Permutation Coprime 698F 698

广州大学第十七届ACM大学生程序设计竞赛 L. 因子模仿 - hard version 线段树维护矩阵

传送门 大致思路: ** 观察发现,茉美香胜利会叠加对手所有状态,茉美香失败会被对手叠加所有状态。我们可以用矩阵[a1, a2, b1, b2]表示两个人的状态(其中a1, a2表示茉美香, b1, b2表示对手)茉美香赢了之后的状态是[a1 + b1, a2 + b2, b1, b2], 茉美香输 ......
线段 大学 广州大学 矩阵 因子

Codeforces Round 864 (Div. 2) 题解

A. Li Hua and Maze 题目保证了两个点的哈密顿距离至少为 $2$,所以他们不会相邻。 只要有点在角上答案就是 $2$,在边上但不在角上就是 $3$,否则就是 $4$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_contain ......
题解 Codeforces Round 864 Div

AtCoder Beginner Contest 297 题解

A - Double Click 直接模拟就好。 时间复杂度:$O(N)$。 #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include ......
题解 Beginner AtCoder Contest 297

「题解」ABC296Ex Unite

考虑一行一行往下 dp,一个状态需要记录每个格子是否是黑色,对于黑色还有记录其并查集。爆搜跑一下本质不同状态数不是很多,dp 就行了。 $m=7$ 的时候状态数只有 324. #include<cstdio> #include<vector> #include<queue> #include<cst ......
题解 Unite ABC 296 Ex

线段树之扫描线

P5490 【模板】扫描线 给你 n 个位于平面直角坐标系上的长方形,它们之间可能互相重叠,求这些长方形的面积。 很显然,对于长方形之间有重叠部分,如果采用容斥原理,不仅非常复杂,而且难以实现。 事实上,既然题目已经给了我们这些长方形的顶点,这些长方形最终构成的图形可以被坐标轴划分为 m 个长方形。 ......
扫描线 线段