自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

山外青山明月楼的博客

菜菜菜菜菜菜

  • 博客(7)
  • 收藏
  • 关注

原创 二分(整数和浮点数)

二分(整数和浮点数)1.整数:核心代码:bool check(int x) {/* ... */} // 检查x是否满足某种性质// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:int bsearch_1(int l, int r){ while (l < r){ int mid = l + r >> 1; if (check(mid)) r = mid; // check()判断mid是否满足性质

2021-02-24 20:30:11 159

原创 归并排序(逆序对的数量)

归并排序(逆序对的数量)核心思想:先递归排序,再将排好序的左右两部分合并成一个有序序列。1.题目787:给定你一个长度为n的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#includ

2021-02-24 20:19:04 233

原创 快排

快排核心思想:先划分区间,再递归排序。题目785:给定你一个长度为n的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在1~109范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5#include<stdio.h>#include&l

2021-02-24 20:14:36 1317

原创 双指针(最长连续不重复子序列)

双指针:f(n) = o(n)常见问题分类:(1) 对于一个序列,用两个指针维护一段区间,比如快排中的区间划分。(2) 对于两个序列,维护某种次序,比如归并排序中合并两个有序序列的操作。for (int i = 0, j = 0; i < n; i ++ ){ while (j < i && check(i, j)) j ++ ; // 具体问题的逻辑}题目799: 最长连续不重复子序列给定一个长度为n的整数序列,请找出最长的不包含重复的数的连

2021-02-08 12:03:01 240

原创 差分(一维,二维)

差分(一维,二维)定义:存在数组a1, a2, …, an;要构造数组b1, b2, …, bn; 使得ai = b1 + b2+ … +bi;则a称为b的前缀和, b称为a的差分;则有b1 = a1, b2 = a2 - a1, b3 = a3 - a2 … bn = an - an-1(不重要,可用插入自动构造)。应用:1.由b求a:求前缀和,f(n) = o(n);2.让al,…,ar中每个值+c:暴力做法f(n) = o(n), 差分f(n) = o(1)。具体思路:让bl + c

2021-02-08 07:20:49 382

原创 前缀和(一维、二维)

前缀和(一维、二维)1.一维前缀和:前缀和:S[i] = a[1] + a[2] + … a[i];区间和([l,r]):a[l] + … + a[r] = S[r] - S[l - 1]。题目795:输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l, r。对于每个询问,输出原序列中从第l个数到第r个数的和。输入格式第一行包含两个整数n和m。第二行包含n个整数,表示整数数列。接下来m行,每行包含两个整数l和r,表示一个询问的区间范围。输出格式共m行,每行输出一个

2021-02-07 21:26:13 191

原创 高精度(非负数的加减乘除)

高精度(非负数的加减乘除)高精度的几种情况:A + B, A - B, A * b, A / b;其中数据范围一般为A,B <= len(1e6), b <= 1e4。1.高精度加法:题目791:给定两个非负整数,计算它们的和。输入格式共两行,每行包含一个整数。输出格式共一行,包含所求的和。数据范围1≤整数长度≤100000输入样例:1223输出样例:35#include<iostream>#include<vector>usin

2021-02-07 21:09:56 516

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除