首页 > TAG信息列表 > 220722
220722 T4 求和 /P4587 [FJOI2016]神秘数 (主席树)
好久没打主席树了,都忘了怎么用了...... 假设我们选了一些数能构成[0,x]范围内的所有值,下一个要加的数是k(k<=x+1),那么可以取到[0,x+k]内的所有取值,所以有一种做法: 对于每个询问区间,先排序,依次加入k,k<=x+1时,取到[0,x+k];k>x+1,则x+1不能取到,就是答案。复杂度O(mnlogn)。 更优做法: [0,x]拼220722 T2 序列(ST表+分治)
题目描述 小 B 喜欢玩游戏。 有一天,小 B 在玩一个序列上的游戏,他得到了正整数序列{ai}以及一个常数c 。 游戏规则是,玩家可以对于每一个ai 分别加上一个非负整数x ,代价为 x2,完成所有操作之后,需要额外花费的代价就是所有相邻位置上数之差的绝对值总和再乘上c 。 小 B 觉得这个游戏很220722 T1 分树 (模拟)
dfs一遍求出以每个节点为根的子树大小,然后枚举n的约数,对于每个约数i,统计sz[ ]是i的倍数的有多少个(开桶统计),如果有n/i个则答案+1。 这道题也就是个结论题,画图分析一下。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=2e6+10; 4 int head[N],to[N],nxt[N],