单点更新 区间查询 敌兵布阵 坑点:cin cout 一直超时 改成 scanf 和printf 就过了 /*输入 t样例 N(N<=50000) 第i个正整数ai代表第i个工兵营地里开始时有ai个人(1<=ai<=50)。 接下来每行有一条命令,命令有4种形式: (1) Add i j,i和j为正 ...
分类:
编程语言 时间:
2019-11-03 18:33:15
阅读次数:
120
题意 给定两颗有根树,两颗树均有 $n$ 个节点,且跟均为 $1$ 号点 问有多少对 $(u,v)$ 满足在给定的两颗树中 $u$ 均为 $v$ 的祖先 解法 先重链剖分第一颗树,处理出剖分序后在第二颗树上 $dfs$ 每 $dfs$ 到一个点就把其加入第一颗树对应的剖分序的位置,可以用树状数组维护 ...
分类:
其他好文 时间:
2019-11-03 12:28:59
阅读次数:
103
利用树状数组求第k大的数 具体就是标101010101010........ 统计1个数也就是前缀和 ...
分类:
其他好文 时间:
2019-11-02 17:57:00
阅读次数:
83
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的值 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的值 输入格式 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用 ...
分类:
编程语言 时间:
2019-11-02 17:32:01
阅读次数:
93
题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 如题,已知一个数列,你需要进行下面两种操作: 1.将某一个数加上x 2.求出某区间每一个数的和 输入格式 第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。 第二行包含N个用空格 ...
分类:
编程语言 时间:
2019-11-02 17:28:42
阅读次数:
91
题意 给$n$个互不相交的矩形,再给$m$个询问,每次给一个矩形求它与这$n$个矩形的面积交 思路 自己写的太丑了导致DEBUG了一个半小时qwq 一对矩形的交可以拆分成二维前缀和形式下的矩形的交,于是变成判断16次矩形的交(不想画图...只想口胡) 这些矩形都有$x_0=0,y_0=0$,即左下角 ...
分类:
编程语言 时间:
2019-11-02 15:23:29
阅读次数:
77
莫队模板题... 不过树状数组也可以做...跟HH的项链几乎一模一样,离线询问,然后记录前缀,更新的时候把前缀删掉就好了,然而这题开long long,卡空间 ...
分类:
其他好文 时间:
2019-11-02 11:29:01
阅读次数:
77
description analysis 从求联通块出发根本没做法,于是考虑连通块里面的边 对于一个询问$[l,r]$,一条边的左端点$≥l$且右端点$≤r$才在这个区间的点之间 于是对于边和询问排序,依次把边加入树状数组,然后查询当前询问区间里的边条数就知道了联通块个数 code ...
分类:
其他好文 时间:
2019-11-02 09:49:29
阅读次数:
93
—————————————————————————————————————————————————— —————————————————————前排护眼——————————————————————— —————————————————————————————————————————————————— ...
分类:
编程语言 时间:
2019-10-31 21:46:40
阅读次数:
77