首页 > TAG信息列表 > MN

[NOI2015] 品酒大会 题解

[NOI2015] 品酒大会 题解 link 题目大意 给定一个长度为 \(n\) 的字符串 \(s\) ,和第 \(i\) 个位置的权值 \(a_i\) 对于每一个 \(r\in [0,n)\) ,求满足 \(\text{lcp}(i,j)\ge r\) 的 \((i,j)\) 的对数 以及所有的 \((i,j)\) 中, \(a_i\times a_j\) 的最大值 \(n\le 3\times 10^5\) 题

B 数一数 kmp 字符串匹配数量之积

 链接:https://ac.nowcoder.com/acm/contest/27589/B来源:牛客网 题目描述 设 s,ts,ts,t 为两个字符串,定义 f(s,t)=tf(s,t) = tf(s,t)=t 的子串中,与 sss 相等的串的个数。如 f("ac","acacac")=3f("ac","acacac")=3f("ac","

三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为mn,np,pq,且m<n<p<q,以下计算顺序效率最高的是?

题目 在深度学习中,涉及到大量矩阵相乘,现在需要计算三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为mn,np,p*q,且m<n<p<q,以下计算顺序效率最高的是:() a. A(BC) b. (AB)C c. (AC)B d. 所有效率都相同 选择 b 二、解题 矩阵乘积数学公式: 假设存在两个矩阵A为m×n矩阵,B为k×l矩阵,若

《具体数学》第五章 二项式系数 学习笔记(部分)

更好的阅读体验 从《具体数学》第五章 二项式系数中选了一些个人认为比较 useful 的内容,添加了部分解释和证明。 组合数 在 \(n\) 个元素中选择 \(m\) 个的方案数,记作 \(\dbinom{n}{m}\),定义为: \[\dbinom{n}{m}=\dfrac{n!}{m!}{(n-m)!} \]其中 \(n,m\) 为非负整数。 当 \(m\) 为非

CF765F

分块。 \(f[i][j]\):\(i\) 一直到第 \(i\) 所在块 \(x\) 尾端,对 \(x+1\sim j\) 块造成贡献/\(i\) 一直到 \(i\) 所在块 \(x\) 开头,对 \(j\sim x-1\) 块造成贡献。 \(mn[i][j]\):块 \(i\sim j\) 的答案。 预处理:块内元素排序,双指针求 \(f\) 后得到 \(mn\)。 查询:整块以及散块对整块的

CF #526 部分题解

传送门 CF1083C Max Mex 求一条 \(\text{mex}\) 值最大的路径,相当于求一个最大的前缀 \(0,1,2,\cdots,k\) 使得点权为 \(0,1,\cdots,k\) 的点都可以被包含在同一条链中。 考虑使用线段树维护,第 \(i\) 个位置存树上点权为 \(i\) 的点的编号,如果我们能对每个区间求出其是否构成链以

CF Round Goodbye 2021 部分题解

传送门 CF1616F Tricolor Triangles 诈骗题。限制相当于每个三元环三条边的 \(c_i\) 之和能被 \(3\) 整除,将每条边的 \(c_i\) 看做一个未知数,那么问题就是要求解若干个模 \(3\) 意义下的方程组。根据经典结论我们知道三元环最多有 \(O(m \sqrt m)\) 个,直接高斯消元复杂度为 \(O(m^

CF1208F Bits And Pieces

传送门 思路 面对位运算,而且要求答案最大,我们应该想到一个贪心:从二进制最高位开始取,这样能保证答案最优 对于一个答案 \(x\) ,它可行当且仅当存在 \(i<j<k\),满足有 \(x\oplus w \subseteq a[i]\) 和 \(w\subseteq a[j],a[k]\)(这里 \(w\subseteq x\)) 我们考虑记录 \(Mn[w]\) 为 \(w

NOI2022金牌冲刺营内部训练8

tree 题目叙述 给定两棵 \(n\) 个点的树,求一个编号最大的点满足他在第一棵树上的点是第一棵树上的点 \(u\) 的祖先和在第二棵树上的点是第二棵树上的点 \(v\) 的祖先。多组询问 \(u,v\) 。 题解 在第一棵树上看第二棵树,第二棵树上的祖先关系可以理解为 dfs 序子树形成区间的嵌套关

P6406 [COCI2014-2015#2] Norma & ZLOJ 练习58 D

written on 2022-08-03 也是一道套路题,但是之前遇到得不多,所以这次总结一下。 这类题目要求统计所有区间的分数值之和。显然暴力的思路,即枚举所有的区间是不可行的。 先看一下玄学的暴力优化,这种大步跳的方法可以有效地降低时间,但是很玄学,比赛的时候可以用这种方式骗分,因为性价比

CF Round Hello 2022 部分题解

来补个档。 CF1621G Weighted Increasing Subsequences 先离散化。对每个上升子序列计算权值是困难的,我们考虑每个位置对答案的贡献。 即我们想要知道对于每个 \(a_p\),\(i_k\) 最远能到哪里,使得存在一个 \(x \in (i_k, n]\) 满足 \(a_x > a_i\)。容易发现,若设 \(r_p\) 为最右端的

LOJ #2307. 「NOI2017」分身术

题目叙述 一个点集,每次去掉一个集合内部的一些点(不超过 100 个),求剩下节点构成的凸包面积是多少。强制在线。 题解 基本做法是每次求出 100 层凸包(一层一层向内求凸包)。每次去掉一些节点,就找出最内部的没有任何一个节点被去掉的凸包,向外每层相当于添加一个凸包的一个连续部分,去掉原

0801 模拟赛

真是太难过了,想了一早上 T1,但还是处在会和不会的边缘,尽早退役尽早退役。 T1 给定一个根为 \(1\)、\(n\) 个节点的树,每个节点初始无色。一次操作可以选定一个点 \(i\),将 \(i\) 子树内的所有点覆盖为任意颜色。求将所有叶子变为指定颜色的最少操作次数。 \(n \leq 2\times 10^6\)。

manacher算法 学习笔记

算法简介 这是一个可以在 \(O(n)\) 时间内求出一个字符串中所有子串的最长回文串长度。 求最长回文串长度的方法显然有多种,可以 \(O(n^2)\) 暴力,也可以枚举回文重心,二分回文串半径,哈希比较左右是否对称,这样是 \(O(n\log n)\) ,而这次是 \(O(n)\) 基本思路 设 \(p_i\) 表示回文重心

差分约束系统 学习笔记

第4章 差分约束系统 算法简述 核心思想:将题目给定条件转化为形如\(s[i] - s[j] <= k\)的三角形不等式,然后用最短路求解 解题要点:感觉还是<=跑最短路好写点,据此, 在取\(a[i] - a[j] <= k\)的形式时,规则如下: 差分约束跑最短路,跑出的结果是所有解中的最大解 差分约束跑最长路,跑出的结

CF995F Cowmpany Cowmpensation【DP,拉格朗日插值】

传送门 思路 先考虑一个暴力的 DP,设 \(f_{u,i}\) 表示 \(u\) 子树内所有点权值在 \([1,i]\) 内的方案数,转移考虑 \(u\) 的权值,若 \(u\) 权值为 \(i\),那么显然只需要儿子子树合法即可,否则就变成了一个 \([1,i-1]\) 的子问题,因此有转移: \[f_{u,i} = f_{u,i-1} + \prod_{v \in son_u}

CF1707E Replace【倍增,ST表】

传送门 思路 学了析合树还不会做这题,感觉我真的没什么救/ll 对于这类跳若干步的问题,一个很自然的想法是预处理倍增数组,但这题的状态数量是 \(O(n^2)\) 的,看起来不能直接做。这时一个关键结论突然出现:设 \(f^k(l,r)\) 为 \([l,r]\) 操作 \(k\) 后的结果,那么若 \([l_1,r_1] \cup [l_

LOJ #3534. 「NOI2021」庆典

提交记录 题目叙述 给定一个 \(n\) 个点 \(m\) 条边的有向图,满足如果 \(x\) 到 \(w\) 右边,并且 \(y\) 到 \(w\) 也有边,那么就一定有边 \(x\) 到 \(y\) 或者 \(y\) 到 \(x\) 。每次给出 \(k\) 条边 \(a_i\rightarrow b_i\) 表示这次询问新加入的边(不一定这样做之后的图还满足原题的

【CF780G】Andryusha and Nervous Barriers 题解

CF 传送门:CF780G Andryusha and Nervous Barriers 模拟 + 线段树套小根堆。 Solution 赛时读不懂题?想象力过于差劲。(审题错误) 上来发现直接模拟:给每一列都开一个小根堆(优化),内部插入这一列上方某一高度(行)有几个球存在,即初始时每一列都插入 make_pair(h+1,1)。然后将挡板按高度从大

CF1685D Permutation Weight [贪心,构造]

传送门 思路 令 \(p' = p^{-1}\),即 \(p'_{p_i} = i\),则原题等价于最小化 \(\sum |p'_{q_i} - q_{i+1}|\)。显然,当所有 \(i\) 都满足 \(p'_{q_i} = q_{i+1}\) 时原式取最小值,但这时 \(q\) 不一定是一个排列。容易发现,排列 \(q\) 给出了一个在 \(p'\) 形成的图上遍历的顺序,考虑 \(p'

「JOISC 2020 Day1」建筑装饰 4

题意: \(2n\)个位置,给长度为\(2n\)的序列A,B。问每一位置在\(A\)和\(B\)中任选一个,恰好\(n\)个A和B,得到不降的序列\(C\)的方案(多种任意输出一种)。 思路: 引理 猜了一个结论:能够造出C的A的个数是连续的。 和CF之前打过一道题,一样的技巧。 这里给简略构造证明: 处理出A个数最少(Amin

题解 6.21校内考试T4 结队

题解 6.21校内考试T4 结队 题目描述 对于这道题,可以用埃筛统计出质因子的同时,用并查集合并同一帮派即可。 需要注意的是,这道题不是纯正的筛质数,埃筛的第二重循环不能从 i*i 开始,只能老老实实从 i 开始循环。 CODE const int mn=5e4+10; const int mm=5e4+10; const int mod=1e9+

UOJ #408. 【IOI2018】机械娃娃

同为LOJ 2866 题目叙述 一共有 \(n\) 个触发器,每个触发器可以走到另一个器件。还有若干个开关,每个开关有两种出口。还有一个起点。 现在有一个球从起点出发,沿着线路走。开关有两种状态X和Y,如果在状态X必须走第一个出口,否则走第二个。一个开关被走一次之后会切换状态。现在 \(n\)

CF1692H - Gambling

题目链接: https://codeforces.com/contest/1692/problem/H 题意: 长为 \(n\) 的序列,从中选择一个连续的子序列,使这个子序列中出现次数最多的数字的数量减去剩余数字的数量最大。 思路: 暴力的方法,枚举每一个区间,然后求该区间中出现次数最多的数字的数量,计算要求计算的最大值,显然超时

容斥原理

  |A∪B|=|A|+|B|−|A∩B||A∪B|=|A|+|B|−|A∩B|A表示事件A发生的概率或者方案数,B同理其实这个叫做单步容斥,因为这个仅仅有一次加减,而在信息学领域,多见的是多步容斥,就是有很多次加加减减,形式如下∣∣∣⋃i=1nSi∣∣∣=∑C⊆Mn(−1)|C|−1∣∣∣∣⋂T⊆CT∣∣∣∣|⋃i=1nSi|=∑C