自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

原创 UDP收发示例

在这个例子中,主线程创建一个UDP套接字,并将套接字文件描述符传递给工作线程。工作线程使用DPDK来配置和管理网络接口,并在一个无限循环中接收和发送UDP数据包。主线程创建多个工作线程并等待它们完成。请注意,在DPDK中,每个工作线程都运行在一个独立的核心上。

2023-03-14 20:49:01 235

原创 Linux操作系统分析学习总结

Linux学习

2022-07-05 22:05:53 547

原创 根据中后序构建树的代码实现

1.理论部分知识树的前序中序后序遍历2.中后序构建树的代码实现class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}public class In_Post { public TreeNode re...

2020-04-25 15:05:00 218

原创 根据前中序构建树的代码实现

1.理论部分知识树的前序中序后序遍历2.前中序构建树的代码实现class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}public class Pre_In { public TreeNode reC...

2020-04-25 14:40:41 192

原创 树的前序中序后序遍历

1.前序遍历前序遍历是指输出当前节点,再输出左子树,最后输出右子树。对于上图的前序遍历顺序为:先输出1,1的左子树2存在 --> 输出2,2的左子树4存在 --> 输出4,4的左子树不存在,右子树6存在 --> 输出6,6的左子树不存在,右子树7存在 -->输出7,7的左子树不存在,右子树不存在。此时我们观察到4的左右子树都已经遍历完(即2的左子树遍...

2020-04-25 14:07:38 880

原创 KVM is required to run this AVD. /dev/kvm device: permission denied.

在linux系统中Android Studio软件启动虚拟安卓设备失败。在终端输入:sudo chown username -R /dev/kvm

2020-03-19 09:12:40 75

原创 ubuntu系统安装TeamViwer远程控制软件

1.下载TeamViwer软件https://download.teamviewer.com/download/linux/teamviewer_amd64.deb2.安装sudo dpkg-iteamviewer_amd64.deb如果执行发生错误,说明你的系统是64位。需要添加32位框架。添加32位框架输入以下三条命令:sudo dpkg--add-archi...

2020-03-07 09:46:09 557

原创 最长上升子序列(LIS)

暴力会达到的复杂度,这里我们采用贪心+二分的算法,将时间复杂度降到。思路a数组存放当前输入的数,新建一个b数组用于维护最长上升子序列,b[i]表示现在最长上升子序列长度为i,它的最后一位元素为b[i]。我们每次都希望b数组的最后一位元素最小,这样我们就能加入更多的数进入b数组。所以,如果新加入元素大于b数组最后一位元素,直接加入;否则,我们用a[i]更新b数组,在b[i]中找到第一个大于等...

2019-09-28 14:30:24 151

原创 反素数

定义对于任意正整数n,其约数个数为f(n),例如6的约数有1、2、3、6,所以f(6)=4。对于任意正整数i(0<i<n),都有f(i)<f(n),则称n为反素数。常见问题1.给出约数个数n,求出约束个数为n的最小整数x。2.给出正整数n,求1~n中约束个数最多的数。性质1.一个反素数的因子一定是从2开始的连续质数,必须保证约数个数相同时n越小。比...

2019-08-17 12:19:59 224

原创 1035 最长的循环节

推荐一篇有关循环节很有意思的科普文章:https://w3.math.sinica.edu.tw/math_media/d253/25311.pdf关于循环节,有定理如下:1.如果1<=b<a,a没有2或5的质因子,并且a与b互质,那么b/a的循环节长度恰好等于min()2.如果1<=b<a,a没有2或5的质因子,并且a与b互质,那么b/a的循环节长度必整除...

2019-08-13 15:24:26 211

原创 网络流之最大流

含义这里就不详细解释网络流的含义了。最大流解决的是从源点到汇点所能传送的最大容量。算法分析类似于这个图,我们要求从源点s到汇点t的最大容量。我们可以先选择从s-a-b-t这条路,这条路称为增广路,此时的容量为100,但实际我们可观测到最大容量为200。那么我们只需要在上一次增广路所经过的路径减去minzg,同时在反方向增加容量minzg,这样就可找到第二条增广路。经...

2019-08-10 17:02:58 284

原创 STL之unique()函数

看别人写的主席数看不懂,连数组去重函数都不知道,辣鸡的留下了

2019-08-04 16:36:20 147

原创 日常收纳

1.如果一个数各位数之和是3的倍数,则这个数一定是3的倍数证明:∵abcd=1000a+100b+10c+d=999a+99b+9c+a+b+c+d因为999可被3整除,99能被3整除,9能被3整除所以a+b+c+d能被3整除的话abcd就能被3整除题目链接:51Nod_1068 Bash游戏V32.如果 1 <= b < a ,a没有2或5的质因数,且a,b互质,...

2019-08-04 16:16:34 2005

原创 数码游戏

今天状态不好,应该是没睡醒,先简写记录大致思路,具体细节过两天再补。数码游戏即从左边网格布局通过0的上下左右移动交换,最终变为右边网格的状态,一般询问是否可达。对于N*M的矩阵。我们只需要考虑列数的奇偶性即可。当M为奇数时,逆序对数必须为偶数才可达;当M为偶数时,逆序对数必须与0所在位置保持相同的奇偶性。例题:HDU6620 Just an Old Puzzle题目...

2019-08-02 17:27:24 799

原创 归并排序-逆序数对

暂时没时间写过程,先附上代码。#include <iostream>using namespace std;int ans=0;void merge(int p[],int l,int mid,int r){ int t[r-l+1]; int p1=l,p2=mid+1; int i=0; while(p1<=mid&&am...

2019-08-02 16:46:02 106

原创 Lucas定理

简介Lucas定理用于解决数据较大时的组合数学问题。其中C(n,m)mod p中的模数p为素数。公式C(n,m)%p=C(n/p,m/p)*C(n%p,m%p)%p 。就是不断递归求C(n%p,m%p)%p ,每次更新n=n/p,m=m/p。C(n,m)%p=(n!/m!*(n-m)!),这里的除法需要转换为乘法逆元来计算。算法实现逆元的计算这里用的是费马小定理算快速幂,也...

2019-08-01 12:55:56 214

原创 浅谈线段树

概念线段树是一棵二叉搜索树,主要用于数组区间查询,更改等;他需要储存区间的左右端点,以及题目所需特定功能。建树(借用一下大佬的图)由图可知,每个点左半区间为[l,mid],[mid+1,r];每个节点左子树为2*k,右子树为2*k+1这里建树的结构体只包含左右端点l,r,此节点的值w,和更新信息fstruct node{ int l,r,w,f;}tr...

2019-07-30 16:40:39 111

原创 威尔逊定理

如果p为素数,则以HDU 2973为例。题意给出正整数n,求分析1.如果p为素数:,,所以有(此处的p为3k+7,下同)2.如果说p为合数,则p=ab,(p-1)!必定包含a和b,所以所以只需要统计k从1-k一共有多少个素数就行。代码较简单就不附了。...

2019-07-30 14:14:47 137

原创 最小生成树(kruskal算法)

好久没写了,简单一下回顾回顾。kruskal算法适合简单的最小生成树,利用并查集的思想将点不断加入到父节点中。算法实现:#include<iostream>#include<algorithm>#include<cstring>using namespace std;int fat[107];struct node//结构体记录一对节点及...

2019-07-28 16:22:03 136

原创 最短路径(Dijkstra算法)

简介Dijkstra算法实际上就是不断的贪心,每一次都通过中转点更新其他点到所求点的位置,即每一次都找到最优解。算法详解(1)初始时,S只包含起点s;U包含除s外的其他顶点,且U中顶点的距离为起点s到该顶点的距离。(2)每一次从U中选出距离源点最近的顶点k,并将顶点k加入到S中;同时,从U中移除顶点k。(3)通过把顶点K作为中转点,更新U中各个顶点到起点s的距离。...

2019-07-28 15:12:21 294

原创 0-1背包,完全背包,多重背包

避免遗忘,对这三种问题简单写下思路,没有具体分析。0-1背包:解决选择物品放入背包价值最大化,各种物品只有一件v=V....0(必须满足f[i][j]的值来自于f[i-1][j-w[i]],如果从小到大顺序,f[i-1]就变为了f[i])for(int i=1;i<=n;i++)//顺序,取自dp[j]而不是dpj[j-1]{ for(int j=v;j&gt...

2019-07-27 15:49:14 180

原创 乘法逆元

介绍:如果,且gcd(x,y)=1,(a与p互质),则称a关于模p的乘法逆元为x。乘法逆元可解决(b/a)%p的问题。由同余定理知a*b%m=( (a%m) * (b%m) )%m则有 a*x*(b/a)%m=( (a*x%m) * ((b/a)%m) )%m=(b/a)%m (x是a的逆元所以a*x%m=1)故 a*x*(b/a)%m=x*b%m=(b/a)%m所以原式子...

2019-07-25 14:42:31 102

原创 欧几里得算法(最大公约数、最小公倍数,拓展欧几里得算法)

这三种算法都是由欧几里得算法得出的。欧几里得算法又称为辗转相除法。1.最大公约数:GCD(x,y)=GCD(y,x mod y),x>y算法实现:int gcd(int x,int y){ if(y==0) return x; return gcd(y,x%y);}2.最小公倍数定理:x、y 两个数的最小公倍数乘以它们的最大公约数...

2019-07-25 11:19:29 1880

原创 同余定理

公式:1.(a+b)%m=(a%m+b%m)%m2.(a*b)%m=((a%m)*(b%m))%m

2019-07-24 11:02:38 235

原创 快速幂+快速乘法+矩阵快速幂模版

快速幂算法可迅速求出x^n。其主要理论依据如下: 1,当n为偶数时,x^n可以转为x^2的n/2次方。 2,当n为奇数时,x^n可以转为x^2的n/2次方,再乘以n。typedef long long ll;ll mod=maxn;ll mod_pow(ll x,ll n){ ll res=1; while(n>0) ...

2019-07-24 10:56:05 161

原创 素数线性筛——欧拉Euler筛

时间复杂度O(n)prime[]数组中的素数是递增的,当i能整除prime[j],那么i*prime[j+1]这个合数肯定被prime[j]乘以某个数筛掉。因为i中含有prime[j],prime[j]比prime[j+1]小,即i=k*prime[j],那么i*prime[j+1]=(k*prime[j])*prime[j+1]=k’*prime[j],接下去的素数同理。所以不用筛下去了。...

2019-07-24 10:20:14 366

原创 2019 Multi-University Training Contest 1 —— Operation(贪心+区间线性基)

2019HDU多校第一场B题目链接题意给你一个序列,有两种操作:1.求出区间[l,r]的异或最大值;2.在序列后加一个x。思路求异或和的最大值,用线性基来做,关于线性基的定义和常用函数,见我的博客。此题用贪心+线性基来做,和传统的线性基相比,这里需要维护区间,以及数的位置,所以我们用两个二维数组来表示。v[i][j]代表第i个数为右边界时的线段基,j总是从高位开始更...

2019-07-23 17:17:46 102

原创 浅谈线性基

当给出多个数据,求异或时,通常会使用线性基进行处理。线性基是什么?对于原数组,我们试图用最少个数作为基础,用这些数之间的异或就可以表示子集合的异或和,而这些数即基础,称为线性基。这种特殊的基通常是由32位数字或64位数字构成。具体多少位取决于题目中所给数字集合中二进制下最高位位数。例如int范围需要32位线性基,而long long范围需要64位基解决。------------...

2019-07-23 14:04:19 169

原创 2019 Multi-UniversityTrainingContest1 DVacation 思维

题目链接先简化题目,假设只有两辆车,有两种情况:(1)不论那辆车快,后车追不上,所以时间是后车距离终点距离/后车速度;(2)后车能追上,这样前车限制了后车速度,所以后车的时间是前车的时间+前车车身长度/前车速度(前车过线了只是车头过线,车身还没过线)。所以只需要枚举N+1辆车最长时间即可。//#include<bits/stdc++.h>#include<...

2019-07-23 11:23:31 96

原创 测试

测试

2019-04-02 16:54:49 52

CUMT校园网自动登录.rar

可以自动登录中国矿业大学校园网,解决每次都需要登录校园网认证的麻烦,

2020-04-24

集装箱_0.1.8_chrome.zzzmh.cn.crx

chrome插件“集装箱”,可免费访问Google,Google学术,Google Maps等。 chrome插件“集装箱”,可免费访问Google,Google学术,Google Maps等。

2020-03-07

空空如也

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

TA关注的人

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