有N头牛在一个数轴上,每头牛有一个听力值,两头牛交谈时花费为,距离差值与较大的听力值值和。问所有牛两两交谈所需要的花费之和。 我们先考虑将距离差值与听力值两个变量固定一个。我们将所有牛按照听力值从小到大排序。这样子一头牛与其左侧的牛交谈时,在听力值上花费就是其本身的听力值。我们再考虑如何高效地求出这 ...
分类:
编程语言 时间:
2019-12-17 13:25:44
阅读次数:
93
·这里原本准备整理本校OJ上的经典题,但作者水平有限。 ·萌新妹子刚学OI……只好把自己会的水题挂上来充数了。 ·树套树 ·二维线段树 ·1792 征婚启事 ·2265 3D俄罗斯方块 ·树状数组套线段树 ·1817 二逼平衡树 ·1813 网络管理 ·线段树合并 ·2508 C ·1484 谈笑风 ...
分类:
其他好文 时间:
2019-12-17 01:05:05
阅读次数:
134
给定一个有N个正整数的序列A(N<=10^5,A[i]<=10^5),对序列中的每一个数,求出序列中它左边比它小的数的个数。 思路:树状数组的经典应用(裸题) 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 5 ...
分类:
编程语言 时间:
2019-12-16 13:39:28
阅读次数:
181
一,概念 1,定义:树状数组是一种修改和查询的复杂度都为log(n)的数据结构。 2,应用:可以用来查询任意两位之间的所有元素的和,但是只能修改一个元素的值。 3,应用拓展:可以在简单的修改下,可以以log(n)的复杂度去修改一定范围内的值,但是此时只能查询一个元素的值 4,横向比较:与线段树相比, ...
分类:
编程语言 时间:
2019-12-15 16:29:13
阅读次数:
80
题意: 给定$n$个元素,每个元素有四个属性$a,b,c,d$,求序列中满足$a_i using namespace std; const int N=50005; int n,ans; struct node{int a,b,c,d,tp;}q[N],tmp1[N],tmp2[N]; inline ...
分类:
其他好文 时间:
2019-12-14 23:11:43
阅读次数:
110
题意: 给你一个N N的矩阵,没有修改,每次询问一个子矩形中的第K小数。 "题目链接" 思路: 当它只有一列时,其实就是区间第K大,也就是整体二分可以解决的。 现在到了二维,只需要将之前的树状数组改成二维的就可以了。 注意事项: 二维的容斥稍显繁杂,注意一下 二维树状数组不要打错 code: ...
分类:
其他好文 时间:
2019-12-14 22:59:49
阅读次数:
119
这里提供了静态主席树及动态主席树(树状数组套主席树)的模板。 分别应用于静态区间第k小及动态区间第k小。 静态: ~~思路好想码量巨大警告~~ ...
分类:
其他好文 时间:
2019-12-14 10:05:47
阅读次数:
98
好烦啊$O(n^2)$跑得比$O(nlogn)$快【】 先把一些SB情况判掉 首先可以求出这个矩阵中每一列将被放到哪一列上了 于是先把列号变成目标状态趴OwO 然后你看这个$3\times 3$,每次修改只会交换奇偶性相同两列的位置,可以尝试一下分奇偶讨论,分别求出把奇偶列变成目标状态的次数,树状数 ...
分类:
编程语言 时间:
2019-12-14 00:01:20
阅读次数:
154
主键都相同,选择排序和插入排序谁快选择排序:比较N*(N-1)/2,交换0;插入排序:比较N-1,交换0;插入排序更 大专栏 algorithm-question快逆序数组,插入排序与选择排序选择排序:比较N(N-1)/2,交换N-1;插入排序:比较N(N-1)/2,交换N*(N-1)/2;插入排序... ...
分类:
其他好文 时间:
2019-12-12 01:04:34
阅读次数:
77
This is the harder version of the problem. In this version, 1≤n,m≤2?1051≤n,m≤2?105. You can hack this problem if you locked it. But you can hack the p ...
分类:
编程语言 时间:
2019-12-05 22:19:38
阅读次数:
100