摘要: https://codeforces.com/gym/105481 A 爱上字典 模拟。 #include <bits/stdc++.h> using namespace std; #define endl '\n' void solve() { string s; getline(cin, s); 阅读全文
posted @ 2025-01-28 23:01 clockleaf 阅读(64) 评论(0) 推荐(0)
摘要: 最短路径 单源最短路:已知起点,求到达其它点的最短路径 ​ 常用:Dijkstra算法、Bellman-Ford算法、SPFA算法 多源最短路:求任意两点之间的最短路径 ​ 常用:Floyd算法 上述算法介绍,推荐文章:http://t.csdnimg.cn/IuCsu Dijkstra(迪杰斯特拉 阅读全文
posted @ 2024-10-10 19:37 clockleaf 阅读(111) 评论(0) 推荐(0)
摘要: 又名函数式线段树。(这不重要) 一个数据结构,能访问到历史版本的数据,常用于可持久化和区间K大值,是线段树的一个升级版。专门用于区间第K大值查询问题。 主席树是可持久化线段树的一种特殊实现。 原理 首先我们要将所有数字离散化。 主席树相当于是在每个位置维护了一个线段树,线段树的节点是一个区间[x, 阅读全文
posted @ 2024-10-10 19:34 clockleaf 阅读(34) 评论(0) 推荐(0)
摘要: 问题描述 给定一个序列a{1}, a{2}, a{3}, ... , a{n},如何求出该序列的最大子段和?(询问的区间个数为m) 分析 解决方案: 暴力统计:对于每一个区间[l, r],每一次选定一个子段的起点,然后枚举子段的长度,时间复杂度为O(mn^{2})。 动态规划:我们一次性算出所有的区 阅读全文
posted @ 2024-10-10 19:18 clockleaf 阅读(274) 评论(0) 推荐(0)
摘要: 前提 开启CPU虚拟化 打开任务管理器,切换到性能CPU,如果CPU虚拟化显示未启用,需要到BIOS界面,找到Inter(VMX)虚拟化平台手动开启。 开启两个windows功能 在任务栏搜索功能,点击启用或关闭Windows功能,勾选上适用于 Linux 的 Windows 子系统和虚拟机平台。 阅读全文
posted @ 2024-10-10 19:12 clockleaf 阅读(522) 评论(0) 推荐(0)
摘要: 前言:如果能重来,我要狠狠暴力 J.Breakfast 签到题,无需多言,甚至只要一个输出。 #include <bits/stdc++.h> using namespace std; #define IO ios::sync_with_stdio(false);cin.tie(0);cout.ti 阅读全文
posted @ 2024-08-26 11:27 clockleaf 阅读(138) 评论(0) 推荐(0)
摘要: 是一种数据结构,常用于解决元素分组的问题 管理一系列不相交的集合,支持合并和查询两种操作 主要思想:用集合的一个元素代表集合,即祖宗代表家族 若是了解一些图论基础,可以发现并查集类似于一棵树,根节点就是祖宗,子节点就是集合的其他元素 基础代码 int f[N]; void init(int n) { 阅读全文
posted @ 2024-07-08 22:14 clockleaf 阅读(13) 评论(0) 推荐(0)