自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 树状数组求区间和 golang实现

正在上传…重新上传取消

2022-03-02 22:12:24 246

原创 单链表反转 C++实现

节点用指针,新建节点时要用new。注意判断边界,即空表/单节点/两节点.#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;struct node{ node * next; ...

2019-03-05 21:49:51 469

原创 快速排序及C++实现

1.挑选一个基准值2.小于基准值的数放在大于基准值的数的左边3.将基准值放入中间,即两种数分界的地方,根据挑选的基准值决定如何插入。4.此时,基准值左边的区间小于等于基准值,基准值小于等于右边的区间,这三段有序,但内部无序,所以,将基准值左右两端继续进行快速排序,直到区间长度为1。是一个递归的过程。void quick_sort(int arr[],int left,int...

2019-03-05 11:31:21 1491

原创 堆排序及C++实现

堆排序:1.构建最大堆。2.取出当前堆顶(即待排序数组中最大的元素)3.将取出后的堆重新调整为标准最大堆。(由于原堆只改变了堆顶,只对堆顶进行下放即可恢复最大堆,需注意由于取出元素,堆的大小变小)4.重复2、3,直到所有数被取出。void adjust_heap(int arr[],int now,int siz){ int left=now*2+1; ...

2019-03-05 10:41:36 154

原创 SG函数 SG定理

SG函数int getSG(int n) //计算n个数的SG值{ memset(SG,0,sizeof(SG)); for(int i=1;i<=n;i++){ memset(S,0,sizeof(S)); //初始化 for(int j=0;f[j]<=i && j<N ; j++){ //每...

2018-09-02 09:46:40 350

原创 马拉车算法(Manacher)——最长回文字串

线性求最长回文字串#include<bits/stdc++.h>using namespace std;//马拉车,最长回文字串string Manacher(string s)//返回字符串//int Manacher(string s) //返回长度{ string t="$#";//处理开头 for(int i=0;i<s.size(...

2018-09-01 10:22:04 220

原创 组合数简单公式

组合数常用简单模板

2018-03-18 12:08:22 1626

原创 矩阵填充方法

矩阵填充

2018-03-18 09:32:45 5336

原创 欧拉函数

欧拉函数,求小于等于n的数中与n互质的数的数目

2018-03-15 20:09:02 200

原创 扩展欧几里得

ex_gcd

2018-03-12 21:02:46 200

原创 快速幂 逆元

快速幂,逆元模板

2018-03-11 14:57:24 609

原创 四校联合第一次周赛G、H题解

四校联合第一次周赛GH题解

2018-03-11 14:38:28 458

原创 排列 组合

排列组合

2017-10-20 15:27:25 284

原创 各种背包模板

分组背包

2017-10-20 08:21:44 365

原创 最长上升子序列

1.非严格 最长上升/下降 2.状压 严格

2017-10-12 19:29:31 270

原创 两组数间的匹配

数组a长度为n,数组b长度为m要求两数组进行匹配,且没有数可以同时匹配两个及以上的数问有多少种匹配方法dp[x][y]=y*dp[x-1][y-1]+dp[x-1][y];ll solve(ll x,ll y){ if(x==0 || y==0)return 1; if(x>y){ swap(x,y); } if(d

2017-10-12 08:51:28 697

原创 dp问题中记录路径的方法

dp问题记录路径

2017-10-10 11:42:21 1882

原创 dp中乘法取对数变加法防爆

取对数防爆log(a*b)=log(a)+log(b)

2017-10-10 09:52:07 1664

原创 筛素数

筛素数

2017-10-10 08:39:48 348

原创 容斥 贡献

容斥

2017-10-06 17:59:14 306

原创 字符串找id的技巧

字符串找id的技巧

2017-10-02 17:34:21 644

原创 拓扑排序模板

拓扑排序模板

2017-09-09 14:39:22 255

原创 高精度乘法

高精度乘法

2017-09-09 10:51:45 364 1

原创 斜率优化dp

斜率优化dp(待填坑。。。)

2017-09-05 21:56:55 313

原创 单调队列优化多重背包

单调队列优化多重背包

2017-09-05 20:34:43 583

原创 多重背包的二进制优化

多重背包二进制优化

2017-09-05 19:57:10 3113

原创 单调队列优化dp

单调队列优化dp

2017-09-04 20:41:59 1263

转载 整除的规律

整除的规律

2017-08-26 09:33:54 2771

原创 凸包模板

凸包模板 Graham扫描法

2017-08-26 09:31:12 247

原创 二分图匹配 模板

匈牙利算法

2017-06-29 15:47:29 266

原创 最短路(dijkstra、spfa)

最短路模板

2017-06-28 19:59:13 308

原创 夹角公式

正切公式设直线  、  的斜率存在,分别为  、  , 与  的夹角为  ,则  .注意:两直线的夹角指的是两直线所成的小于等于90°的角,但是当夹角为90°时,k不存在,故当k存在时,正切值始终为正.余弦公式A1X+B1Y+C1=0........(1)A2

2017-06-24 11:15:53 9275

原创 多重集组合数

未理解,先放个模板在这,感慨一波数学博大精深//有n种物品,第i种有ai个。求从中取出m个,有多少种取法。MOD#includeusing namespace std;const int maxn = 1007;const int maxm = 1007;int a[maxn];int dp[maxn][maxm];//dp[n][m]:从前n种物品中取出m个int mai

2017-05-31 21:15:47 678

原创 划分数

不是很理解,先放个板子在这吧//将n划分成m组#includeusing namespace std;int dp[1010][1010];int main(){ int i,j,k,n,m; scanf("%d%d",&n,&m); dp[0][0]=1; for(i=1;i<=m;i++){ for(j=0;j<=n;j++){

2017-05-31 20:54:31 226

转载 凸包

凸包 HDU1348

2017-05-31 17:31:19 304

原创 多重背包优化

多重背包优化

2017-05-30 22:23:16 328

原创 最长公共子序列

for(i=0;i<n1;i++){ for(j=0;j<n2;j++){ if(s1[i]==s2[j]){ dp[i+1][j+1]=dp[i][j]+1; } else { dp[i+1][j+1]=max(dp[i+1][j],dp[i][

2017-05-22 20:55:38 260

转载 KMP 模板

KMP模板

2017-05-20 21:52:52 222

原创 数位DP模板

数位DP模板

2017-04-28 11:00:37 273

原创 最长公共子序列

for(i=0;i<=n1;i++) dp[i][0]=0; for(j=0;j<=n2;j++) dp[0][j]=0; for(i=1;i<=n1;i++){ for(j=1;j<=n2;j++){ if(s1[i]==s2[j]){

2017-04-13 14:32:18 300

空空如也

空空如也

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

TA关注的人

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