摘要: 高精度就是利用数组模拟就行计算。为了保证一致性,数组中是低位在前 高精度加法 vector<int> add(vector<int>& A, vector<int>& B){ if(A.size() < B.size()) return add(B, A);//保证A最少比B长 vector<int 阅读全文
posted @ 2020-02-05 12:45 Lngstart 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 思路 就是浮点数二分,保证答案在区间内,不断的二分,使得区间长度满足其精度要求 代码如下 #include <iostream> using namespace std; int main() { double x; scanf("%lf", &x); bool flag = x < 0 ? (x 阅读全文
posted @ 2020-02-05 12:29 Lngstart 阅读(494) 评论(0) 推荐(0) 编辑
摘要: AcWing 789.数的范围 题目描述 给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 如果数组中不存在该元素,则返回“-1 -1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数 阅读全文
posted @ 2020-02-05 11:28 Lngstart 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 二进制中1的个数 统计一个二进制数中一个个数,我们采用的是位运算的方式 利用 n & -n 的方式,它的返回值为最后一个1截断后面的数的大小 例如:n = 10,n & -n = (10)2 原理 -n = ~n + 1 n & -n = n & (~n + 1) n = 1010·······10 阅读全文
posted @ 2020-02-04 21:53 Lngstart 阅读(134) 评论(0) 推荐(0) 编辑
摘要: AcWing 787.归并排序 题目描述 给定你一个长度为n的整数数列。 请你使用归并排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。 输出格式 输出共一行,包 阅读全文
posted @ 2020-02-04 09:16 Lngstart 阅读(134) 评论(0) 推荐(0) 编辑
摘要: AcWing 786.第k个数 题目描述 给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。 输入格式 第一行包含两个整数 n 和 k。 第二行包含 n 个整数(所有整数均在1~109109范围内),表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 阅读全文
posted @ 2020-02-03 22:47 Lngstart 阅读(164) 评论(0) 推荐(0) 编辑
摘要: C++的快速读入模板 1 inline int read() { 2 bool flag = false; int x = 0; 3 char ch = getchar(); 4 5 while (ch < '0' || ch > '9') { 6 if (ch == '-') flag = tru 阅读全文
posted @ 2020-02-03 22:26 Lngstart 阅读(774) 评论(0) 推荐(0) 编辑
摘要: AcWing 785.快速排序题解 题目描述 给定你一个长度为n的整数数列。 请你使用快速排序对这个数列按照从小到大进行排序。 并将排好序的数列按顺序输出。 输入格式 输入共两行,第一行包含整数 n。 第二行包含 n 个整数(所有整数均在1~109109范围内),表示整个数列。 输出格式 输出共一行 阅读全文
posted @ 2020-02-03 21:16 Lngstart 阅读(174) 评论(0) 推荐(0) 编辑