题目描述如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数加上x 2.将某区间每一个数乘上x 3.求出某区间每一个数的和 输入输出格式输入格式: 第一行包含三个整数N、M、P,分别表示该数列数字的个数、操作的总个数和模数。 第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。 接下来M行每行包含3或4个整数,表示一个操作,具体如下: 操作1: 格式:1 x y k 含义:将区间[x,y]内每个数乘上k 操作2: 格式:2 x y k 含义:将区间[x,y]内每个数加上k 操作3: 格式:3 x y 含义:输出区间[x,y]内每个数的和对P取模所得
题目背景这是一道模板题 题目描述给定n,p求1~n中所有整数在模p意义下的乘法逆元。 输入输出格式输入格式: 一行n,p 输出格式: n行,第i行表示i在模p意义下的逆元。 输入输出样例输入样例#1:10 13 输出样例#1:1
7
9
10
8
11
2
5
3
4 说明1 \leq n \leq 3 \times 10 ^ 6, n < p < 200005281≤n≤3×106,n<p<20000528 输入保证 pp 为质数。 突然觉得之前太傻了……居然拿逆元硬转成了线
题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。 输出格式: 输出包含M行,每行包含一个正整数,依次为每一个询问的结果。 输入输出样例输入样例#1:5 5 4
3 1
2 4
5 1
题目背景割点 题目描述给出一个n个点,m条边的无向图,求图的割点。 输入输出格式输入格式: 第一行输入n,m 下面m行每行输入x,y表示x到y有一条边 输出格式: 第一行输出割点个数 第二行按照节点编号从小到大输出节点,用空格隔开 输入输出样例输入样例#1:6 7
1 2
1 3
1 4
2 5
3 5
4 5
5 6 输出样例#1:1
5 说明n,m均为100000 tarjan 图不一定联通!!! &nbs
题目背景动态树 题目描述给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。 1:后接两个整数(x,y),代表连接x到y,若x到Y已经联通则无需连接。 2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。 3:后接两个整数(x,y),代表将点X上的权值变成Y。 输入输出格式输入格式: 第1行两个整数,分别为N和M,代表点数和操作数。 第2行到第N+1行,每行一个整数,整数在[1,10^9]内,代表每个点的权值。 第N
题目描述您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入x数 删除x数(若有多个相同的数,因只删除一个) 查询x数的排名(若有多个相同的数,因输出最小的排名) 查询排名为x的数 求x的前驱(前驱定义为小于x,且最大的数) 求x的后继(后继定义为大于x,且最小的数)输入输出格式输入格式: 第一行为n,表示操作的个数,下面n行每行有两个数opt和x,opt表示操作的序号(1<=opt<=6) 输出格式: 对于操作3,4,5,6每行输出一个数,表示对应答案 输入输出样例输入样例#1:10
1 106465
4 1
1 317
题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。 接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。 接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。 输出格式: 输出包含M行,每行包含一个正整数,依次为每一个询问的结果。 输入输出样例输入样例#1:5 5 4
3 1
2 4
5 1
题目背景这是一道模版题 可以使用bitset,CDQ分治,K-DTree等方式解决。 题目描述有 个元素,第 个元素有 、、 三个属性,设 表示满足 且 且 的 的数量。 对于 ,求 的数量 输入输出格式输入格式: 第一行两个整数 、,分别表示元素数量和最大属性值。 之后 行,每行三个整数 、、,分别表示三个属性值。 输出格