08 2021 档案
摘要:
题目【拆点】【分层图】【最短路】 思路 拆点: 将一个状态 拆为 k+1 个状态 原来dijkstra(dist, j) 现在拆成k+1个状态, 状态变为(dist, j, cnt) cnt为当前已免费使用的次数 代码(dijkstra + 拆点) #include <bits/stdc++.h>
阅读全文
![[JLOI2011]飞行路线](https://img2020.cnblogs.com/blog/2413091/202108/2413091-20210824222136221-1506172350.png)
摘要:
题目【逆序对应用】 思路 首先,什么状态是目标状态 即(ai-bi)^2 最小的状态=ai^2+bi^2-2aibi ai^2与bi^2不变, 主要要求sum(aibi)最大 可以证明,第二列的大小顺序与第一列保持一致最大 即aibi差距最小最大 令x[sx[i]] = sx[i] x的逆序对即为需
阅读全文
![[NOIP2013 提高组] 火柴排队](https://img2020.cnblogs.com/blog/2413091/202108/2413091-20210824221721546-1222349401.png)
摘要:
题目 【多路归并】 思路 多路合并的思想 每个函数为一路,每一路从1...开始单调递增 维护指针数组 维护小根堆,每次取最小的元素,并修改指针 代码 #include <bits/stdc++.h> using namespace std; typedef long long LL; const i
阅读全文

摘要:
题目【带权并查集】 思路 在每次合并的时候,只要更新合并前队头到目前队头的距离就可以了 之后其它的就可以利用它来算出自己到队头的距离。 对于原来的队头,它到队头的距离为0,当将它所在的队列移到另一个队列后面时,它到队头的距离就是排在它前面的飞船数,也就是合并前的num[pa]。 代码 #includ
阅读全文
![[NOI2002] 银河英雄传说](https://img2020.cnblogs.com/blog/2413091/202108/2413091-20210818220128398-1397650686.png)
摘要:
题目 【并查集】 思路 >=k即符合条件的边才给它合并,这样的话这个连通块中所有的点都符合条件啦 每次询问都重新合并一次的话会超时 用到两个快排,把每条边从大到小排,再把询问的k从大到小排 先做最大的k,把符合条件的点合并后,那么下一个k肯定比这个小啦 那么符合大k的点肯定符合小k的点啦,那么就不用
阅读全文
![[USACO18JAN]MooTube G](https://img2020.cnblogs.com/blog/2413091/202108/2413091-20210821164623047-1679106704.png)
摘要:
题目描述 城现有两座监狱,一共关押着罪犯。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 的罪犯被关押在同一监狱,他们俩之间会发生摩擦
阅读全文

摘要:
传统关系数据库的瓶颈 在互联网领域,MySQL成为了绝对的王者,毫不夸张的说,MySQL为互联网的发展做出了卓越的贡献。大部分的MySQL都应该是IO密集型的,大数据量高并发环境下的MySQL应用开发越来越复杂,也越来越具有技术挑战性。分表分库的规则把握都是需要经验的。虽然有像淘宝这样技术实力强大的
阅读全文

摘要:
协程(goroutine) 我们称之为 Go 协程是因为现有的术语 — 线程、协程、进程等等 — 无法准确传达它的含义。 Go 协程具有简单的模型:它是与其它 Go 协程并发运行在同一地址空间的函数。它是轻量级的, 所有消耗几乎就只有栈空间的分配。而且栈最开始是非常小的,所以它们很廉价, 仅在需要时
阅读全文

摘要:
题目描述 我们常常会说这样的话:“X 年是自 Y 年以来降雨量最多的”。它的含义是 X 年的降雨量不超过 Y 年,且对于任意 Y<Z<X,Z 年的降雨量严格小于 X 年。例如 2002,2003,2004 和 2005 年的降雨量分别为 4920,5901,2832 和 3890,则可以说“2005
阅读全文
![P2471 [SCOI2007]降雨量](https://img2020.cnblogs.com/blog/2413091/202108/2413091-20210815222459369-1688789086.png)
摘要:
问题分析: 八数码问题是一个经典的BFS问题,把棋局看成一个状态图,共有9!种状态。从初始棋局开始,每次转移到下个状态,直到目标棋局为止。 仔细分析可知,八数码的关键是判重,如果不去除重复状态,程序会产生很多无效状态,从而复杂度大大增加 解决算法: BFS + Cantor 案例分析: (0表示空格
阅读全文

摘要:
简介 我使用Qt 和C++ 多线程库实现的简单web 服务器,能解析HTTP 请求报文并构造相应的响应报文, 具有一定的异常处理功能。 开发环境 操作系统: Windows 10 Pro 64-bit 编译器: MinGW 7.3.0 32-bit 开发平台: Qt 5.12.9 具备功能 可配置W
阅读全文

摘要:
摘要: 本次实验尝试通过将人脸的图像转化为特征向量,然后训练数据集,通过计算欧拉距离找到与待测人脸最接近的k个人脸,这样对人脸进行归类识别实现一个基于KNN 的人脸识别算法,来达到人脸识别的入门级学习。 算法简介: KNN算法假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其 k
阅读全文

摘要:
Overview 通过一系列的project,来搭建起来一个基于raft 一致性算法的分布式键值存储 project1: 构建一个独立的 kv server(只有1个node) project2: 基于raft算法实现分布式键值服务器 -2a:实现基本的raft一致性算法,三个部分-a:Leader
阅读全文

摘要:
一)基础算法 split vector<string> split(string& s, char c) { vector<string> res; int i = 0; while (i<s.size() && s[i] == c) i++; if (i >= s.size()) return {
阅读全文
