上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 区间 DP 拆分型区间 DP 是一种用于解决序列分割问题的动态规划方法。核心思想是将一个区间拆分成若干子区间,分别求解子问题,再通过合并子问题的解得到原问题的解。关键特征如下: 问题结构:问题涉及线性序列(如数组、字符串),需要将序列分割成连续子段进行处理。 状态定义:通常定义 dp[l][r] 表 阅读全文
posted @ 2025-08-14 21:50 KK_SpongeBob 阅读(10) 评论(0) 推荐(0)
摘要: 题目一:B3611 【模板】传递闭包 思路总结 问题本质:给定有向图的邻接矩阵,求传递闭包矩阵(任意两点间是否存在直接或间接路径)。 核心算法:使用 Floyd-Warshall 算法 的变种: 初始化距离矩阵 dp:若存在边 (i, j),则 dp[i][j] = 1;否则为极大值(0x3f3f3 阅读全文
posted @ 2025-06-20 15:48 KK_SpongeBob 阅读(23) 评论(0) 推荐(0)
摘要: 题目1:B3644 【模板】拓扑排序 / 家谱树 思路 问题本质:将家族成员组织成一个序列,使得每个成员的后代都排在其后面。这是典型的拓扑排序问题。 建模:将每个家族成员看作图中的节点,若成员A是成员B的后代,则添加一条从B指向A的有向边(B→A)。 拓扑排序: 计算每个节点的入度(指向该节点的边数 阅读全文
posted @ 2025-06-04 20:58 KK_SpongeBob 阅读(9) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2025-05-24 21:39 KK_SpongeBob 阅读(0) 评论(0) 推荐(0)
摘要: 第一题:P1115 最大子段和 思路 使用动态规划,dp[i] 表示以 a[i] 结尾的最大子段和。状态转移方程为 dp[i] = max(a[i], dp[i-1] + a[i])。遍历所有可能的子段结尾,取最大值即为答案。 重难点 正确设计状态转移方程,确保包含所有可能的子段情况。 处理全负数情 阅读全文
posted @ 2025-05-23 19:56 KK_SpongeBob 阅读(15) 评论(0) 推荐(0)
摘要: ![image](https://img2024.cnblogs.com/blog/3247264/202505/3247264-20250517212930555-373419627.jpg) 阅读全文
posted @ 2025-05-17 21:46 KK_SpongeBob 阅读(8) 评论(0) 推荐(0)
摘要: 第一题:B3621 枚举元组 思路: 通过递归生成每个位置的可能值(1到k),DFS按字典序遍历所有可能。每个位置从1到k依次填入,递归处理后续位置,确保生成的元组按字典序排列。 重难点: 字典序生成:DFS自然按顺序生成,无需额外处理。 递归设计:每个递归层处理一个位置,循环遍历所有可能值。 正确 阅读全文
posted @ 2025-05-11 11:55 KK_SpongeBob 阅读(36) 评论(0) 推荐(0)
摘要: AT_abc328_e 其实看起来复杂,实际上只要dfs枚举每一边,在最后判断是否为生成树,计算贡献即可 点击查看代码 #include<bits/stdc++.h> #define int long long #define endl "\n" using namespace std; const 阅读全文
posted @ 2025-05-05 16:23 KK_SpongeBob 阅读(16) 评论(0) 推荐(0)
摘要: 0x0f 前置 前置芝士:并查集,图论基础,数论基础 其实最小生成树只是某个人用来装*的 —— 某老师 1x0f 简介 首先给出生成子图的定义(From OI Wiki): 嗯……有点抽象,不妨简化一下: 有一个图 \(G\),如果删去 \(G\) 中的若干条边与若干个点得到一个图 \(G'\),且 阅读全文
posted @ 2025-04-23 21:45 KK_SpongeBob 阅读(260) 评论(0) 推荐(1)
摘要: T1 P2661 [NOIP 2015 提高组] 信息传递 首先分析给出的图片 显而易见,给出的关系是被告诉的人是告诉人的父亲,那么可以得到这样一张图: 可以发现,最终的答案就是图中环的大小,同时可能有多个环,要找最小的一个 那怎么判环?可以使用并查集 按照这个标记方法,能看出当一个点的父亲的祖先是 阅读全文
posted @ 2025-04-13 17:17 KK_SpongeBob 阅读(16) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 10 下一页