文章分类 - 总结
摘要:卢卡斯定理 Tom and matrix 情况 时间:\(20min\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 卢卡斯定理 思路 首先可以推导出一个公式 \((_n^i)+(_{n+1}^i)+\cdots+(_m^i)=(_{m+1}^{i+1})\),所以知
阅读全文
摘要:哈希 字符串哈希 情况 时间:\(20min\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 哈希 思路 直接选取一个定值 \(\text{base}\)(我选了 \(131\)),然后每次计算一个数的时候从高到低先乘上 \(\text{base}\) 再加上字符的
阅读全文
摘要:构造 Range = √Sum 情况 时间:\(30min\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 分讨 思路 我们可以分讨 \(n\) 的奇偶性: 我们先构造一个数组 \(a\) 为 \(\{\lceil\frac{n}{2}\rceil,\lceil\fr
阅读全文
摘要:集训测试 A - 树链上的连续段 情况 时间:\(2h\) 预期:\(10\) 实际:\(10\) 知识点 分讨 思路 这道题我们通过观察可以发现,如果将随机连续一段的值赋值为 \(1\),那么连续段的个数最长为 \(3\),所以我们可以分讨三种可能性: 如果 \(k\) 为 \(0\) 或 \(n
阅读全文
摘要:图论 \(1\) G - National Property 情况 时间:\(40min\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 \(\text{2-SAT}\) 思路 我们发现这道题相邻两个字符串 \(s_{i-1}\) 和 \(s_i\) 有以下几种关系:
阅读全文
摘要:数论 A - Primal Sport 情况 时间:\(10min\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 贪心 思路 我们假设 \(x_1\) 的最大质数是 \(p_1\),\(x_2\) 的最大质数是 \(p_2\),根据题目操作描述可以得知 \(x_1-
阅读全文
摘要:模拟赛 \(7\) A - 最长上升子序列 情况 时间:\(1h\) 预期:\(30\) 实际:\(30\) 知识点 \(\text{STL}\),贪心 思路 首先看到题目,按照题目的意思写了一个 \(O(n^3)\) 的方法,就是每次计算都重新统计了一边,然后想到了一个伪做法,就是每次可以只计算与
阅读全文
摘要:树上问题 \(1\) A - Linova and Kingdom 情况 时间:\(5min\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 贪心 思路 我们发现如果一个点 \(x\) 是 \(y\) 的祖先,则选 \(y\) 的幸福值更大。所以可以贪心,每个点的幸福
阅读全文
摘要:图论 \(2\) D - 泡芙 情况 时间:\(40\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 \(\text{Tarjan}\) 思路 此题在同一个边双连通分量中的每一条边都可以走一遍,我们遍可以将一个边双连通分量,缩成一个点,这个点的点权 \(w1_i\)
阅读全文
摘要:模拟赛 \(6\) A - 宝石展览 情况 时间:\(40min\) 预期:\(100\) 实际:\(100\) 知识点 组合数学 思路 我们可以发现 \(\sum_{j=1}^{a_i}(v_i^j\times C_{a_i}^j)\times2^{\sum_{j=1}^na_j-a_i}\) 其
阅读全文
摘要:图论 \(1\) A - League of Leesins 情况 时间:\(10min\) 预期:\(\text{AC}\) 实际:\(\text{AC}\) 知识点 枚举 构造 思路 我们可以发现 \(a_1\) 和 \(a_n\) 只会出现 \(1\) 次,\(a_2\) 和 \(a_{n-1
阅读全文
摘要:模拟赛 \(5\) A - 器材整理 1、算法思想维度 问题类型:贪心 做题思路:发现容积肯定比总和除以 \(k\) 大,所以直接枚举 \(\lfloor\frac{sum}{k}\rfloor\) 到 \(sum\) 即可。 2、实现细节维度 要把数组 \(a\) 从大到小排序。 核心代码 cin
阅读全文
摘要:组合数学 \(1\) I - Twin Contests 1、算法思想维度 问题类型:组合数学 做题思路:我们可以知道问题 \(\alpha\) 中的 \(s\) 的答案是 \(A(s)=\Pi_{i=1}^{N}(g(i,s)-i+1)\) 所以我们要找出所有 \(s\) 的答案。设 \(h(n,
阅读全文
摘要:组合数学 \(1\) A - Binary Search 1、算法思想维度 问题类型:组合数学,二分 做题思路:我们可以发现只要在它的 \(mid<pos\),那么一定要使得 \(a_{mid}\le x\),如果 \(mid>pos\),那么一定要使得 \(a_{mid}>x\),这样最终找到 \
阅读全文
摘要:模拟赛 \(4\) A - 建筑升级 1、算法思想维度 问题类型:贪心 做题思路:每次计算至少到该位置最多可以得多少分,然后枚举 \(m\) 即可过。要注意有可能 \(d\) 的值非常大,所以要判断这种情况。 2、实现细节维度 核心代码 for (int i = 1; i <= n; i++) {
阅读全文
摘要:\(\text{dp} 2\) A - Sleeping Schedule 1、算法思想维度 问题类型:\(\text{dp}\) 做题思路:我们可以直接 \(\text{dp}\),定义 \(dp_{i,j}\) 表示目前位置在 \(i\),时间为 \(j\) 的答案最大值,然后直接转移即可。 2
阅读全文
摘要:模拟赛 \(3\) A - 和除或 1、算法思想维度 问题类型:容斥,\(\text{map}\) 做题思路:我们发现一共只有两种答案: 答案为 \(1\):两个数的按位与是 \(0\); 答案为 \(2\):两个数的按位与不是 \(0\)。 所以统计出每个数的 \(2\) 的幂的组合加入 \(\t
阅读全文
摘要:字符串 A - Word Cut 1、算法思想维度 问题类型:\(\text{dp}\) 做题思路:可以很容易发现如果 \(s\) 可以变成 \(t\),则 \(s\) 可以通过 \(0\) 次或 \(1\) 次直接变成 \(t\)。所以可以直接枚举交换那些位置可以把 \(s\) 变为 \(t\)
阅读全文
摘要:1. 模拟赛 \(2\) 总结:\(\text{STL}\) 掌握不熟悉,小根堆打成大根堆,\(335\to280\)。 A - 子段乘法 1、算法思想维度 问题类型:线段树 做题思路:维护区间的最大子段和与最小子段和,然后枚举中间分割线,答案为最大的两个分割开的区间的乘积,所以这个乘积可能为两个最
阅读全文

浙公网安备 33010602011771号