- 博客(19)
- 收藏
- 关注
原创 [编译原理] 第一次作业
该内容涉及编译原理教材P31-32页的1~4题,包含四张相关图片描述。从图片链接看,这些内容可能涉及词法分析、语法分析等编译过程的基本概念和方法。四张图片可能分别展示了不同编译阶段的示例、习题或知识点解析,但具体内容需查看原图才能确定。这些内容对理解编译器的构建原理和实现技术具有重要参考价值。
2025-09-22 21:59:41
162
原创 [每日随题15] 前缀和 - 拓扑排序 - 树状数组
本文包含三道算法题解:1. P10250 [GESP样题 六级] 下楼梯(1000分):利用前缀和预处理异或值,通过查询确定最少步数;2. P8551 Bassline(1500分):采用拓扑排序处理森林结构,确定边的关系;3. P2424 约数和(2000分):使用树状数组统计交点,计算每次画线新增区域数。三题分别考察了前缀和、拓扑排序和树状数组的应用。
2025-07-23 23:51:42
750
原创 [每日随题14] 递推 - 滑动窗口 - 数学
本文总结了三个编程题目及其解法: P10250 下楼梯问题:通过递推公式$dp_i = dp_{i-1}+dp_{i-2}+dp_{i-3}$求解,时间复杂度$O(n)$,适合初学者。 P8551 Bassline问题:利用滑动窗口和优先队列,排序后枚举区间端点,时间复杂度$O(n\log n)$,考察STL应用。 P2424 约数和问题:通过数学方法优化计算,利用整除分块将复杂度降至$O(\sqrt{n})$,适用于大数范围。 三题难度递增,涵盖递推、滑动窗口和数学优化等知识点。
2025-07-20 16:28:23
732
原创 [每日随题13] 博弈论 - 二分 - 拓扑排序
本文介绍了三道算法题: P1288 取数游戏 II(博弈论):判断先手是否能获胜,关键在于检查先手与0的距离是否为奇数。 P4343 自动刷题机(二分):通过二分查找确定满足通过k题的最大和最小n值。 P4089 牛群洗牌(拓扑排序):统计环上的奶牛数量,确保任何时候都有奶牛存在。 三道题难度递增(1000→1400→1500),分别考察了博弈论、二分和拓扑排序的应用。
2025-07-20 10:23:51
961
原创 [每日随题12] BFS- 树上背包 - 动态开点线段树
这篇文章摘要了三道算法题目及解题思路: 特技飞行(P3918):使用BFS预处理所有可能矩阵状态到终点的步数,将3x3矩阵转为字符串存储,通过逆时针旋转操作预处理所有状态的步数,实现O(1)查询。 潜入行动(P4516):采用树上背包的动态规划方法,定义四维状态表示节点是否放置监听器及是否被监听,通过合并子树状态计算方案数,最终复杂度为O(nk)。 mou(P5848):利用动态开点线段树维护区间和与前缀最大值,支持区间修改和查询满足高度条件的最小x值,处理大规模数据时通过动态开点优化空间。 三题分别涉及B
2025-07-20 08:59:20
1073
原创 [每日随题11] 贪心 - 数学 - 区间DP
本文包含三道编程题的题解: 特技飞行(P3918):贪心题,难度1000。通过将价值从大到小排序,优先安排在头尾位置,计算最大总贡献。核心思路是每次操作贡献只与首尾位置有关。 水上舞者索尼娅(P11465):数学题,难度1400。利用等比数列求和公式计算总使用次数,注意模数下的除法转换为乘以逆元。公式为(k+1)((k+1)^n-1)/k。 IVANA游戏(P6457):区间DP题,难度1600。拆环成链后,定义dp[i][j]为先手在区间[i,j]的最大奇数优势。状态转移比较两端选择,最后统计初始选择点i
2025-07-19 22:01:15
998
原创 [每日随题10] DP - 重链剖分 - 状压DP
本文摘要了三道算法竞赛题目及题解: P6005(难度1600):动态规划问题,通过状态转移计算不同天数到达各城市的最大收益,时间复杂度优化为O(1000·M)。 P10391(难度2200):树链剖分问题,利用重链剖分和线段树维护路径权值的或和,快速查询不同类型权值数量。 P7519(难度2600):状压动态规划问题,通过状态压缩和差分数组优化,计算满足条件的排名方案数。三道题目分别展示了DP、树链剖分和状压DP在不同场景下的应用。
2025-07-19 20:07:06
1017
原创 [每日随题9] 贪心 - 数学 - 并查集
本文介绍了三个算法题的解题思路与代码实现: MOLEKULE(1400分):给定一棵树,要求为边定向使最长路径为1。解法是交替设置边的方向,采用DFS遍历树结构实现。 Add(1400分):数学题,计算1到n的平方和模998244353。使用平方和公式和逆元处理除法取模问题。 TOU-Tour de Byteotia(1800分):并查集应用,删除部分边使图中无环。优先保留连接大编号节点的边,再用并查集维护连通性,确保删除的边最少。 三个题目分别涉及贪心、数学和并查集算法,展示了不同难度级别问题的解决方法。
2025-07-19 01:14:59
873
原创 [每日随题8] 二分、贪心 - 最小生成树 - 树型DP
本文包含三道算法题的解题思路及代码实现: P7305 [COCI 2018/2019 #1] Cipele(1200分,贪心+二分):通过二分答案和贪心匹配策略,求最小差值使得鞋子能两两配对。 P1547 [USACO05MAR] Out of Hay S(1400分,最小生成树):使用Kruskal算法求最小生成树的最长边。 P1273 有线电视网(1600分,树型DP):通过背包式DP计算节点收益,求解满足条件的最大用户数。 三题分别考察二分答案、最小生成树和树型DP的应用,代码均给出详细实现。
2025-07-18 23:39:29
671
原创 [每日随题7] 贪心 - 数学 - CDQ分治
题目摘要: 492C.Vanya and Exams (1400分):贪心算法题。给定n门考试,每门考试当前分数a_i和每次提高1分需要写b_i篇文章。要求平均分达到avg,求最少需要写的文章数。解法:按b_i排序,优先选择性价比高的考试提高分数。 852E.Casinos and travel (2100分):数论/树形结构题。给定一棵树,要求统计所有可能的根节点选择方案,使得从根到每个叶节点的路径上黑点数量为偶数。解法:分类讨论根节点类型,利用快速幂计算方案数。 1045G.AI robots (220
2025-07-14 14:16:05
763
原创 [每日随题6] 模拟 - 贪心 - KMP、DP
本文摘要了三个Codeforces编程竞赛题目: 1185B.Email from Polycarp(难度1200):通过模拟方法验证字符串是否符合连续字母重复规则,只需检查字母顺序和重复次数即可。 1861C.Queries for the Array(难度1600):使用贪心策略跟踪序列的有序状态,维护当前长度、有序标记和无序标记,通过状态转移处理查询操作。 346B.Lucky Common Subsequence(难度2000):结合KMP算法和三维动态规划,在LCS基础上增加病毒串匹配维度,复杂度
2025-07-13 17:39:58
1297
原创 [每日随题5] 贪心 - 树型DP - 邓老师调整法
这是一组编程竞赛题目解析,包含三个不同难度级别的题目: CF1468N.Waste Sorting(900分,贪心算法): 处理三类垃圾和两种混合垃圾,优先将混合垃圾放入前两种垃圾桶,剩余部分放入第三种 检查垃圾桶容量是否足够,输出"YES"或"NO" CF1363E.Tree Shuffling(2000分,树型DP): 通过DFS预处理每个节点的最小操作成本 统计子树中需要0→1和1→0转换的节点数量 计算最小成本,若根节点剩余不平衡节点则输出-1 CF280E.
2025-07-12 00:34:24
1203
原创 [每日随题4] 博弈论 - 贪心 - DP
本文摘要了三道Codeforces编程竞赛题目: 1695B.Circle Game (1000分):两人轮流取石子堆,奇数堆Mike取,偶数堆Joe取。当堆数为奇数时Mike必胜;偶数时比较双方最左最小堆,数量小者先败。 1742G.Orray (1500分):重排数组使前缀OR值字典序最大。每次贪心选择能最大化当前OR值的元素,最多进行32次选择。 629C.Famil Door and Brackets (2000分):用DP统计合法括号序列方案数。预处理长度为i、左括号比右括号多j个的方案数,再根据
2025-07-11 16:23:39
495
原创 [每日随题3] 数学 - DP - 线段树、扫描线
本文介绍了三个Codeforces编程竞赛题目: Raspberries (1883C):给定数组和k(2≤k≤5),求最少操作次数使数组乘积能被k整除。当k为质数时只需调整一个元素;k=4时需考虑调整两个偶数元素的组合。 Array Walk (1389B):线性DP问题,在最多z次向左移动的限制下,计算k步移动后的最大得分。使用三维DP状态表示当前位置、左移次数和移动方向,复杂度O(n*z)。 Penacony (1996G):环上路径问题,通过枚举删除边并用线段树维护区间覆盖,找到必须保留的边。采用扫
2025-07-11 00:00:02
1246
原创 [每日随题2] 模拟 - 贪心 - 贪心
本文分析了三个编程竞赛题目: Alice's Permutation Problem (1400):当b≠0时,答案等于n减去已出现的数字个数;当b=0时,根据c的值判断能否形成排列,否则输出-1。 Grid Puzzle (1800):贪心策略处理矩阵,当a_i≥5时直接操作,小数值需考虑上一行状态,最后处理剩余格子。 New Game Plus! (2200):将BOSS分成k+1组,按a_i降序排序后用优先队列分配,确保大a_i优先被处理以最大化分数。 三题分别考察了模拟、贪心和优先队列的应用。
2025-07-09 15:45:44
795
原创 [每日随题1] 模拟 - 差分数组 - 树状数组
本文介绍了三个Codeforces编程竞赛题目及其解法: 1742B.Increasing(800分):判断数组能否通过排序变为严格递增。解法是将数组排序后检查相邻元素是否相同。 892B.Wrath(1200分):计算在所有人同时攻击后幸存的人数。使用差分数组高效统计攻击范围。 830B.Cards Sorting(1600分):模拟排序卡片的最少操作次数。利用树状数组和STL-set优化查询和更新过程,复杂度为O(n log n)。 三个题目分别涉及排序、差分数组和树状数组等算法技巧,难度从简单到中等递
2025-07-08 02:02:30
547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1