摘要: 题目传送门 题意简介 在一棵树上删去一些边,使得形成的几个连通块,都有且仅有 $3$ 个结点。 多个答案时仅需输出任意一个。 每个测试点有多组测试数据。 解法 思路 首先注意到每个连通块都有且仅有 $3$ 个结点,所以节点数 $n$ 必须是 $3$ 的倍数。可以先特判。 考虑有解时,我们可以从下往上 阅读全文
posted @ 2023-07-20 14:43 Po7ed 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题意简介 有以下递归定义: 消息 = 句子 or 句子 空格 消息 句子 = 单词 空格 句子 or 单词 结尾 结尾 = {'.', '?', '!'} 单词 = 字母 or 字母 单词 字母 = {'a'..'z', 'A'..'Z'} 空格 = ' ' (结尾为句子结尾。) 现在有 阅读全文
posted @ 2023-07-19 16:13 Po7ed 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 解法 思路 求“最小不满值”,还给了一些点和边,明显是求最短路。 算法流程 记走 Dirt Road 和 Rome Road 一个单位长度时的不满值为 $D$ 和 $R$。 前置知识:欧几里得距离、Dijkstra。 按照输入的建 Rome Road。边权为 $R\times\sqrt{ 阅读全文
posted @ 2023-07-06 08:36 Po7ed 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 前排提醒:做法硬核。 题目大意 $5\times 5$ 的字符数组,选择 $7$ 个相连的字符,使 $\texttt{J}$ 比 $\texttt{H}$ 多,并输出方案总数。 解法 暴力搜! 思路 首先关注数据范围:$5\times 5$ 选 $7$,再看时空限制:$5\text{s} 阅读全文
posted @ 2023-07-05 13:56 Po7ed 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 错误思路 暴力搜,搜每个下划线位置的字母,记下划线个数为 $m$,则 $m\le10$,时间复杂度 $O(26^m)$,超时。 正解 思路 很容易想到其实 $5$ 个元音字母没有本质区别,除了 $\texttt{L}$ 外的辅音字母也一样。我们在搜时只需要在下划线处搜: 元音字母 除 $ 阅读全文
posted @ 2023-07-03 14:26 Po7ed 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 错误思路 暴力模拟,显然 $O(n^2)$,过不了 $1 \leq n \leq 10^5$。 正解 思路 重新看题面,可以发现想快速查找 面值不超过当前自己钱包中硬币的总面额的硬币中面额最大的一枚硬币 可使用二分法。 算法流程 将读入的硬币数组排序(或在输入时就用二分插入使数组有序)。 阅读全文
posted @ 2023-07-02 16:08 Po7ed 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 无人荒原(已经废弃)。 $\text{upd:2023/5/2\;完成算法优化。}$ 如有错误,欢迎指正。 1.什么是并查集 并查集(union-find set),顾名思义就是可以维护两种操作的集合。 以下,设集合 $a$ 为要维护的集合。 1.1 并 并查集在最初时,集内所有的 $n$ 个元素 阅读全文
posted @ 2023-05-10 20:13 Po7ed 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 本蒟蒻的第一篇题解! 但是未通过。 题目传送门 错误算法 点进这道题,你可能会想:又是道大水题!不就是模拟吗? 结果喜提 TLE。 经过分析,暴力模拟维护了 01 矩阵中的每一个元素,时间复杂度为 $O(K \max (M,N)+MN)$,而题目中 $M \times N \leq 5000000, 阅读全文
posted @ 2023-02-05 15:44 Po7ed 阅读(3) 评论(0) 推荐(0) 编辑