题解lucky array
CF276C题解
这道题的思路非常简单,经过对样例的分析,我们发现,所有区间的总和为: $\sum_{i = 1}^{n} a_i \times d_i $(其中 $a_i$ 为原数组的第 $i$ 项,$d_i$ 为第 $i$ 个元素被区间覆盖的次数) 这里有一个小细节:对于某一个元素被覆盖的次数我们可用差分进行优化 ......
CF1815A 题解
题意 给出一串数,请问,通过将 \(a_i\) 和 \(a_{i+1}\) 同时加 \(1\) 或减 \(1\)若干次,能否使它单调不减? 思路 我们发现,如果要让 \(a_i\) 和 \(a_{i - 1}\) 满足单调不减,可以通过修改 \(a_i\) 和 \(a_{i+1}\) 让 \(a_i ......
P5009 [yLOI2018] 不老梦 题解
这个小丑看了好久题目才发现保证 \(t\) 不降。 好像与其他题解做法稍有不同。 思路 其他题解的标记做法非常复杂,怎么办。 我们可以使用适用性可加强大的矩阵乘法。 我们考虑维护: \[\begin{bmatrix} \sum v&\sum a\times b&\sum a&\sum b&len\\ ......
AT_abc265_d 题解
### 题意 给出一串数,请尝试在这串数中找到三段**连续**的子段,使得这三个子段的和分别为 $P$、$Q$ 和 $R$。问:是否可行? ### 思路 通过观察,观察我们可以发现,其实我们可以根据题目的要求写出一段关系式: $A+P+Q+R+B$(其中 $A$ 表示被选子段前面没被选的子段和,其中 ......
Educational Codeforces Round 94 (Rated for Div. 2) D. Zigzags 题解
题意 给你一个数组 \(a1,a2…an\) 请计算有多少个四元组 \((i,j,k,l)\) 符合以下条件: \(1 <= i < j < k < l <= n\) \(a_i=a_k \ \&\&\ a_j=a_l\) \(4<=n<=3000,1<=a_i<=n\) \(input\) 2 5 ......
B3871 题解
题目链接 题意简述 给定一个正整数 \(N\),将它的因数分解式按规定输出。 题目分析 模拟题意即可。 具体地,我们可以枚举 \(2\) 到 \(\lfloor \sqrt N \rfloor\) 中所有数 \(i\),如果 \(i\) 能整除 \(N\),则不断地从 \(N\) 中除掉 \(i\) ......
Tree MST 题解
洛谷 AT 完全图的最小生成树是不好求的,但是发现 \(\mathcal{O}(n^2)\) 级别的边中显然有很多都是没有用的,这种时候可以考虑分治。 显然如果对 \(E'(E'\in E)\) 求 MST,没有选择的边一定也不在最后的 MST 的边集中。于是就让选出的边集的并等于原图,然后再求一遍 ......
CF1436E Complicated Computations 题解
CF1436E Complicated Computations mex的定义是:一个区间中没有出现过的数中最小的整数。 对于一个区间,当正整数x在区间中没有出现过、[1, x - 1](整数)在区间中全部出现过,那么正整数x就是该区间的mex 正整数x在区间中没有出现过 我们一共有n个数字,所有的 ......
【题解 P1552】 派遣
[APIO2012] 派遣 题目背景 在一个忍者的帮派里,一些忍者们被选中派遣给顾客,然后依据自己的工作获取报偿。 题目描述 在这个帮派里,有一名忍者被称之为 Master。除了 Master 以外,每名忍者都有且仅有一个上级。为保密,同时增强忍者们的领导力,所有与他们工作相关的指令总是由上级发送给 ......
NOIP2022 题解
去年今时,我得了 100 + 0 + 0 + 8 分,太抽象了 QwQ 所以为什么今天才写这个东西?因为今天才做完了 T2…… [NOIP2022] 种花 简单前缀和优化 DP,不谈。 [NOIP2022] 喵了个喵 非常高级的构造题。 看到 \(k = 2n - 1/2\),我们可能会想到每一个栈 ......
CodeForces 1895F Fancy Arrays
洛谷传送门 CF 传送门 看到题目感觉很怪,没有什么很好的直接做的办法。于是考虑容斥,\(\min a_i \le x + k - 1\) 的方案数减去 \(\max a_i < x\) 的方案数即为答案。 前者的方案数是好算的。注意到只要确定了 \(\min a_i\) 和差分数组 \(a_i - ......
题解 P9229 扩展九连环
洛谷。 题面 初始状态为全是 \(0\),将某一为变化的前提是当前节点的前缀(不包括当前节点)是 \(s\) 串的一个后缀,每次变化需要 \(1\) 的代价。问最后要使所有都为 \(1\) 的最小代价。 分析 很有意思的一道题,感觉玩起来跟喵了个喵一样上头。 首先,我们肯定是要先让 \(n\) 这个 ......
Q7.4.1.3. 产品销售 题解
原题链接 连 \(S\to A_i\),流量 \(D_i\),费用 \(P_i\),表示最多进货 \(D_i\),成本为 \(P_i\)。 连 \(A_i\to T\),流量 \(U_i\),费用 \(0\),表示卖出。 连 \(A_i\to A_{i+1}\),流量 \(+\infty\),费用 ......
题解 P7405 [JOI 2021 Final] 雪玉
洛谷。 题意 应该好理解的。 分析 我们的所有雪球在同一时间之间的距离都是相同的,因此一段雪,要么是它左侧的第一个所取,要么右侧第一个所取,要么不被取,并且,我们每一个雪球所占有的雪是连续的一段。 我们令 \(L_i\) 表示第 \(i\) 步前所能走的最左点,\(R_i\) 表示第 \(i\) 步 ......
题解 「2019五校联考-镇海1」一棵树
题意 一棵 \(n\) 个结点的树,根节点为 \(1\),结点 \(i\) 的父亲是 \(f_i\)。\(f_1=f_0=0\)。对于每一个整数 \(i\),假如 \(f_{f_i}\) 不为 \(0\),那么就将 \(f_{f_i}\) 与 \(i\) 连上一条边。从每一个结点,每次随机向相邻的结 ......
[题解]AT_abc267_f [ABC267F] Exactly K Steps
大家好,我是毒瘤,喜欢用玄学算法过题。 发现题解区没有这个做法,于是来发一篇。 思路 首先发现如果一个点对 \((u,v)\) 的距离为 \(d\),那么在这棵树以 \(u\) 为根时,\(v\) 的深度为 \(d\)。 Code ......
bupt ai院第一次周赛题解
题目一 简单模拟题 点击查看代码 #include<bits/stdc++.h> using namespace std; #define ebk emplace_back #define x first #define y second typedef pair<int,int> PII; typ ......
【课程】算法设计与分析——第八周 题解笔记
第八周 算法题解笔记 1极值点 题目描述 给定一个单峰函数f(x)和它的定义域,求它的极值点 该单峰函数f(x)保证定义域内有且只有一个极值点,且为极大值点 题解 本题感觉和dp关系不大,主要思路是三分法,和二分法非常类似,但没有二分法常用,主要用途是用来求单峰函数的极值 对于任意一个上凸函数,选取 ......
# P5522 [yLOI2019] 棠梨煎雪 题解
P5522 [yLOI2019] 棠梨煎雪 题解 题目链接 分析1 抛开时间复杂度不谈,先来看看对于每次询问,如何计算合法的字符串个数。 对于每次询问的 \([l,r]\),我们可以对字符串的每一位按以下种情况讨论(设讨论的这一位为第 \(i\) 位): \(str[l..r][i]\) 既有 0 ......
[ARC107F] Sum of Abs 题解
题意 给定一个 \(N\) 个点,\(M\) 条边的简单无向图,每个节点有两个值 \(A_i\) 和 \(B_i\)。 现对于每个节点,均可以选择花费 \(A_i\) 的代价将其删去或保留节点。若一个节点被删除,那么所有与其向连的边也会被删除。 定义一个极大联通块的权值为联通块内所有节点的 \(B_ ......
【题解 P2048】 超级钢琴
[NOI2010] 超级钢琴 题目描述 小 Z 是一个小有名气的钢琴家,最近 C 博士送给了小 Z 一架超级钢琴,小 Z 希望能够用这架钢琴创作出世界上最美妙的音乐。 这架超级钢琴可以弹奏出 \(n\) 个音符,编号为 \(1\) 至 \(n\)。第 \(i\) 个音符的美妙度为 \(A_i\),其 ......
洛谷 P1931 题解
三倍经验 P1931 UVA436 SP9340 题意 给你 \(n(n \le 30)\) 种货币及 \(m\) 种汇率,问是否出现套利的情况。 怎么没给 \(m\) 的范围啊 思路 首先把汇率抽象成一张图。容易发现,若一个单位的某种货币经过一个环获得了大于一的代价,说明出现了套利。具体来说,考虑 ......
CF1542E2 Abnormal Permutation Pairs (hard version) 题解
怎么会有这么离谱的题目啊。 【模板】前缀和优化 dp。 思路 考虑一个基本的东西。 由于要求字典序的限制。 我们可以枚举最长公共前缀计算。 考虑如何求长度为 \(i\) 的排列有 \(j\) 个逆序对的数量。 设 \(dp_{i,j}\)。 \[dp_{i,j}=\sum_{k=0}^{i-1}dp ......
AT_gigacode_2019_b 题解
本题考查基本语法。 思路 用 while 来枚举每一组数据,用 if 判断是否合法。 在判断时需要使用逻辑运算符 &&,它的意思是左右两个要求如果同时成立,则会返回 true,否则返回 false。 \(a \ge x\),\(b \ge y\),\(a + b \ge z\)。 这三个条件都要同时 ......
[题解] CF1051F The Shortest Statement
The Shortest Statement 给一张 \(n\) 个点 \(m\) 条边的无向连通图,保证 \(m - n \le 20\),\(q\) 次询问求两个点间的最短路。 \(n, m, q \le 10^5\)。 由于边数只比点数多 20,所以如果我们建出这张图的一棵生成树,那么非树边至 ......
P3045 题解
小清新数据结构题。 令已经确定被购买的奶牛的集合为 \(S\)。 注意到必然存在一个最优解使得集合 \(S\) 中 \(P_i-C_i\) 前 \(k\) 大的奶牛使用了优惠券。 证明: 令使用优惠券的集合为 \(S'\),显然有 \(|S'|=k\),则花费为: \[\sum_{i\in S\we ......
「NOIP2014」解方程 题解
思路 首先我们可以观察到 \(n\) 和 \(m\) 与\(a_i\) 相比小的很多,所以我们可以考虑直接暴力求解 但是 \(a_i\) 太大了,所以如果需要直接计算的话需要全程使用高精度算法。 因为高精度算法代码量有大速度又慢我们可依考虑将 \(a_i\) 转化为一个极大的指数取模的结果,因为只有 ......
Q7.4.1.2. 奇怪的方格涂色 题解
原题链接 首先想到暴力网络流:考虑最小割,\(S\) 表示染黑色,\(T\) 表示染白色。 每个格子 \(i\),连 \((S,i,b_i)\),\((i,T,w_i)\)。怎么处理“奇怪的方格”?连 \((i,i^\prime,p_i)\) 和 \((i^\prime,j,+\infty)\)。表 ......
AT_abc230_f [ABC230F] Predilection 题解
prelogue 各位在比赛的时候一定要坚信自己的式子,然后去考虑自己的实现是不是挂了。本人在今天模拟赛的时候质疑自己的式子然后不看实现 100 -> 0。 analysis 考虑对这个给定数组进行前缀和,然后就将问题转化成为了求这个前缀和数组的子序列的个数。对于求子序列,我们很轻松可以写出来这个式 ......
Palindrome-less Arrays
here 哥们不会组合数学。 首先类似这题,得出没有回文串的充要条件是没有长度为 3 的回文串。 长度为 3 的回文串,\(a_i,a_{i+1},a_{i+2}\),只要满足 \(a_i \neq a_{i+2}\) 即可,也就是说奇数位、偶数位抠出来,新数组中相邻的数不相同。 考虑 dp,一种显 ......