![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
algorithm
竞赛常用的一些算法
-Accept-
这个作者很懒,什么都没留下…
展开
-
RMQ-模板-(poj3264)
输出一个数组给定范围内 最大值与最小值的差 Sample Input Sample Output 6 3 1 7 3 4 2 5 1 5 ...原创 2018-08-03 11:32:54 · 220 阅读 · 0 评论 -
acm-高精度-大数相加
#include <iostream> #include <cstdio> #include <cstring> using namespace std; char a[5005],b[5005]; int aa[5005],bb[5005],sum[5006]; void f(char x[],int xx[]) { int lx=strlen(x);...原创 2018-06-14 16:13:54 · 186 阅读 · 0 评论 -
树状数组 (hdu2689)离散化
求一组数的逆序数的个数 对于50%的数据,n≤2500 对于100%的数据,n≤40000。 n<=40000,但是 每次输入的数不一定<40000,有可能会很大,树状数组装不下,此时需要将 数据离散化 ******************************************************************************************...原创 2018-07-28 21:28:38 · 276 阅读 · 0 评论 -
树状数组 区间修改 单点查询
说一下差分: 现在我们有一个从小到大的数列a[] a 1 3 6 8 9 然后还有一个差分数组b[] b 1 2 3 2 1 对应: 1,3-1,6-3,8-6,9-8, 相信某些同学绝已经看出端倪了..这里b[i]=a[i]-a[i-1],我令a[0]=0,故b[1]=a[1]。 int now=0,temp; scanf("%d%d",&n...原创 2018-07-28 19:42:36 · 138 阅读 · 0 评论 -
二分查找算法
二分查找算法两种形式: 1、将区间[l,r]分成两块[l,mid]和[mid+1,r](或[l,mid-1]和[mid,r])。 当l=r时即为找到目标,跳出循环 while(l<r) 判定时分三种情况: 设目标为k (1)k=a[mid] r=mid (2)k>a[mid] l=mid+1 (3)k<a[mid] r=mid 当l=r时,查找完毕跳出循环, int Binary_Search(int l,int r,int k) { int m...原创 2020-07-28 22:30:22 · 87 阅读 · 0 评论