摘要:
并查集 合并集合 一共有 n 个数,编号是 1∼n,最开始每个数各自在一个集合中。 现在要进行 m 个操作,操作共有两种: M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 a 和 b 的两个数是否在同一个集合中; 输入 阅读全文
摘要:
n的二进制表示中第k位是几 思想 先把第k位移到最后一位 实现方式是用右移运算 n >> k 再看最低位是几 假设前一步得到x, 最低位为 x & 1 代码 # include<iostream> using namespace std; int main() { int n, k; cin >> 阅读全文
摘要:
前缀和 一维 例题—— 前缀和 输入一个长度为 n 的整数序列。 接下来再输入 m 个询问,每个询问输入一对 l, r 。 对于每个询问,输出原序列中从第 l 个数到第 r 个数的和。 输入格式 第一行包含两个整数 n 和 m。 第二行包含 n 个整数,表示整数数列。 接下来 m 行,每行包含两个整 阅读全文