刷新
AT_abc352_d

看到题目后,第一反应便是暴力枚举确定 \(i\)。但是看到了 \(N \le 2 \times 10^5\),这种想法便不合适了。观察题目第二个条件,不难发现其实真正合法的方案很少。于是可以转变方向,枚举题目要求的排列集合。 想到这步,接下来就不难了。确定好原排列中被选的数后,需要求出它们的下标的最 ...

AT_abc352_e

题意 给定一个有 \(n\) 个点的图,初始没有任何边。接下来有 \(m\) 次操作,每次操作给定一个大小为 \(k\) 的集合 \(S\) 和一个权值 \(c\),并对所有 \(u,v \in S\) 并且 \(u < v\) 的点 \(u,v\) 连上一条边权为 \(c\) 的边。\(m\) 次 ...

LG10444

首先有一个显然的结论,即若可以分成超过 \(2\) 个序列,则一定可以分成 \(2\) 个序列。如样例中的第二组数据,可以直接分成 \(\{1,1,1,9 \}\) 和 \(\{8,0\}\)。严谨证明留给读者思考。 有了上面这个结论后,就转化为判断是否能够分成两个序列。注意到极差只与最大值与最小值 ...

AT_abc352_c

对于一个巨人 \(i\),当他不在最上面的时候,他能贡献的高度为 \(a_i\)(无论他具体在哪个位置,只要不在最上面)。当他在最上面的时候,他能贡献的高度为 \(b_i\),此时其他巨人能贡献的高度就如前文所述。于是就可以轮流让每个巨人在最上面,计算高度最大值即可。 代码如下: #include ...

LG10374

提供一种树状数组的做法。 对于每个操作,我们考虑求出它执行的次数。题目保证了对于操作 \(2\) 所执行的操作编号都比其自身编号小,换句话说,即每个操作的执行次数是由编号比它大的操作决定的。 有了这个性质后,不难发现可以倒着扫一遍每个操作。对于当前操作 \(i\),可以通过前面的处理得到其执行的次数 ...

LG10384

一道相当不错的概率题。 首先考虑种子中存在 \(\verb!aa!\) 的情况。显然,我们可以让每个不是 \(\verb!aa!\) 的种子都与这个 \(\verb!aa!\) 型的种子杂交,并检验杂交后的性状。若为 \(\verb!a!\),则一定为 \(\verb!Aa!\),否则可能是 \(\ ...

默认实参

一、指定默认参数 在函数的声明或者初始化的时候,调用函数的时候不需要提供全部的参数。 //带默认参数的函数 int fun(int a, int b = 10, int c = 20); a是普通参数,b和c是带有默认参数的参数。 二、调用方法 fun(5); //a = 5 b = 10 c = ...

net core jwt的基本原理和实现

博主头像 NET Core 中的 JWT(JSON Web Token)基本原理和实现主要涉及到身份验证和授权的过程。以下是对 JWT 原理和实现的简要概述: JWT 原理 JWT 是一种开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。这些信息 ...

Docker 部署Nginx

博主头像 1、运行容器 docker run --name nginx -d nginx 2、创建目录 mkdir /opt/sevnceWorkplace/docker/nginx mkdir /opt/sevnceWorkplace/docker/nginx/html mkdir /opt/sevnceW ...

Docker 部署Jenkins

博主头像 1、运行镜像 docker run --name=jenkins \ --restart=always \ --privileged=true \ -u root \ -p 8080:8080 \ -p 50000:50000 \ -v /home/docker/jenkins/jenkins_ho ...

APC挂靠

博主头像 5.APC挂靠 用户态apc 和上一课的内核apc几乎一致,唯一的变动就是这个 //插入当前线程 KeInitializeApc(pKapc, eThread, OriginalApcEnvironment, KernelAPCRoutineFunc, NULL, 0x4011d0, UserMod ...

HTML 19 - Text Links

A webpage can contain various links that take us directly to other web pages or resources and even specific parts of a given page. These links are kno ...

APC插入

博主头像 2.APC插入 介绍 WRK中的KeInsertQueueApc函数原型 BOOLEAN KeInsertQueueApc ( __inout PRKAPC Apc,//apc结构 __in_opt PVOID SystemArgument1,//参数1(可选) __in_opt PVOID Sys ...

LG10369

这是一道找规律题。 不妨从小情况入手。当 \(n=2\) 时,显然令 \(a=\{ 0,1 \}\) 是最优的,此时进行一次操作得到 \(2\),为最大的答案。这是最基础的情况,也就是对于 \(n\) 更大的情况,答案最多也只能是 \(2\)。接下来观察 \(\operatorname{mex}\) ...

内核APC执行过程

博主头像 3.内核APC执行过程 说明 未文档化但是导出,所以需要提前声明 具体看下面的代码中的struct.h KeInitializeApc参数 //初始化apc函数 VOID KeInitializeApc( __out PRKAPC Apc,//使用`PKAPC pKapc`初始化 __in PRKT ...

AT_abc347_e

题意 给定你一个长度为 \(n\) 且初始全部为 \(0\) 的序列 \(A\),以及一个空集 \(S\)。接下来有 \(T\) 次操作,每次给定一个 \(x\),若 \(x \in S\) 则将 \(x\) 删除,否则将 \(x\) 加入 \(S\)。在每次操作之后,对于 \(j=1,2,\cdo ...

LG10270

思路十分简单,但需要一定的转化,好题。 记 \(s_{i,j}\) 表示第 \(i\) 行的第 \(j\) 个字符。考虑任意一点 \((i,j)\),假设在此之前没有经过字母不同的路径,若 \(s_{i,j+1}\) 和 \(s_{i+1,j}\) 不同,则可以分别往这两个方向走,最长公共前缀也就固 ...

APC初始化

博主头像 1.APC初始化 R3APC插入 简述 线程出现等待的情况下sleep WaitForSingleObject线程的资源再利用 apc--异步过程调用本质上就是一个异步call,线程本身是一直走,直到出现等待。但是有的时候需要当线程的某一个函数执行完,产生一个通知,但是如果是采用等待的方式的话,那么 ...

线程

博主头像 3.线程 线程介绍 线程是需要上下文环境的 线程一定绑定在某个进程上的 内核线程只有一个堆栈(在内核中创建线程如果不指定进程的话,默认是绑定在system进程) R3中线程有2个堆栈,在R3进R0的时候会切换堆栈,这时候用的就不是R3的堆栈而是R0的(R0和R3的上下文环境) 线程没有cr3的概念, ...

<1···345···200>