- 博客(34)
- 收藏
- 关注
原创 Linux eBPF内核源码sample/bpf全网最细解析(一)
本文重点讲解samples/bpf/sockex1_kern.c和samples/bpf/sockex1_user.c这两个文件,并剖析了它们调用的其他外部函数。
2022-09-28 01:45:01 3389 1
原创 CMake学习-01-basic
01-basiccmake学习项目github地址A-hello-cmakeCMakelist.txt存放了所有的cmake命令,makefile是由CMakelist.txt生成的CMakelist.txt里面一般包含这几个基本的命令cmake_minimum_required(VERSION 3.5) #指定了运行此文件所需要的最小cmake版本project (hello_cmake) #指定项目名add_executable(hello_cmake main.cpp) #从指定
2022-03-06 22:19:48 498
原创 Docker pull源码分析
Docker pull源码分析报告(一)Docker架构概述Docker采用了典型的C/S架构,由Docker Client和Docker Daemon组成。其中Daemon分为Server和Engine两大部分,Server用于接收Client发送过来的请求,并经由Route路由至相应的Handler中,再通过Engine管理该请求对应的Docker容器。Docker架构如下图所示。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K72tRDGW-16361255397
2021-11-05 23:19:39 933
原创 codeforces 1417C k-Amazing Numbers(思维题)
题目提交地址题目大意 给你n(n≤3∗105)n(n\le3*10^5)n(n≤3∗105)个数,每个数都≤n\le n≤n, 定义k-Amazing Numbers为大小为kkk的滑窗遍历数组时,每次滑窗内的公共最小值,然后让输出k从1到n的所有k-Amazing Numbers分析过程 这题的数字范围≤n\le n≤n,因此我们可以考虑从这里入手,枚举覆盖每
2020-10-04 22:57:58 291
原创 NIM博弈&&SG函数(HDU1848/HDU1524)
概述先放两道模板题链接HDU1848HDU1524这篇博客针对满足如下情形的博弈展开A、B交替进行某种游戏规定的操作,每操作一次,选手可以在有限的操作(操作必须合法)集合中任选一种对于游戏的任何一种可能的局面,合法的操作集合只取决于这个局面本身,不取决于其它因素(跟选手,以前的所有操作无关)如果当前选手无法进行合法的操作,则为负SG函数一个经典的拿石子的情景有一堆大小为nnn的石子,现在双方开始轮流拿石子,每一次可以拿走位于集合{1,2,3}\{1,2,3\}{1,2,3}中的
2020-09-14 22:02:46 194
原创 两年后重温快排(写法优化/思路启发)
引言 今天登了一下几乎搁置了一两年的洛谷账号,发现自己有一个80分的提交记录,是当年一开始学快排的时候交的模板题,卡在最后一个TLE的点。估计当时自己也忘了去优化AC了(也可能是因为懒 ) 今天看到了,就想着去优化一下那份代码,正好重温一下这个经典算法~~~本文主要写了一些实现时候的细节优化以及关于快排思路在其他情景上的应用。 &
2020-08-14 15:03:22 263
原创 codeforces div2 D题 Unmerge(01背包变形)
题目提交地址题目大意 两个长度为nnn的无序数组a[],b[]a[], b[]a[],b[],经过类似于归并排序的归并过程合成了一个长度为2n2n2n的数组p[]p[]p[]。现在给出数组p[]p[]p[],问其是否是由两个长度为nnn的数组合并而来的。分析过程 从后往前考虑数组p[]p[]p[],先取一个当中的最大值,设为xxx,根据合
2020-08-06 18:02:58 214
原创 2020 PAT甲级春季考试解题报告(满分)
前言 刷了不到20道真题就去考PAT了(勇士精神 )。话说13点30分对于午觉党来说真的不太友好,很容易犯食困。。。题解第一题给你一个日期字符串,判断所有后缀字符串对应的数字是否是素数。暴力模拟一下即可。#include<bits/stdc++.h>using namespace std;typedef long long ll;ll d[20], cnt = 0;bool ans[20];
2020-07-25 17:09:54 5234 7
原创 PAT1095 Cars on Campus (30分)
题目大意 模拟一下停车场的车辆进出的情况。分析过程 好久没水过博客了。 用map存一下车牌号到车辆id的映射,然后再来一个map可以反向映射回去。然后就是建立in/out数组,最后按时间排序,双指针模拟一下车辆的进出配对情况,最后计算的时候利用差分的思想,最后前缀和一下然后可以得到每个时刻的车辆数;cnt数组用于统计每辆车停留的时间。AC代码#include.
2020-07-20 23:56:30 189
原创 codeforces #628 div2 F题(DFS树/找环/独立集)
题目链接题目大意 输入一个由nnn个顶点和mmm条边组成的无向图,找一个长度≥n\ge \sqrt n≥n的环或者是顶点数为n\sqrt nn的独立集(独立集中任意两个点没有直接边)。分析过程 此题用DFSDFSDFS树求解,所谓DFSDFSDFS树就是将图进行DFSDFSDFS遍历之后导出的树,如下图所示。(粗线为树边,浅线为非树边
2020-06-17 00:43:27 319
原创 2020阿里巴巴算法岗实习生一面(面经)
缘起 一直想着要读研的,大学期间也没有朝就业方向发展,也没有投过公司。前段时间刚好有幸碰到一位阿里的学长给了一次内推机会,我就保证长见识的心态投了一份简历。笔试的时候状态奇差,感觉肯定挂了,就没有准备过面试…… 结果前天手机突然来了个浙江杭州的电话,还被500+人标记为骚扰电话,我以为是骗子就挂了,打了两次都没有接到…… &nbs
2020-06-13 17:01:31 1795
原创 D. Multiset(权值线段树/树状数组/二分)
题目大意 给你n(n≤106)n(n \le 10^6)n(n≤106)个正整数a(1≤a≤106)a(1\le a \le 10^6)a(1≤a≤106),然后有qqq次操作,插入一个数k(1≤k≤106)k(1\le k\le10^6)k(1≤k≤106)或者移除掉第kkk小的数。任意输出最后数组中剩下的其中一个数。分析过程Solution 1  .
2020-05-19 11:18:07 294
原创 K-periodic Garland(思维DP)(Codeforces Round #642 (Div. 3) E题)
题目链接题目大意 给你一个长度为n(n≤106)n(n \le 10^6)n(n≤106)010101串,每一次你可以使得其中一个位置的状态翻转,要求使得里面的每一个111之间的距离为kkk,问至少需要多少次操作?分析过程 这个DPDPDP还是挺好想的,发现自己的思路和标程不太一样,所以写篇博客记录一下。 &..
2020-05-16 10:38:31 362
原创 Orac and LCM(GCD/LCM/质因子分解/推导证明)Codeforces Round #641 (Div. 2) C题
题目大意 给n(n≤100000)n(n \le 100000)n(n≤100000)个数ai(ai≤200000)a_i(a_i \le 200000)ai(ai≤200000),求gcd({lcm({ai,aj})∣i<j})gcd(\{lcm(\{a_i,a_j\})|i<j\})gcd({lcm({ai,aj})∣i<j}).分析过程 &n.
2020-05-14 18:57:35 254
原创 Linux下静态库/动态库制作及gcc命令详解
(一)概述 一个C语言程序从编写完成到执行需要经历预处理(生成.i)->编译(生成.s)->汇编(生成.o)->链接(生成可执行文件)几个步骤,如下图所示。(二)gcc命令参数详解这里推荐一篇讲解的比较全面的博客——GCC常用参数详解。我们最常用的gcc编译选项主要有以下几个:(1) 无选项链接gcc test.o -o test将编译输出文件test.o链接成最终可执行文件test。
2020-05-11 18:53:12 239
原创 Shell脚本编程——利用jq解析json文件
问题背景 有一个关于疫情数据的json文件,现在需要统计其中Europe地区的确诊总人数解决方案 使用shell简单的进行一下数据处理就行了,在此之前,利用jq将数据精简为地区/确诊人数,方便使用shell进行数据处理。jq命令...
2020-05-03 01:05:55 1987
原创 Linux进程控制开发基础——Linux进程状态/fork()/waitpid()/wait()详解
第一部分 Linux进程概述 在Linux下进程被创建后可以有5种状态。关于Linux进程状态不再赘述,参考下面这2个博客链接即可Linux进程简介及五种状态Linux状态详解不过有一些值得补充的说明:很多操作系统教科书将正在CPU上执行的进程定义为RUNNING状态、而将可执行但是尚未被调度...
2020-05-01 12:53:41 809
原创 从进程级文件描述符到Linux内核VFS(虚拟文件系统)数据结构源码剖析
这学期学习《嵌入式系统开发》这门课,主要涉及到Linux相关的各种系统调用的学习,这是Linux操作系统系列博客的第一篇,主要记录和整理了一些Linux进程控制开发的基础知识。第一部分 Linux系统中的文件描述符(一)Linux下一切皆文件 &nbs...
2020-04-30 23:46:29 644
原创 VMware中桥接模式、NAT模式及仅主机模式详解(含桥接模式配置)
由于上《信息安全与密码学》的实验课,在VMware中安装了windows7的系统环境,并且需要与主机进行正常交互(要求双向ping通),于是写下这篇博客记录一下学习过程。 笔者环境:主机操作系统windos10,虚拟机VMware15.x,虚拟机操作系统windos7(x86)VMware提供的三种网络连接模式...
2020-04-20 20:05:31 1821
原创 关于AC自动机(含模板代码详细注释)
重新整理了一下之前学习AC自动机的知识,顺便写一篇博客记录一下。 AC自动机的前置知识为trie(字典树),这里不再赘述。 AC自动机专为解决多模匹...
2020-04-18 23:45:31 608
原创 Colored Sticks(字典树+并查集+欧拉通路)(POJ 2513)
题目大意 有若干根(≤250000)(\leq 250000)(≤250000)木棍,每根木棍的两端都有一个颜色(每个颜色用长度≤10\leq 10≤10的小写字母串表示),问是否能够将这些木棍拼接成一根木棍,且位于同一相交处的两个颜色是相同的?分析过程 &nbs...
2020-04-17 17:15:32 438
原创 Xenia and Colorful Gems(思维+二分/双指针)Codeforces Round #635 (Div. 2)
题目大意 有三个数组,分别从每个数组中挑一个数字形成x,y,zx,y,zx,y,z,问(x−y)2+(y−z)2+(z−x)2(x-y)^2+(y-z)^2+(z-x)^2(x−y)2+(y−z)2+(z−x)2的最小值为多少?分析过程 &...
2020-04-16 23:17:46 198
原创 Powered Addition(思维+贪心+位运算)Codeforces Round #633 (Div. 2)
题目大意 给出一个长度为n(n<=100000)n(n<=100000)n(n<=100000)的数组,在第iii秒时可以任意选出一些数使它们的值增加2i−12^{i-1}2i−1,问如果要使得该数组不递减至少需要多少秒?分析过程 &...
2020-04-13 12:36:28 239
原创 Dreamoon Likes Sequences(思维+计数) Codeforces Round #631 (Div. 2)
题目大意 给出两个数d,md,md,m,构造一个升序序列{ai}\{a_i\}{ai},使得按照题意所述方式构造的{bi}\{b_i\}{bi}也是升序,问构造方案数对mmm取模后的值。分析过程 这道题目需要先尝试构造出前几...
2020-04-10 21:11:58 200
原创 Eugene and an array(尺取法)Codeforces Round #632 (Div. 2)
题目大意 如果一个数组中不存在某个子数组的和等于000,则认为此数组为goodgoodgood。现给出一个长度为n(1<=n<=2⋅105)n(1<=n<=2·10^5)n(1<=n<=2⋅105)的数组,问其符合goodgoodgood的子数组个数是多少?分析过程&nbs...
2020-04-09 22:57:42 180
原创 Maximum White Subtree(树形DP+换根,codeforces #627 div3 F题)
题目大意 给一颗树,每个节点的颜色为黑色或白色,求包含节点vvv的所有连通子图中,白色节点数与黑色节点数的最大差值。分析过程 设dp[i]dp[i]dp[i]为包含节点iii所能获得的最大贡献,很显然,这个贡献就等于当把iii作...
2020-04-05 17:55:17 196
原创 Dreamoon Likes Coloring(构造+思维题) Codeforces Round #631 (Div. 2)
题目大意 给n(n<=100000)n(n<=100000)n(n<=100000)个待染色的格子,给mmm个lil_ili,对应mmm次染色过程(mmm种颜色),第iii次染色的区间范围为[pi,pi+li−1][p_i,p_i+l_i-1][pi,pi+li−1],其中,pip_ip...
2020-04-04 20:49:31 476
原创 Array Shrinking(区间DP)codeforces Educational Codeforces Round 83 (Rated for Div. 2)
题目大意 给一个长度为n(n<=500)n(n<=500)n(n<=500)的数组,每次可以把相邻的两个相同元素aia_iai和ai+1a_{i_+1}ai+1合并为ai+1a_i+1ai+1,问数组在若干次操作后可以取得的最小长度为多少?分析思路 ...
2020-04-03 01:12:35 996
原创 Codeforces Round #624 (Div. 3) F. Moving Points(树状数组+离散化)
题目大意 数轴上有nnn个点(2≤n≤2⋅1052\le n\le2·10^52≤n≤2⋅105),给出每个点的坐标 xi(1≤xi≤108x_i (1\le x_i\le10^8xi(1≤xi≤108)以及速度vi(−108≤vi≤108)v_i(-10^8\le v_i\le 10^8)vi(−108...
2020-02-27 16:48:26 260
原创 CTU Open Contest 2019 F题 Beer Marathon(思维题)
题目描述题目大意有n个点排成一排,给出了它们的位置坐标,现在需要将它们按照相同的间隔k重新排列,问所有点需要移动的距离之和的最小值是多少?分析过程通过观察,可以发现两个小结论:结论1 重新调整之后的排列至少有一个位置与调整之前原来的相应位置重合。可以用反证法证明: 设原序列...
2020-02-24 03:08:52 2974 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人