随笔- 114
文章- 0
评论- 13
阅读-
31331
随笔分类 - 常用函数&STL&杂
快排思想O(N)求第k大数
摘要:快排思想O(N)求第k大数 int quicksort(int l,int r,int k) { int midv = a[(l+r)>>1]; int i = l,j = r; while(i <= j) { while(a[i] < midv)i++; while(a[j] > midv)j--
阅读全文
置换环
摘要:置换环 作用:求解数组排序元素间所需最小交换次数这类问题。 思想:置换环将每个元素指向其排序后应在的位置,最终首位相连形成一个环(若数字在最终位置,则其自身成环),可知元素之间的交换只会在同一个环内进行,而每个环内的最小交换次数为 。 则总交换次数:\(ans = \sum_{
阅读全文
关于旋转矩阵
摘要:关于旋转矩阵 1.将矩阵旋转90° 分析:对于 阶方阵,如果 是偶数那么矩阵构成 圈;如果 是奇数,则矩阵构成 圈。 将矩阵顺时针旋转90°,就是没券的元素在四个方位依次轮换位置。 那么,交换元素公式就是: 例题:C. Perfect Squa
阅读全文
关于mutiset的应用的几个题
摘要:关于mutiset的应用的几个题 今天kk同学给了我两个题,都是是multiset的题。它的一些性质和应用还是很重要哒! G - Minimum Xor Pair Query 题意:你可以进行以下操作 加入一个数 删除一个数 输出任意两个数异或最小值 思路:首先我们要知道一个性质(重要!):两个数差
阅读全文
next_permutation 函数
摘要:# next_permutation 函数 next_permutation是全排列函数。 ## 一、基本用法 ```c++ int a[]; do{ }while(next_permutation(a,a+n)); ``` ## 二、例题 [P1088 [NOIP2004 普及组] 火星人]([P
阅读全文
round 函数
摘要:# round 函数 要求**四舍五入**的情况,用round函数就很方便。 ## 一、用法 ### 1.基本用法 对于小数而言,round()函数**仅仅保留到整数位**,仅对小数点后一位进行四舍五入。 比如:round(1.5) = 2.000000,round(1.57) = 2.000000
阅读全文
lower_bound 和 upper_bound函数
摘要:# lower_bound 和 upper_bound函数 ## 一、用法 ### 1.对于递增序列 当容器中的元素按照**递增**的顺序存储时,lower_bound函数返回容器中第一个**大于等于**目标值的位置,upper_bound函数返回容器中第一个**大于**目标值的位置。若容器中的元素
阅读全文