倍增
tomjobs
别慌,慌也没用
展开
-
牛客IOI周赛18-提高组 A 排列(置换,倍增)
题目描述 牛牛拿到了一个长度为N的排列和M个区间,一开始排列是1、2、3…N。 然后他将这些区间在按顺序在排列上翻转,全部翻转一遍称一次操作。 现在他要去搞文化了…所以拜托你告诉他经过K次操作后的排列长什么样子。 输入描述: 第一行三个整数:N,M,K。 接下来M行,每行两个整数L和R描述一个区间。 输出描述: 输出一行N个数,表示经过K次操作后的排列。 示例1 输入 复制 5 2 2 1 4 2 3 输出 复制 1 2 3 4 5 说明 排列1 2 3 4 5中,区间[1 , 4]和[2 , 3]翻转后,原创 2020-09-18 17:37:47 · 186 阅读 · 0 评论 -
AcWing 109. 天才ACM(倍增)
给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下: 从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数,如果 S 中的整数不够 M 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值就称为集合 S 的“校验值”。 现在给定一个长度为 N 的数列 A 以及一个整数 T。 我们要把 A 分成若干段,使得每一段的“校验值”都不超过 T。 求最少需要分成...原创 2020-02-24 00:31:19 · 266 阅读 · 0 评论 -
Lost Cows POJ - 2182 ACWING244. 谜一样的牛(树状数组+二分/倍增)
有n头奶牛,已知它们的身高为 1~n 且各不相同,但不知道每头奶牛的具体身高。 现在这n头奶牛站成一列,已知第i头牛前面有Ai头牛比它低,求每头奶牛的身高。 输入格式 第1行:输入整数n。 第2…n行:每行输入一个整数Ai,第i行表示第i头牛前面有Ai头牛比它低。 (注意:因为第1头牛前面没有牛,所以并没有将它列出) 输出格式 输出包含n行,每行输出一个整数表示牛的身高。 第i行输出第i头牛的身高...原创 2019-09-11 20:52:44 · 407 阅读 · 0 评论 -
lca倍增和离线tarjan模板
https://www.luogu.org/problem/P3379 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int maxn = 1e6 + 7; int head[maxn],to[maxn],nex[maxn],d[max...原创 2019-09-14 11:55:38 · 203 阅读 · 0 评论