iOS
ABC 366 题解
AtCoder Beginner Contest 366 题解: (Problem hspace{2mm} A - Election hspace{2mm} 2) 题目链接 opinion: 很显然,当一个人的票数大于等于 (lceil frac{n}{2} rceil) 时此人一定当选。(或可理解为投票结果一定固定。) 依次判断两人即可。 code: (newline) (newlin
UOJ #712. 【北大集训2021】简单数据结构
Description 你有一个长度为 (n) 的序列 (a),下面你要进行 (q) 次修改或询问。 给定 (v),将所有 (a_i) 变为 (min(a_i, v))。 将所有 (a_i) 变为 (a_i + i)。 给定 (l, r),询问 (sum_{i=l}^r a_i)。 (1leq n,qleq 2times 10^5,0leq a_i,v_ileq 10^{12})。 Solut
4.makefile自动推导目标代码配置和伪目标clean清理
4.makefile自动推导目标代码配置和伪目标clean清理 4.1 make和makefile makefile文件主要包含了5部分内容: 显式规则。说明了如何生成一个或多个目标文件。由makefile文件的创作者指出,包括要生成的文件、文件的依赖文件、生成的命令。 隐式规则。由于make有自动推导的功能,所以隐式的规则可以比较粗糙地简略书写makefile文件,这是由make所支持的。
朋友吐槽我为什么这么傻不在源生成器中用string.GetHashCode, 而要用一个不够优化的hash方法
明明有更好的hash方法 有位朋友对我吐槽前几天我列举的在源生成器的生成db映射实体的优化点 提前生成部分 hashcode 进行比较 所示代码 这里为什么不用 string.GetHashCode, 而要用 SlowNonRandomizedHash(name), 有更好的方法不用,真是傻 当时俺也只能 囧 着脸给ta解释 string.GetHashCode真的没办法用, 可惜口头几句解释再
AtCoder Beginner Contest 366
A - Election 2 (abc366 A) 题目大意 (n)张票,目前投了 (t)给高桥, (a) 给青木。 问剩余票随便分配,是否都是一个结局。 解题思路 考虑最好情况,即剩下票全部投给当前票少的,看看能不能超过对方,会则结局会变,否则不会变。 神奇的代码 B - Vertical Writing (abc366 B) 题目大意 给定(n)个字符串,把这 (n)个字符串顺时
Username/Password Authentication
Username/Password Authentication One of the most common ways to authenticate a user is by validating a username and password. Spring Security provides comprehensive support for authenticating with a
4.3.4 直线拟合的实现
4.3.4 直线拟合的实现 参考教程: gaoxiang12/slam_in_autonomous_driving: 《自动驾驶中的SLAM技术》对应开源代码 (github.com) Eigen打印输出_打印eigen矩阵-CSDN博客 1. 编写 Line fitting 1.1 创建文件夹 通过终端创建一个名为Line_fitting的文件夹以保存我们的VSCode项目,在/Line_fi
CF844D Boxes And Balls
题意 有 (n) 个箱子、(n) 种颜色的球,第 (i) 种颜色的球有 (w_i) 个,最开始时都在第 (1) 个箱子中。 每次可以从有球的一个箱子中拿出所有球,并随意分割为 2 部分或 3 部分,并放入箱子,需要的代价为球的总数。 问将每种颜色的球都放在对应的一个箱子中需要的代价最少是多少。 思路 我们把拆分的过程倒过来想,这个过程就像哈夫曼树的合并操作。 如果优先队列中有 3 个元素,必定选择
P3834 【模板】可持久化线段树 2
原题链接 题解 总体上来讲,就是二分 (x) 查询 插入 (l-1) 时有多少数小于等于 (x),查询插入 (r) 时有多少数小于等于 (x) 然后减一减,看看是不是 小于等于 (k-1) 我认为目前没有比ai讲的更清楚的了,请点击这里 code
Hyper-V环境下直接安装群晖系统详解
操作步骤及注意事项 一、前期准备 1. 软件需求 确保操作系统为Windows 10/11 企业版多会话或Windows Server 2016及以上版本。 检查并更新系统至最新版本,确保所有必要的补丁都已安装。 2. 硬件需求 确认主板支持VT-x/SVM/VT-d/IOMMU/SR-IOV等虚拟化技术。 准备至少一块SATA/SAS硬盘,用于黑群晖系统。 注意事项: 在安装操作系统之
P9750 [CSP-J 2023] 一元二次方程题目总结
根据题面,我们将分为多种情况讨论: 若a为负数,那么将a,b,c全部取反 首先求出data=b^2-4*a*c; 1,data<=0 cout<<”NO”; 否则 带入求跟公式:-b/2a +(-)sqrt(data) 注意::gcd(a,b)有可能为负数,此处应用abs(x)取绝对值 若开根号data为有理数{ -b为2*a的倍数则直接输出b 否则输出b/gcd(b,2*a)
2.g++分步编译演示从源码到执行程序的四步
2.g++分步编译演示从源码到执行程序的四步 2.1 gcc的工作流程 gcc编译器将c源文件到生成一个可执行程序,中间一共经历了四个步骤: 四个步骤并不是gcc独立完成的,而是在内部调用了其他工具,从而完成了整个工作流程,其中编译最耗时,因为要逐行检查语法。 gcc的工作流程: 1.预处理: cpp预处理器,去掉注释,展开头文件,宏替换 gcc -E test.c -o test.i 2.编
CF 773 (Div. 1) D. Two Arrays 双指针 容斥
传送门 共有(n)个向量,找两个代价和最小且不存在任意元素相同的两个向量。 本题特殊之处在于每个向量元素个数之多为(5)。 本题一个妙手是转换成双指针模型,按价值排序后,对于当前可行区间(l,r)随着右端点的增大,左端点只有变小才有可能更新答案。 接下来考虑如何判断(1-l)之中如何存在向量与(a_r)不冲突。 考虑容斥,对于(a_r)的(2^m)的子集查询在其中出现次数(c),大小为(w),贡献
F - Perfect Matching on a Tree
原题链接 分析 考虑两个点对 ((a,b),(x,y)) 如果点对 ((a,b)) 的路径与点对 ((x,y)) 的路径不存在共同的点,那么此时我们交换 (a,x),则有点对 ((x,b),(a,y)) 此时两个点对的路径相交,且 (dis(x,b)+dis(a,y)gt dis(a,b)+dis(x,y)) 所以,最后的答案一定是一条路径与其他所有路径都有交点 此时猜想,如果树上每条路径与其他路
如何避免同一时间接口多次重复请求
问题 当在项目中遇到一个场景,有一个tab页面,tab的切换调用的都是一个接口,只是传入的参数不同,这个时候接口返回很慢,短时间内多次切换tab栏,可能会造成数据渲染错误,页面多次刷新等问题 解决思路 在请求接口时,如果上个接口没有请求介绍,就取消掉上次接口的调用。 实现 接口请求是通过axios发送HTTP请求,可以通过axios的取消令牌来实现这一要求。 在使用中可以通过try,catch来
1.动手编写第一个makefile编译c++多文件项目
1.动手编写第一个makefile编译c++多文件项目 1.1 ubuntu 开发环境安装 • apt-get update #更新安装源 • apt-get install g++ #安装gcc和c++的开发库 • apt-get install gdb #调试工具 • apt-get install make • apt-get install openssh-server #远程连接工具 •
linux系统磁盘管理
linux系统磁盘管理 硬盘命名 在设备名称的定义规则如下, 其他的分区可以以此类推 系统的第⼀块SCSI接⼝的硬盘名称为 /dev/sda 系统的第⼆块SCSI接⼝的硬盘名称为 /dev/sdb 系统中分区由数字编号表示, 1~4留给主分区使⽤和扩展分区, 逻辑分区从5开始 有些存放数据的设备并不是直接硬件对应的设备⽂件,⽽是通过软件⽣成的块设备⽂件,例如lvm和软raid设备⽂件。 GPT概
06.磁盘管理课后习题
06.磁盘管理课后习题 1.如何查看/etc/目录大小 2.如何查看磁盘使用分区情况 3.如何查看innode使用情况 4.如何查看磁盘block使用情况 5.如何查看分区使用格式 6.如何查看一个设备的UUID 7.请解释/etc/fstab中每段含义 8.一个ext4的文件分区,当使用touch test.file命令创建一个新文件是报错,报错的信息提示磁盘已满,但是采用
2024杭电多校第七场
1004 如果r2>2r1且树的直径>2r1,则逃跑方总能逃跑 否则攻击方肯定能一步步把其逼到叶子节点 1007 考虑比较裸的线段树优化dp,优化后dp[ a[i] ]为max(dp[ a[i]-k ],dp[ a[i]+k ])+1 这样的时间复杂度是O(q*n*log)的 再考虑怎么优化这个事情,其实决策点并没有一个范围这么大,而是[ a[i]-k,a[i] ]
G - AtCoder Office
G - AtCoder Office Problem Statement $N$ people work at the AtCoder office. The office keeps records of entries and exits, and there have been $M$ entries and exits since the records began. The $i$-th
CF1984G Magic Trick II 题解
前记 第一篇黑题题解。难调。好写。码量不大。 Description 给定一个大小为 (n) 的排列 (p),选择一个 (k),对 (p) 执行操作若干次使得 (p_i=i)。 每次操作有两个参数 (i,j) 表示将从 (p_i) 开始的连续 (k) 个数从 (p) 中取出,再插入此时 (p) 中第 (j-1) 和第 (j) 个数之间。 如,(p=[1,2,3,4,5]),(k) 取 (3),依次
AT_abc208_d 题解
题目传送门 做完这道题后感觉对 Floyd 的理解更深了。 根据题面要求,设 (f(k, i, j)) 表示从 (i) 到 (j) 的所有只经过 (1sim k) 的点的所有路径的最短距离。 很明显 (k) 那一维是阶段,因为它描述了从 (i) 到 (j) 路径中的不同点,而我们就是根据这一条件来划分集合,这也是为什么 (k) 必须放在最外层循环。 所以状态转移方程为: [f(k, i, j) =
P1725 琪露诺 题解
题目传送门 思路 动态规划,单调队列 动态规划 观察题目,发现下标为 (i) 的点只能对 ([i + l, i + r]) 区间的点产生贡献。 设 (f_i) 为到达点 (i) 时的最大冻结指数。 易得状态转移方程式:(f_k leftarrow max(f_k, f_i+a_k),(k in [i + l, i + r]))。 若直接对该方程进行转移,时间复杂度是 (O(n^2)) 的,会爆。虽
【数据结构】【模板】哈夫曼树
哈夫曼树 定义 带权路径长度:结点的权值乘以结点到跟的距离。 树上所有结点带权路径长度之和最小的二叉树称为哈夫曼树。 性质 哈夫曼是满二叉树。 来自维基百科: 原序列构成哈夫曼树的所有叶子结点。 离根结点越近,点权越大。 非叶子结点的点权之和就是所有叶子结点的带权路径之和。 哈夫曼树的叶子结点数量为 (n),则总结点数为 (2n - 1)。 建树 构建圆点和方点,圆点代表权值,方点用来建树。