自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 k8s security

kubernetes security

2022-07-28 20:25:31 366

转载 DPDK介绍

什么是dpdkDPDK是INTEL公司开发的一款高性能的网络驱动组件,旨在为数据面应用程序提供一个简单方便的,完整的,快速的数据包处理解决方案,主要技术有用户态、轮询取代中断、零拷贝、网卡RSS、访存DirectIO等。内核协议栈 vs dpdk内核收包的两种方式中断模式网卡收到包提醒CPU发生中断处理包轮询模式CPU主动持续检查网卡是否有数据包到来内核协议栈收包流程 TX/RX rings ● Circular queue ...

2022-04-21 22:41:08 30829

原创 编译和链接

1、编译和链接1.1 预编译 (-E命令)1.1.1 gcc -E hello.c -o hello.i 或者cpp hello.c > hello.i1.2 编译1.2.1 gcc -S hello.i -o hello.s1.3 汇编1.3.1 gcc -c hello.s -o hello.o 或者 as hello.s -o hello.o预编译、编译、汇编可以归结为一个过程:gcc -c hello.c -o hello.o1.4 链接1.4.1 模块

2020-09-17 19:36:36 94

转载 计算几何的一些模板

求凸包的Graham模板:#include#include#include#includeusing namespace std;struct node{ int x,y;} a[105],p[105];int top,n;double cross(node p0,node p1,node p2)//计算叉乘,注意p0,p1,p2的位置,这个决定了方向{ ret

2017-10-30 09:05:03 217

原创 hdu3709 枚举

#include#define ll long longusing namespace std;ll m,n;ll dp[20][2005][20];int digit[20];ll dfs(int pos,int state,int pivot,bool limit){ if(pos<=0)return state==0; if(state<0)return 0;

2017-10-26 09:09:37 148

原创 poj3252注意前导0的影响

#include#define ll long longusing namespace std;int n,m;int dp[50][50];//dp[i][j]表示枚举到第i位,前面0的个数和1的个数差,为了防止中间出现dp[i][j]为负数但有可能是合法结果,此处hash一下,dp[i][j]+32//最后判断结果是否>=32判断该方案是否合法int digit[50];int

2017-10-26 09:07:02 181

原创 hdu4734

int dp[20][10005];int digit[20];int getvalue(int a){ int i=0; int ans=0; while(a){ ans=ans+((a%10)*(1<<i)); i++; a/=10; } return ans;}int dfs(int pos,

2017-10-26 09:05:19 308

原创 数位dp 模板 poj 2089

#include#define ll long longusing namespace std;int n;int m;int dp[20][10];int a[20];int dfs(int pos,int pre,int state,bool limit){ if(pos==-1)return 1; if(!limit&&dp[pos][state]!=-1)r

2017-10-26 09:04:33 322

转载 树状数组模板

#include#include#include#include#define ll long long using namespace std;const int N = 5010;int bit[N];int n;void add(int i){ while (i <= n) { bit[i] += 1; i += (i&-i); }}int sum(i

2017-10-20 17:57:02 143

转载 区间修改,区间查询

//区间修改,区间查询#define _CRT_SECURE_NO_WARNINGS#include#include#include#include#include#define ll long longusing namespace std;const int maxn = 100005;struct node { ll sum; int lazy;}T[maxn<<

2017-10-20 17:56:06 393

转载 线段树 单点修改,区间修改

//单点修改,区间查询#define _CRT_SECURE_NO_WARNINGS#include#include#include#include#includeusing namespace std;const int maxn = 50005;int sum[maxn<<2];void push_up(int root){ sum[root] = sum[root

2017-10-20 17:55:18 249

转载 字典树模板

#include#include#includeusing namespace std;typedef struct Trie_node { int count;//统计单词前缀出现的次数 struct Trie_node*next[26];//指向各个子树的指针 bool exist;//标记该结点处是否构成单词}TrieNode,*Trie;TrieNode* crete

2017-10-20 17:53:00 149

原创 数论的模板

//欧拉筛#include#include#include#include#define ll long long using namespace std;const int maxn = 1000010;bool visited[maxn];vectorprime;//欧拉筛模板void isprime(){ for (int i = 2; i < maxn; i

2017-10-20 17:51:42 208

转载 RMQ 的ST表做法

//做法一:ST表查询#define _CRT_SECURE_NO_WARNINGS#include#include#includeusing namespace std;const int N = 100010;int maxsum[20][N], minsum[20][N]; //优化1void RMQ(int num) //预处理->O(nlogn){ for (i

2017-10-20 17:50:41 181

转载 kmp 模板

#include#include#include#includeusing namespace std;#define MAXN 1000005int Next[MAXN];char p[MAXN], s[MAXN];//p为模式串,s为原串 //next数组的求法void GetNext(char *p, int *next) { int pLen = str

2017-10-20 17:49:44 154

转载 LCA模板 Tarjan

#include#include#include#include#includeusing namespace std;const int maxn = 50005;int n, m, num,qnum, ans;int head[maxn], qhead[maxn], fa[maxn], dis[maxn], f[maxn][20], a[maxn][3];bool vis

2017-10-20 17:49:07 162

转载 spfa模板 hdu2544

//hdu2544#include#include#include#include#include#define INF 0x3f3f3f3fusing namespace std;const int maxn = 100010;struct edge { int to, w, next;}e[maxn];int head[maxn], dist[maxn], visit

2017-10-20 17:47:56 186

原创 快速幂模板

#include#include#include#include#include#define ll long longusing namespace std;ll M;const int maxn = 100;struct Matrix { int arr[maxn][maxn]; Matrix operator*(const Matrix &m)const { Mat

2017-10-20 17:46:44 120

转载 Tarjan求强连通分量 缩点

#includeusing namespace std;const int N=5005;const int M=100005;struct Edge{ int v,next;}edge[2*M];int head[N],low[N],dfn[N],belong[N],degree[N],sta[N];bool vis[N];int index,cnt,top,scc;

2017-10-17 21:47:53 256

转载 Dinic()模板

#include#include#include#include#includeusing namespace std;#define MAXFLOW 0x3f3f3f3fint G[300][300];//用邻接矩阵存储图bool visited[300];int n, m;//m为顶点数,从1~m,n为边数int Layer[300];//计算每个点的层数,从源点到汇

2017-10-14 11:00:35 153

转载 最小费用流模板

#define INFINITE 1 << 26#define MAX_NODE 1005#define MAX_EDGE_NUM 40005#includeusing namespace std;struct Edge{ int to; int vol; int cost; int next;};Edge gEdges[MAX_EDGE_NUM];

2017-10-14 10:44:40 149

转载 sgu194 无源汇带有下界的网络流

#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include #include #include #include #include #include #include #include #include #include using

2017-10-12 20:41:06 179

转载 poj2112 二分+网络流

3.5借助水流解决问题的网络流 二分图匹配一看到最小化最大值(或者最大化最小值),当然是二分搜索了。先将两点间最短路预处理出来,可以简单warshall_floyd搞定。接着构建网络流,从s到牛引一条容量1的边,从挤奶机到t引一条容量M的边,然后对最大路径二分,在二分图匹配建图的时候,牛到挤奶机间距离大于limit的边忽略掉。二分判断条件是,最大流的流量是否等于牛量(南方人你能

2017-10-12 20:36:46 199

转载 poj3436 网络流

#include #include #include #include using namespace std;const int INF = 0x3f3f3f3f;int g[105][15], p, n, q[55];int G[105][105], G_copy[105][105], layer[105], vis[105];struct node{ int

2017-10-12 20:34:17 178

转载 poj1637 判断一个混合图是否存在欧拉回路

#include#include#include#include#include#define V 220using namespace std;struct node{ int to; int c; int f; int next;}a[3000];int head[V];int tot,vi[V],vo[V];int leve[V];v

2017-10-12 15:15:18 273

转载 hdu1878 判断一个无向图是否存在欧拉回路模板

#include #include#includeusing namespace std;const int N=1001;int n,m,fa[N];int degree[N],sum;void init(){ for(int i=0;i<N;i++) fa[i]=i;}int find(int x){ if(x==fa[x])ret

2017-10-11 23:55:06 1271

转载 二分图的最大匹配模板

//二分图的最大匹配 poj1469#define _CRT_SECURE_NO_WARNINGS#include#include#include#includeusing namespace std;const int V = 500;const int E = 1000;vectorg[V];bool flag, vis[V];int match[V];int p,

2017-10-11 11:06:04 207

转载 判断一个图是不是二分图

判断一个图是否是二分图#include#include#include#includeusing namespace std;const int N = 50005;int col[N];vectorV[N];bool BFS(int start){ col[start] = 1; queueq; q.push(start); while (!q.empty())

2017-10-10 21:50:56 1141

转载 hdu5361 最短路+并查集

#define _CRT_SECURE_NO_WARNINGS#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include #include #include using namespace std;typedef long long ll;t

2017-10-10 20:00:35 193

转载 一个智障的求逆序对的问题

#include#include#include#include#define ll long long using namespace std;const int N = 5010;int bit[N];int n;void add(int i){ while (i <= n) { bit[i] += 1; i += (i&-i); }}int sum(i

2017-09-16 21:33:28 133

转载 hdu5289ST表+二分

#include #include #include #include #include #include #include #include #define mod 1000000007using namespace std;int t,n,k;int a[100100],minn[100010][20],maxn[100010][20],mid;long long an

2017-09-16 15:52:23 201

转载 hdu5289单调队列

#include #include #include #include using namespace std ;#define LL __int64deque deq1 , deq2 ;//单调队列,deq1最大值,deq2最小值LL a[100010] ;int main() { int t , n , i , j ; LL k , ans ; sc

2017-09-16 15:50:38 173

转载 线段树求某值之前或之后与其差值不小于k的最近位置

#include #include #include #include using namespace std;#define maxn 100000 + 10#define lson L, mid, rt<<1#define rson mid+1, R, rt<<1|1int n, k;int a[maxn];int ans;struct Node{ int

2017-09-16 15:48:17 197

转载 区间修改区间查询 lazy标记

//区间修改,区间查询#define _CRT_SECURE_NO_WARNINGS#include#include#include#include#include#define ll long longusing namespace std;const int maxn = 100005;struct node { ll sum; int lazy;}T[maxn<<

2017-09-14 19:24:55 285

原创 hdu1166 单点修改区间查询

#define _CRT_SECURE_NO_WARNINGS#include#include#include#include#includeusing namespace std;const int maxn = 50005;int sum[maxn<<2];void push_up(int root){ sum[root] = sum[root << 1] + sum

2017-09-13 21:33:28 181

转载 离散化+线段树 poj2528

//离散化+线段树#include #include #include #define CLR(A) memset(A,0,sizeof(A))using namespace std;const int N = 20005;int col[N * 4], vis[N];int le[N], ri[N], c[N * 2], ans;void pushdown(int p)

2017-09-13 17:45:53 184

转载 poj1741 树分治

//poj1741/*给一棵边带权树,问两点之间的距离小于等于K的点对有多少个。将无根树转化成有根树进行观察。满足条件的点对有两种情况:两个点的路径横跨树根,两个点位于同一颗子树中。如果我们已经知道了此时所有点到根的距离a[i],a[x] + a[y] <= k的(x, y)对数就是结果,这个可以通过排序之后O(n)的复杂度求出。然后根据分治的思想,分别对所有的儿子求一遍即可,但是这会出

2017-09-07 21:34:43 224

转载 codeforces 448C 分治

#include#include#define INF 0x3f3f3fusing namespace std;const int maxn = 5005;int h[maxn];int solve(int l, int r){ int Min = INF; int sum, flag = l; for (int i = l; i <=r; i++) { Min = m

2017-09-06 19:28:46 289

转载 poj 3714 分治加剪枝

//A#define _CRT_SECURE_NO_WARNINGS#include #include #include #includeusing namespace std;const double MAX_DIST = 1e100;const int MAXN = 200010;struct Point { double x, y; bool flag;};

2017-09-04 13:05:37 189

转载 折半搜索 poj3977

// B subset#include#include#include#include#include#includeusing namespace std;#define ll long long #define MAX 1000000000000020ll ll__absolute(ll x){ if (x < 0)return -x; return x;}

2017-09-01 10:17:22 195

空空如也

空空如也

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

TA关注的人

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