随笔分类 - 题解
摘要:不知道是不是我打的最后一场模拟赛了,记录一下吧,总体来说还不错,虽然 \(T1\) 方案数求错爆零了,但 \(T3\) 场切了,暴力打满的话有265,希望 \(NOIP\) 时也可以不让自己遗憾吧。 ——我们终会在星辰里相遇 A 【模板】分治FFT 考虑每加进来一个数的贡献 \(x_1*x_2+(x
阅读全文
摘要:已经好久没写模拟赛题解了啊。。。 A. 邻间的骰子之舞 一个结论,可以打表,每一次复制后跟的粘贴数量要尽量相同,差不超过1,所以枚举复制了几次,然后二分最大的出来答案小于 \(n\) 的数 \(mid\),然后枚举多少个复制后的粘贴数为 \(mid+1\),出来的答案可以 \(O(1)\) 算,大于
阅读全文
摘要:[CEOI2004] Sweets 容斥板子,不知道为啥题解都是生成函数 考虑可重集容斥,对于$ S=\begin{Bmatrix} n_1\cdot a_1,n_2\cdot a_2,\cdots,n_k\cdot a_k, \end{Bmatrix}$表示由 \(n_1\) 个 \(a_1\)
阅读全文
摘要:upd on 2024.10.14 增加了多步容斥的原因 题目就是让你找出一组数,使其乘积是给出的质数的倍数,问有多少组这样的数 因为它是质数,一开始考虑单独求解,用质因子含一个质数的乘积减含两个数的加上含三个数的。。。然后就发现所有组合 都要算一遍,复杂的 \(2^k-1\) (\(k\) 为质数
阅读全文
摘要:A. 小 Z 的手套(gloves) 明现的二分,我们先排序,假定 \(a\) 数组个数少,我们就对每一个 \(a_i\) 找一个 \(b_i\) 使其差不超过二分的值,然后 贪心来讲,肯定找相差最大的那组但差不超过二分值的那个数最优,且先找比他小的那组(因为排过序了),然后套个 \(multise
阅读全文
摘要:A. 好数(number) 很容易想到 \(n^3\) 枚举两个,看第三个是否出现,扩展一下,枚举一个,看剩下需要的和是否出现过,提前处理出两两的和 和最早能合出这个数的位置,复杂的 \(O(n^2)\) 点击查看代码 #include<bits/stdc++.h> const int maxn=5
阅读全文
摘要:A. 02表示法 对要求的数二进制拆分,每一位递归求解,大于2就继续拆,是1返回 \(2(0)\) ,是2返回 \(2\),由于外层的数比较大,所以 要写一个高精除低精 点击查看代码 #include<bits/stdc++.h> #define int long long const int ma
阅读全文
摘要:A. 欧几里得的噩梦 线性基,不会,咕咕咕 B. 清扫 赛时想到要分为两种操作了,也想到要把剩余未分配石头上传处理了,但是没想清楚操作之间的关系,冲着一堆样例的结论 就开始写分讨了,思路不是很清晰,然后因为绑包。。。似的很惨 对于一个节点,我们把它直接儿子当作叶子即可,上面的信息是其子树分配后需要处
阅读全文
摘要:A. 五彩斑斓 没办法,不会统计四个点相同的,赛时没想到,写了一个神秘算法骗了80 考虑倒着计算,总子矩阵有 \(\frac{n(n+1)*m(m+1)}{4}\) 个,减去四个角相同的矩阵数量就是答案,枚举矩阵的上下边界两条线 再枚举每一列,会有两个交点,统计每种颜色的上下交点颜色一样的个数,就可
阅读全文
摘要:A. 挤压 拆位算贡献,一个数二进制表示平方为 \(\sum_{i,j}s_i*s_j*2^{i+j}\) ,单独算每一项的贡献,枚举 \(i,j\),只有当这两位都为1时 结果才是1,所以我们要找异或后这两位都是1的方案数,这里需要 \(dp\) 用 \(f_{i,j,k}\) 表示前 \(i\)
阅读全文
摘要:这次状态不是很好,冲着T1磕了4个小时,后仨题看都没看。。。 A. median 去他丫的容斥,考虑排序,一个数作为中位数的方案数就是他左边有俩不同类型的数和右面有俩不同类型的数的总和 枚举哪些类型左边哪些右边,对每一位计算贡献就可以了,要提前预处理出来个数。 (有没有好心人看看我代码哪多乘了个4,
阅读全文
摘要:A. 一般图最小匹配 \(m\) 小于 \(\frac{n}{2}\) 所以对原数组排序后做差分,差分后的数不能选相邻的,设 \(f_{i,j,0/1}\) 表示前 \(i\) 个,选了 \(j\) 个,第 \(i\) 个选没选 直接 \(dp\) 求最小值就行 点击查看代码 #include<bi
阅读全文
摘要:A. 光 来自 \(K8\) 的神奇做法,根据贪心思想,一个点减四个亮度可以收益最大化,所以枚举四个灯亮度都不足4时的最终态,然后 看剩下需要亮度需要减的次数,每次选最大的那个操作就行,复杂度 \(O(16n)\) 点击查看代码 #include<bits/stdc++.h> const int m
阅读全文
摘要:A. 几何 设 \(f_{i,j,k}\) 表示前 \(i\) 个字符,分为两部分,分别为 \(x\) 的几倍加 \(x\) 的前 \(j\) 位,\(y\) 的几倍加 \(y\) 的前 \(k\) 位,是否合法 分别判断下一位 \(i+1\) 能否与 \(x\) 的下一位 \(j+1\) 和 \(
阅读全文
摘要:欢迎收看 \(T3\) 爆标解法! 额,在此感谢一下 Jijidawang 的帮助,式子从 \(n^2\) 到 \(nk\) 基本都是他做的,(没办法,我太菜了。。。) 节点 \(x\) 在其子树大小为 \(i\) 时的方案数为 \((n-x)!(x-1)!\dbinom{n-i-1}{x-2}\)
阅读全文
摘要:链接 鉴于 \(luogu\) 经常似,这里把 \(Markdown\) 粘过来了 题目 [NOIP2021] 方差 题目描述 给定长度为 \(n\) 的非严格递增正整数数列 \(1 \le a_1 \le a_2 \le \cdots \le a_n\)。每次可以进行的操作是:任意选择一个正整数
阅读全文
摘要:分析 很明显可以用树状数组做,但数据范围明显不允许,是开不下二维数组的 \[\huge那如何是好呢? \]这里就需要分治了,这里用的是 \(CDQ\) 分治,它的思路也是非常版,就一个递归函数, 它一共有三个需要干的 1 找到范围中点 \(mid\) ,递归解决 \((l,mid)\) 2 递归解决
阅读全文
摘要:状态转移 我们假设 \(f{_i}{_,j}{_,k}\),表示前 \(i\) 场,赢了 \(j\)场, 目前背包容量为 \(k\) 的概率,每一项挑战有两种状态,胜或失败,两种情况答案不同,所以要分开计算, 失败状态: \[f_{i,j,k}+=f_{i-1,j,k}*(1-p[i]) \]成功状
阅读全文
摘要:本人正在写树剖,结果线段树不会维护了,还是太菜了,然后就卡了半天。。。 这里以我卡的那题为解释 题目在此 这道题思路我自认为还是很板的, 操作1:安装的话就是输出本点深度减去它到根有几个1,再把这个点到根的链都变为1 操作2:删除就是先输出子树有多少个1,再全删了 我一直在想把每个节点都标为 \(1
阅读全文
摘要:抽象的题目(咱就是说,这个”难存的情缘“是指要把矿掏空吗) 题目 分析 这个题目还是比较好理解的,我们需要干的有 \(2\) 个操作,但实际上有 \(3\) 个 1 :边权转点权 2 :单点修改 3 :链上最大值查询 很明显是树刨板子题,操作中需要注意的有三点,如何转边权,最大值点权查多了,修改时的
阅读全文