- 博客(15)
- 资源 (16)
- 收藏
- 关注
原创 Kick Start 2019.NumberGuessing + eoj 3342. 经典的猜数字游戏 (二分 交互题 C++)
虽然范围是 $[l + 1, r]$,但用这范围如果出题人的数是最后一个,那最后一次会还没有猜就退出循环,所以保险点直接用 $while(true)$
2020-05-27 10:11:31 638
原创 LeetCode 题解 | 43. 字符串相乘(大数相乘 高精度 x 高精度 C++)
来源:https://leetcode-cn.com/problems/multiply-strings/class Solution {public: vector<int> mul(vector<int> &A, vector<int> &B) { vector<int> C(A.size() + B.size(), 0); for (int i = 0; i < A.size(); i+
2020-05-26 11:27:54 247
原创 C++ 高精度乘法模版 大数相乘 高精度 乘以 低精度 | 高精度 乘以 高精度
高精度 X 低精度#include <iostream>#include <vector>using namespace std;vector <int> mul(vector <int> & A, int b) { vector <int> C; int t = 0; for (int i = 0; i < A.size(); i ++) { t += A[i] * b;
2020-05-26 10:54:34 910 1
原创 EOJ 题解 | 1056.线性同余方程 (扩展欧几里得 C++)
原题链接解题思路扩展欧几里得算法求出一组特解,然后 0∼m−10\sim m-10∼m−1中共有 (a,m)(a,m)(a,m) 个解#include <iostream>using namespace std;int exgcd(int a, int b, int&x, int & y) { if (!b) { x = 1, y = 0; return a; } int d = exgcd(b, a % b
2020-05-21 09:46:44 303
原创 C++ map按key或按value排序
map按key排序(1)map默认按照 key 从小到大排序 map<string,int> hash; 等价于 map<string,int, less<string>> hash;(2)map按照 key 从大到小排序map<string,int, greater<string> > hash;示例代码: map<string,int, greater<string>> m; // 默认 map&
2020-05-19 11:16:24 4173 1
原创 LeetCode 题解 | 204. 计数质数(线性筛素数 C++)
题目描述(简单难度)原题链接算法(线性筛素数) O(n)O(n)O(n)核心:每个数只会被最小的质因数筛掉时间复杂度是O(n)O(n)O(n)C++代码class Solution {public: static const int N = 1e7; int primes[N], cnt; int st[N]; void getPrimes(int n) { for (int i = 2; i < n; i ++) {
2020-05-17 20:02:02 309
原创 算法基础 - 数论 | 快速幂、矩阵快速幂、快速乘
文章目录一、快速幂快速幂模版(迭代,非递归)快速幂模版(递归)AcWing 875. 快速幂LeetCode 50. Pow(x, n)(快速幂 C++)LeetCode 372. 超级次方二、矩阵快速幂矩阵快速幂模版例题:求斐波那契数列的第 1e9 项例题: S=A+A2+A3+…+AkS = A + A^2 + A^3 + … + A^kS=A+A2+A3+…+AkREFERENCES一、快速幂快速幂:快速计算某个数的幂次( ana^nan )快速幂时间复杂度为 O(logn)O(logn)O(l
2020-05-16 13:25:14 1537 1
原创 POJ 题解 | 3070.Fibonacci 求斐波那契数列的第 n 项(矩阵快速幂 C++)
题目描述原题链接算法(矩阵快速幂) O(logn)O(logn)O(logn)这是一个求递推公式的 n 项的问题,我们可以使用矩阵快速幂算法来加速递推过程时间复杂度是O(logn)O(logn)O(logn),空间复杂度是O(1)O(1)O(1)C++代码#include <iostream>using namespace std;const int N = 100, mod = 1e4;int n, k;struct mat { int m[N][N];
2020-05-16 13:05:30 449
原创 【高颜值的盲打练习网站】彻底摆脱二指禅,刻意练习一星期后打字速度可提升20wpm!!!
打字是一种肌肉性质的训练,只要刻意练习,几个月就可以练就超快的打字速度keybrhttps://www.keybr.com/简介:非常好的打字练习网站,视频教程:https://www.bilibili.com/video/av20355890/在线打字http://www.zaixiandazi.com/简介:可以刻意练习各种按键组合,包括特殊符号,数字等难打的字...
2020-05-16 09:10:03 12581
原创 C++ STL 算法——最大值max_element,最小值min_element,求和accumulate
最大值max_element,最小值min_element,求和accumulatemin_element 和 max_element头文件是algorithm,返回值是一个迭代器accumulate 头文件是numeric,第三个参数是初始值,返回值是一个数举个栗子#include <algorithm>#include <iostream>#include <vector>#include <numeric> using namespac
2020-05-09 15:18:06 5353 1
原创 算法基础 - 数论 | 组合数学 卡特兰数(Catalan number)定义、证明及例题
2018.09 大三上 组合数学课堂讲义文章目录Catalan数定义卡特兰数的性质卡特兰数证明(折线法)例:买票例:排队例:典型例题参考文献Catalan数定义卡特兰数的性质(1)求组合数形式Cn=(2nn)n+1\begin{aligned}C_n =& \frac{\binom{2n}{n}}{n + 1} \end{aligned}Cn=n+1(n2n)...
2020-05-08 16:37:31 6075
原创 LeetCode 题解 | 410. 分割数组的最大值(最大值最小化 二分答案 C++)
题目描述(困难难度)原题链接算法(二分答案) O(nlogn)O(nlogn)O(nlogn)二分答案经典题所求的最大子数组和在 [max(nums), sum(nums)] 之内,但是我其实稍微扩大范围也能做,但要注意check函数里要多一句判断语句if (nums[i] > x) return false;C++代码1class Solution {public: ...
2020-05-08 10:52:29 482
原创 LeetCode 题解 | 459. 重复的子字符串(find函数、字符串哈希 C++)
题目描述(简单难度)原题链接算法原理:在字符串 s 后面再接一段 s,然后从下标为 1 的位置开始匹配,直到匹配子串 s(返回匹配子串 s 的第一个字符的下标)如果字符串 s 是重复的,则返回的下标一定小于 s.size( )时间复杂度是O(n∗m)?O(n*m)?O(n∗m)?,空间复杂度是O(1)O(1)O(1)Note1:find 函数的时间复杂度我不是很确定,见讨论C...
2020-05-07 10:07:06 508
原创 问题解决:LaTeX biblatex 参考文献出现 [S.l.]: [s.n.]的问题
问题描述解决方法在宏包参数设置中添加gbpub=false,就可以忽略出版社和出版地信息参考资料https://github.com/BHOSC/BUAAthesis/issues/155
2020-05-03 15:34:29 13887 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人