- 博客(28)
- 收藏
- 关注
原创 快速幂算法
#include<iostream>#include<cstdio>#include<string>using namespace std;long long quickPower(int a,int b){ long long ans = 1,base = a; while(b>0) { if(b%2==1) ans*=base; base*=base; b /= 2; } return ans;}int ma...
2022-04-04 20:49:33
293
原创 广度优先搜索
广度优先搜索根本思想是一层一层的遍历抓住那头牛描述农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式:从X移动到X-1或X+1,每次移动花费一分钟从X移动到2*X,每次移动花费一分钟假设牛没有意识到农夫的行动,站在原地不动。农夫最少要花多少时间才能抓住牛?输入5 17输出4#include<iostream>..
2022-04-03 18:41:13
907
原创 Floyd
for(int k = 1;k<=2021;k++) for (int i = 1; i <= 2021; i++) for (int j = i + 1; j <= 2021; j++)
2022-04-03 18:33:01
394
原创 STL--lower_bound和upper_bound及其cmp用法 例题-导弹拦截 上升序列下降序列原理求法
STL--lower_bound和upper_bound及其cmp用法 例题-导弹拦截上升序列下降序列原理求法
2021-11-26 19:38:41
453
原创 求上升序列
#include <iostream>]using namespace std;int dp[100005];//1.大于目前dp数组的最后一个元素,那么显然我们应该将它加入到dp数组中,数组长度加1//2.小于等于,那么这个元素也不是一无是处,我们就用它来更新dp数组的值,我们找到第一// 个比他大的数,那么长度为该数下标的最长上升子序列末尾的最小值就是这个新元素啦!int a[100005];int n;int ans = 0;int main(){ cin >.
2021-11-05 21:47:53
224
原创 辗转相除法
求最大公约数int gcd(int m, int n){ int r; r = m % n; while (r != 0) { m = n; n = r; r = m % n; } return n;}判断两数是否互质(两个数只有1一个公因数)bool mp(int m, int n){ int r; r = m % n; while (r != 0) { m = n; n = r; r = m % n; } if ...
2021-11-05 21:44:38
127
转载 二分查找算法
我周围的人几乎都认为二分查找很简单,但事实真的如此吗?二分查找真的很简单吗?并不简单。看看 Knuth 大佬(发明 KMP 算法的那位)怎么说的:Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky...这句话可以这样理解:思路很简单,细节是魔鬼。本文就来探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边
2021-09-16 20:38:21
143
原创 深度优先搜索
全排列问题:#include <iostream>using namespace std;int n;int flag[10001], a[10001];void dfs(int index){ if (index == n + 1) { for (int i = 1; i <= n; i++) cout << a[i] << " "; cout << endl; return; } for (int i = 1
2021-09-05 19:40:16
182
原创 并查集(模板)
并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中,其特点是看似并不复杂,但数据量极大,若用正常的数据结构来描述的话,往往在空间上过大,计算机无法承受;即使在空间上勉强通过,运行的时间复杂度也极高,根本就不可能在比赛规定的运行时间(1~3秒)内计算出试题需要的结果,只能用并查集来描述。把跟结点连接,从而贯穿两条路径。洛谷:P3
2021-09-05 17:16:28
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人