题解 算法

CF1438F 题解

如果能想到这道题用随机化,想来这道题的解法就显然了。但是为什么这道题一定要随机呢? 我们考虑一棵完美二叉树,编号随机。这棵树的熵毛估估一下应该是 \(O(\log^n n)\) 的,但是一次询问的话,考虑每次只能得到三个点的偏序关系为某几种情况的一种,这个熵是很小的,只有 \(O(\log n)\) ......
题解 1438F 1438 CF

AT_abc299_h 题解

原问题可转化为:在一个长为 \(10^9\) 的环上,每次走 \(1\sim6\) 步,指定起点,问到原点的期望步数。 考虑走到 \(-1\sim-6\) 的期望步数。我们发现,对于 \(X-R\equiv -i\pmod {10^9},i\in[1,6]\),\(C\) 的期望应该存在线性关系,因 ......
题解 AT_abc 299 abc AT

P4894 题解

实际上,这是两个向量的叉积已经是其他题解说烂了的。这里只是给出一个容易记忆 \(dim\le 3\) 的行列式的值的办法。 我们以 \(3\) 维行列式为例子,假设为 \[\begin{vmatrix} a & b & c\\ i & j & k\\ o & p & q \end{vmatrix} ......
题解 P4894 4894

P6256 题解

我认为,这道题是我学 OI 历史以来做过的最难写,最难受,最变态,最不可做,最怀疑人生的题。 然后还莫名其妙遇见了! 给出一种时间复杂度略劣于 ix35 的做法。因为本人码力不是很好,因此认为这道题讲讲代码写法也很必要。 题意就是给一些线段上戳洞,使得对于给定的一个区间 \([l,r]\),从无穷远 ......
题解 P6256 6256

AGC034F 题解

FWT 入门题,很适合我这样的蒟蒻。 首先我们可以轻松的根据转移条件写出来一个优美的函数 \(T(i)=1+\sum_{j\oplus k=i}a_kT(j)\),边界为 \(T(0)=0\)。 这个方程属于转移带环的 DP,处理方法一般是高斯消元,在这道题里会 T 飞。 但是我们又注意到后边是一个 ......
题解 034F AGC 034

CF1239E 题解

因为懒得用 bitset MLE 了。所以各位想 A 这题的别偷懒用布尔数组! 本题解意在解释如何做类似的 dp 题,而不在于解释本道题做法的具体推导,只是给出一个思路。 我们观察发现,题目想让我们最小化一个最大值。我们并不能枚举每种方案去找最大值再取 \(\min\),这样复杂度爆炸而且没有前途真 ......
题解 1239E 1239 CF

AT_arc127_a 题解

在 HL 群里吃瓜,顺手写一篇题解。 第一眼必定是数位 dp,可是这会使原题难度反而升高了。相对而言,我们要是枚举前缀 \(1\) 的长度,然后寻找对答案有贡献的区间,此问题是很容易的。同时我们不难发现,前缀 \(1\) 长度为 \(l\) 的所有有贡献的数字即为 \(\forall i\in[l, ......
题解 AT_arc 127 arc AT

P7400 题解

P7400,一个有趣的博弈论。 下面称 Paula 和 Marin 都执行一轮操作的“一整轮”为一个周期。 Sub 1:\(n\le 100\) 我们采用 \(O(n^2\times n)=O(n^3)\) 的 DP 即可。这里略去具体实现。 Sub 2:边的颜色均为洋红 这意味着两人都可以走过任意 ......
题解 P7400 7400

P4875 题解

显然这道题的解法与 \(8\) 强相关。从这一点下手,我们不难想到先对每一种奶牛做前缀和,这样我们可以做到 \(O(8)\) 查询每个区间是否可行,从而有了一个 \(O(4n^2)\) 的纯暴力做法。不知道多少 pts,反正不是正解。 下一步我们考虑优化。如果我们能快速地找到哪些区间是合法的,那么时 ......
题解 P4875 4875

P4434 题解

远古模拟赛里的一道题,前来写篇题解记录一下。 我们考虑一个显然的转化。将每条边染色,那么原问题等价于求下面的染色的方案数: 对于每个点对 \(a,b\),我们记 \(\operatorname{lca}(a,b)=c\) 有 \(a\sim c\) 上的所有边同色。 \(b\sim c\) 上的所有 ......
题解 P4434 4434

P5138 题解

因为本题的代码难度远大于解法的思考,因此这里提供一种好写的写法。 做法不再赘述,就是转化为 \(depth\) 差以后上线段树分别维护两个信息以后求和。题解中大多数使用同一个线段树维护两个信息,可读性并不高,且比较难写。 事实上我们注意到两棵线段树仅有初始的信息不一样,剩下需要支持的操作完全一样,这 ......
题解 P5138 5138

CF1827F 题解

不妨先考虑一个弱化版的问题,这个问题和原来的问题仅有一个区别:\(k\) 是给定整数。 称最后 \(n-k\) 个数是“特殊的”。那么我们可以注意到,每个特殊的数字的极大段必然递增放置或者递减放置。例如我们有排列 \([7,5,8,1,4,2,6,3]\) 而且 \(k=2\),那么极大段的下标应该 ......
题解 1827F 1827 CF

P6416 题解

省流:离线以后,每个字符做前缀和然后直接水过去 首先离线所有询问。对于每个英文字母,我们把查询这个字母的询问都一起处理。 对于每个字母 \(c\),我们跑一遍前缀和,令 \(p_i\) 表示 \(\mathit{s}_{1,i}\) 中字符 \(c\) 出现的次数。接下来我们定义 \(\operat ......
题解 P6416 6416

P5185 题解

前置知识:简要了解 CRT 和高斯消元 题意简述:给定一些系数,求 \(n\) 元线性同余方程组 \(A_i+\sum^{M}_{j=1}a_{i,j}x_j\equiv B_i(\mod 365)\) 的解。 注意到 \(365=5\times73\),而且他们都是质数,这引导着我们思考先分别求出 ......
题解 P5185 5185

P9309 题解

此题问 \(\operatorname{lcm}(a\sim b)\) 的后导 \(0\) 个数。 考虑 \(\operatorname{lcm}\) 相当于对唯一分解中的素数的指数取 \(\max\),此题等价于: 定义 \(\operatorname{g}(x,y,z)\) 在 \([a,b]\ ......
题解 P9309 9309

CF958E1 题解

Meaning 在二维平面内,有位置不同且不存在三点共线的 \(R\) 个红点和 \(B\) 个黑点,判断是否能用一些互不相交的线段连接每一个点,使得每条线段的两端都分别是黑点和白点。 Solution 当 \(R\ne{B}\) 时,显然无法实现红点与黑点的两两组合,故题干所述的情况一定不存在。 ......
题解 958E 958 CF E1

文心一言 VS 讯飞星火 VS chatgpt (168)-- 算法导论13.2 1题

一、用go语言,写出 RIGHT-ROTATE 的伪代码。 文心一言: 在计算机科学中,右旋转(RIGHT-ROTATE)是一种常见的操作,通常用于数组或链表。以下是一个使用Go语言实现右旋转的伪代码: func rightRotate(arr []int, k int) []int { n := ......
文心 导论 算法 chatgpt VS

P5765 [CQOI2005] 珠宝 题解

P5765 [CQOI2005] 珠宝 题解 思路 好题,注意到有性质:颜色数最多为 \(\lfloor\log_2 n\rfloor + 1\),有了这个性质之后直接树形 DP 糊上去就过了。 简要的证明: 考虑一个点,显然一种颜色即可。 对于一个颜色为 \(c\) 的点,其儿子至少有 \(c - ......
题解 珠宝 P5765 5765 2005

以目标函数变化量作为评价函数的改进禁忌搜索算法

提出了一种以目标函数变化量作为评价函数的改进禁忌搜索算法,并进行了理论分析,然后将其与有效禁忌搜索算法作了性能比较。通过比较三个公共测试数据集的计算结果,验证了本文提出的禁忌搜索算法的可行性和有效性。 资源文件列表 新建文件夹/fun.m , 227新建文件夹/PSOT.m , 1937新建文件夹/ ......
函数 禁忌 算法 目标

算法复习

目录渐近记号O记号Ω记号Θ记号分治策略分治算法的效率分析迭代法求运行时间递归树法求运行时间主定理法求运行时间 渐近记号 O记号 渐近上界记号O (大O) 渐近地给出了一个函数在常量因子内的上界: O(g(n)) = { f(n) : 存在正常量c和n0,使得对所有n ≥ n0,有0 ≤ f(n) ≤ ......
算法

AES算法在网络安全中的应用:如何守护数据宝藏?

摘要:高级加密标准(AES)是美国国家标准与技术研究所(NIST)用于加密电子数据的规范。本文从历史、算法原理、性能优势和应用等方面全面介绍了AES算法,旨在帮助读者更好地理解这一广泛应用的对称加密算法。 AES(Rijndael)加密解密 | 一个覆盖广泛主题工具的高效在线平台(amd794.co ......
宝藏 算法 网络安全 数据 网络

代码随想录算法训练营第12天 | 树的遍历

(本合集全部为Go语言实现) 相关文章链接:递归遍历 迭代遍历 统一迭代法 相关视频链接: Leetcode94 状态: 实现过程中的难点:迭代法的模拟过程比较难想 个人写法 递归方式 func inorderTraversal(root *TreeNode) []int { var res []i ......
随想录 训练营 随想 算法 代码

P2898 [USACO08JAN] Haybale Guessing G 题解

题目传送门 前置知识 二分答案 | 并查集 解法 对条件的合法性判断其他题解已经讲得很明白了,这里不再赘述。这里主要讲一下用并查集实现黑白染色问题。 以下内容称被覆盖为黑色,不被覆盖为白色。 本题因为是单向染色,即从白到黑,故可类似 luogu P1840 Color the Axis 和 D 的并 ......
题解 Guessing Haybale P2898 USACO

利用强化学习算法解释人类脑对高维状态的抽象表示:how humans can map high-dimensional sensory inputs in actions

论文: 《Using deep reinforcement learning to reveal how the brain encodes abstract state-space representations in high-dimensional environments》 地址: http ......

day03 代码随想录算法训练营 203. 移除链表元素

题目: 203. 移除链表元素 我的感悟: 题目里的节点是已经给好的, 创建虚拟节点,是为了方便处理头节点。 加油,我可以的!!!!! 理解难点: 节点已经给好的 创建虚拟节点 代码难点: p是临时变量,类似于for i in range(10) 这里的i,本身是用完就扔的。 返回值为什么不能是p. ......
随想录 训练营 随想 算法 元素

垃圾回收原理和算法

垃圾回收原理和算法 内存管理Java的内存管理很大程度就是:堆中对象的管理,其中包括对象空间的分配和释放对象空间的分配:使用new关键字创建对象即可对象空间的释放:将对象赋值null即可 垃圾回收过程:任何一种垃圾回收算法一般要做两件基本事情:1. 发现无用的对象2. 回收无用对象占用的内存空间垃圾 ......
算法 原理 垃圾

手写topN算法-c语言

#include <stdio.h> #include <malloc.h> struct TreeHeap { int v; }; typedef struct TreeHeap TreeHeap; static void print_bp(int bp[],int len); void crea ......
算法 语言 topN

贴一些我CF题的题解

CF1916B 分析 题目给出的是 \(x\) 的两个小于 \(x\) 的最大因子,首先考虑 \(a\) 不整除 \(b\) 的情况。既然 \(a\) 不整除 \(b\),那么 \(a\times b\) 必定是 \(x\) 的倍数,但是此时 \(a,b\) 就不一定是最大的,所以需要除以一些东西, ......
题解

算法学习Day18左下角的值,路径总和,构建二叉树

# Day18左下角的值,路径总和,构建二叉树 `By HQWQF 2023/12/30` ## 笔记 *** ## 513.找树左下角的值 给定一个二叉树的 **根节点** `root`,请找出该二叉树的 **最底层 最左边** 节点的值。 假设二叉树中至少有一个节点。 **示例 2:** **输 ......
总和 算法 路径 Day 18

算法: 大长方形最多可以放多少个个小的长方形,大小长方形长宽都只有一种

https://www.engineeringtoolbox.com/smaller-rectangles-within-larger-rectangle-d_2111.html function calculateRectangle() { var rw = parseFloat($j('#rw' ......
长方形 算法 大小 只有