题解heoi 2013 sao

P8655 [蓝桥杯 2017 国 B] 发现环 题解

题目概述 题目传送门 在一棵树中新增一条边,使得这个图产生一个环,求在环上的点。 思路:拓补排序 对于这道题显然不能生搬硬套拓补排序的模板。 这道题中的图是一个无向图,而拓补排序却是处理有向图的一种思想。 不难想到可以将无向图转化为有向图,即将对于每条无向边变换为双向建边,就好处理了。 在这种情况下 ......
蓝桥 题解 P8655 8655 2017

ABC297F 题解

容斥萌萌题 给你一个 $H\times W$ 的棋盘,问在棋盘上随机撒 $k$ 个点,能够围住这 $k$ 个点的最小子矩形的期望面积 考虑枚举子矩形可以直接转成计数 问题转变为在 $n\times m$ 的矩形中撒 $k$ 个点,有多少种方案使得四条边上均至少有一个点 答案乘上矩形面积再除以所有撒点 ......
题解 297F ABC 297

LVJR2 赛后题解

赛后补题请到 洛谷比赛。 A 考虑分类讨论。显然当 $a=0,b=0$ 时,答案等于 $0$。 当 $a=0$ 或 $b=0$ 时,直接将等于 $0$ 的数乘以一个很大的数字,将不等于零的数除以一个很大的数字,答案为 $v$。 当 $a,b$ 均不为 $0$ 时,可以选择先将一个数字减到 $0$,或 ......
题解 LVJR2 LVJR

[Luogu-P1008]题解(C++)

Part I Preface 原题目(Luogu) Part II Sketch 求出若干组排列 $a,b,c$,使得 $a:b:c = 1:2:3$。 Part III Analysis 暴力 $9$ 层循环即可。 Part IV Code #include <iostream> using na ......
题解 Luogu-P Luogu 1008

[Luogu-P1007]题解(C++)

Part I Preface 原题目(Luogu) Part II Sketch 给定一个正整数 $L$,表示独木桥长度。 给定一个正整数 $N$,表示桥上士兵的数量。 给定 $N$ 个整数,分别表示每个士兵的坐标。 规定走到 $0$ 坐标或 $L+1$ 的位置为下桥,两个士兵相遇时不能走过去,他们 ......
题解 Luogu-P Luogu 1007

[Luogu-P1003]题解(C++)

Part I Preface 原题目(Luogu) Part II Sketch 给定一个正整数 $n$,表示地毯张数。 接下来 $n$ 行,每行 $4$ 个整数,$a,b,g,k$,分别表示一个地毯的左下角和右上角的坐标。 最后一行,$x,y$,表示查询的点。 求出这个点上面覆盖的最上面的地毯编号 ......
题解 Luogu-P Luogu 1003

[AtCoder-AT_ABC108_B]题解(C++)

Part I Preface 原题目(Luogu) 原题目(AtCoder) Part II Sketch Part III Analysis 观察这道题,我们很容易想到,必须推导出 $x1, y1, x2, y2$ 与 $x3, y3, x4, y4$ 之间的关系。 我们观察下图。 可以发现: $ ......
题解 AtCoder-AT_ABC AtCoder ABC 108

[CodeForces-1104A]题解(C++)

Part I Preface 原题目(Luogu) 原题目(CodeForces) Part II Sketch 给定一个整数 $n$。 将 $n$ 拆分成一个数列 $a_1,a_2,a_3,\dots,a_m$。 使得 $\sum\limits_{k = 1}^{m}a_k = n$,每个 $a_ ......
题解 CodeForces 1104

[CodeForces-143A]题解(C++)

Part I Preface 原题目(Luogu) 原题目(CodeForces) Part II Sketch 设有一个 $2 \times 2$ 的棋盘,上面可以填入 $1-9$ 的数字。 给出 $6$ 个数字,为每行每列以及每个对角线上的数字之和,求相应的摆放方式,无解输出 $-1$。 Par ......
题解 CodeForces 143

【模板】堆 题解

题目传送门 一道小根堆模板题。 在做这道题之前,我们先介绍一下小根堆是什么。 我们定义小根堆是一种对于任何一个父结点的权值总是小于或等于子节点权值的完全二叉树。因此,不难看出,一个小根堆的堆顶(这棵树的根节点)应该是这个堆(树)中权值最小的结点。 简单介绍完了小根堆,我们再介绍下如何存储。 存储 我 ......
题解 模板

【ABC298C】题解

思路 一道很好的复习数据结构的题。 对于第 $1$ 个问答(既第 $2$ 种操作),我用一个小根堆(优先队列,$\text{priority_queue}$)来储存第 $i$ 个盒子的卡牌。 对于第 $2$ 个问答(既第 $3$ 种操作),我用一个 $\text{set}$ 来储存编号为 $i$ 个 ......
题解 298C ABC 298

Inna and Huge Candy Matrix 题解

题目传送门 一道模拟题。 先看数据范围,$x,y,z \le 10^9$ 显然会超时。不难看出,顺时针或逆时针旋转 $4$ 次和镜面对称 $2$ 次后会恢复原样,所以我们先对 $x,y,z$ 进行取余。 $$x\bmod 4,z\bmod4,y\bmod2$$ 然后我们观察一个矩阵顺时针旋转后坐标的 ......
题解 Matrix Candy Inna Huge

题解 P9320/CF::Gym104229D【[EGOI2022] Tourists】

problem 一个长为 $m$ 的数组 $a$,每个数的取值为 $[1,n]$ 的正整数;另外有一个长为 $m$ 的数组 $b$,初始全零;另外有一棵 $n$ 个点的树,求树上两点距离的函数为 $dist$。请支持三种操作: 输入 $l,r,c$,枚举 $i\in [l,r]$,使得 $b_i\g ......
题解 Tourists 104229D 104229 9320

【学习笔记】【题解】树形依赖 DP 选做

地址:https://www.cnblogs.com/FReQuenter5156/p/shuxingyilaidp.html/ 简介 这类背包本质上是分组背包问题。 将一个节点的每一棵子树看作一组,进行分组背包。所谓分组背包,即在选择物品的时候,一开始将物品分为好几组,在选择时,可以从每一组中至多 ......
树形 题解 笔记 DP

CF1816D 题解

一、题目描述: 这是一道交互题,你需要猜出一个 $1$~$n$ 的全排列 $p_1,p_2,p_3...p_n$ 。 有 $t$ 组数据,每组数据有一个整数 $n$ 表示数组的大小。 假设一开始有一个只有 $n$ 个点,没有边的图。你有 $2\times n$次询问机会,两种询问方式: 第一种:$+ ......
题解 1816D 1816 CF

CF338D GCD Table-题解(excrt)

CF338D GCD Table 个人评价:还好 算法 扩展CRT 题面 给了一张$n\times m$的矩阵,第i行j列的权值是gcd(i,j),现在有一个长度为k的序列A,问是否存在(i,j)使得$gcd(i,j+l-1)=a_l(1\leq l\leq k)$ 问题分析 我们将对应行设为x,对 ......
题解 Table excrt 338D 338

P8446 虹色的北斗七星 题解

传送门 前言: 很久之前做的一道题目了,当时并没有想出来怎么做,随便猜了个结论交上去发现过了。(~~好像还是第一道自己做出来的绿~~) 简要题意: 你有一个长度为 $n$ 的序列 $a$ ,一个区间$[l, r]$的价值定义为当前区间的极差减去区间长度,求出最大的价值。 $Solution$: 看了 ......
题解 北斗 P8446 8446

P4093[HEOI2016/TJOI2016]序列

P4093[HEOI2016/TJOI2016]序列 题目描述 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他。 玩具上有一个数列,数列中某些项的值可能会变化,但同一个时刻最多只有一个值发生变化。现在佳媛姐姐已经研究出了所有变化的可能性,她想请教你,能否选出一个子序列,使得在任意一 ......
2016 序列 P4093 4093 HEOI

[CodeForces-545A]题解(C++)

Part I Preface 原题目(Luogu) 原题目(CodeForces) Part II Sketch 给定一个正整数 $n$,表示汽车数量。 给定一个 $n \times n$ 阶矩阵 $A$,第 $i$ 行 $j$ 列上的数字表示 $i$ 车与 $j$ 车的对撞情况。 $\begin{ ......
题解 CodeForces 545

[CodeForces-545A]题解(C++)

Part I Preface 原题目(Luogu) 原题目(CodeForces) Part II Sketch 给定一个正整数 $n$,表示汽车数量。 给定一个 $n \times n$ 阶矩阵 $A$,第 $i$ 行 $j$ 列上的数字表示 $i$ 车与 $j$ 车的对撞情况。 $\begin{ ......
题解 CodeForces 545

CF1260E Tournament 题解

妙妙题,但是感觉评不到紫。 题目链接。 题意 luogu 题意。 有 $n$ 个人,贿赂第 $i$ 个人的代价为 $a_i$。这些人中,贿赂代价为 $-1$ 的是你的朋友。现在,你可以两两配对,使得编号小的被淘汰,但是,如果你贿赂了编号大的,那么编号大的被淘汰,而编号小的留下。问:使得你朋友夺得冠军 ......
题解 Tournament 1260E 1260 CF

ABC269F 题解

前言 题目传送门! 更好的阅读体验? 题解区的方法思维难度都过大(?),提供一种极其容易的方法。 思路 题目就是求 $\sum\limits_{i=x_1}^{x_2}\sum\limits_{j=y_1}^{y_2}a_{i,j}$。所以很容易想到先算 $\sum\limits_{j=y_1}^{ ......
题解 269F ABC 269

LeetCode 27. 移除元素 题解

题目链接:LeetCode 27. 移除元素 本题大意是要对一个数组进行原地删除数值等于 val 的元素。 双指针算法: 通过一个快指针和慢指针在一个for循环下完成两个for循环的工作。 快指针(p指针):寻找新数组的元素 ,新数组就是不含有目标元素的数组 慢指针(q指针):指向更新 新数组下标的 ......
题解 LeetCode 元素 27

LeetCode 704. 二分查找 题解

##本题考查的就是一个基本的整数二分查找问题 对于整数二分,有单调性一定可以二分,没有单调性的有时候也可以二分。 ##算法思想(分为两种方法): 查找结果是在左边区间的情况 区间被划分为[l,mid]和[mid+1,r] 1、确定分界点,mid=q[(l+r)/2] 2、判断是否满足 是:区间变成[ ......
题解 LeetCode 704

华为OD机试 本篇题解:开心消消乐

最近更新的博客 华为 od 2023 | 什么是华为 od,od 薪资待遇,od 机试题清单 https://dream.blog.csdn.net/article/details/128980730 华为 OD 机试真题大全,用 Python 解华为机试题 | 机试宝典 https://dream ......
题解

华为 OD 本篇题解:特异性双端队列

华为 OD 机试【4 大宝典】再次上新题! ① Python 解华为机试题 :https://dream.blog.csdn.net/article/details/129221789 ② C++ 解华为机试题:https://dream.blog.csdn.net/article/details/ ......
特异性 题解 队列 OD

洛谷P4824题解

题面 题意:给出字符串 s 和 t,每次操作将 s 中出现的第一个 t 删去,直到不能删为止。求最后的串。 |s|<=1e6 题解:hash 做法。(此题也有 kmp 和权值线段树做法) 因为涉及到删除操作,所以我们要动态的实现这个过程。所以考虑开一个栈来存储当前留下的字符。 然后每有一个字符入栈, ......
题解 P4824 4824

洛谷P7469题解

题面 题意:有两个字符串 a 和 b,问 b 中有多少个本质不同子串可以由 a 删除若干个字符得到。 |a|,|b|<=3000 题解:字典树(这个题做法很多,后补)。 把字符串 b 的每个子串打到字典树上。 然后因为 3000^2*26 这个东西比较大,所以不能用 nxt[id][26] 来存储, ......
题解 P7469 7469

CWOI 2023.05.04 题解

mzx 的动态规划杂题选讲。sto ARC153 D - Sum of Sum of Digits P7152 [USACO20DEC] Bovine Genetics G CF1542E2 Abnormal Permutation Pairs (hard version) 题意 给定 $n,m$, ......
题解 CWOI 2023 05 04

P3809 【模板】后缀排序 题解

一、题目描述: 给你一个长度为 $n$ 的字符串 ,由大小写英文字母和数字组成。请将这个字符串的所有非空后缀按字典序排序,顺序输出后缀的第一个字符在原串中的位置,编号为 $1$ 到 $n$。 二、解题思路: 板子题,我就不写思路了。我用的是 $SA$,$DC3$ 还没学。时间复杂度 $O(nlogn ......
题解 后缀 模板 P3809 3809