上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 猫猫题 解题思路 这题刚开始的时候我不知道双向图怎么遍历树,那个时候dfs函数还不太会用,经过百万年筹谋积蓄,现在已经可以独立写出来了,算是整理题目的收获吧,包括自己对dfs函数的理解也越来越深。 双向邻接表,我使用了一个vis数组来给走过的点做标记,有效遍历每个结点。题目要求的是连续的猫猫,所以一 阅读全文
posted @ 2026-03-22 18:12 shuiwangrenjia 阅读(33) 评论(0) 推荐(0)
摘要: 本题传送门 解题思路 既然要算一段区间的和,就用前缀和。 然后遍历这个数轴,如果一段窗口区间的前缀和爆了,就说明这个窗口最后一个元素加进来之后会超大小,根据题目,我们理论上可以把这个数修改成无穷小,然后所有包含这个数的区间都不用看了,以窗口大小为3举例很容易推导出参数表达。 ac✅️代码 #incl 阅读全文
posted @ 2026-03-22 16:21 shuiwangrenjia 阅读(67) 评论(0) 推荐(0)
摘要: 本题传送门 解题思路 本题难点在于理解题意,和敢于dfs的勇气 直接上代码 #include<iostream> #include<algorithm> using namespace std; //不如直接求出n位数以内的所有数谁能够被n整除 typedef long long ll; ll n, 阅读全文
posted @ 2026-03-22 15:16 shuiwangrenjia 阅读(111) 评论(0) 推荐(0)
摘要: L2-055胖达的山头 解题思路 先把时间换算成秒,输入的时候可以用scanf,然后用一个cnt[100010],一天有86400秒,数组大小足够,然后对于开始时间st,cnt[st]++,对于结束时间ed,cnt[ed+1]-- , 这里的ed+1是因为,题目要求任意一个时刻都不能同时有多个熊猫, 阅读全文
posted @ 2026-03-22 14:33 shuiwangrenjia 阅读(66) 评论(0) 推荐(0)
摘要: 本题传送门 解题思路 本题思路是 确定前两个点,推出第三个点,由于我们要找目标在第三个集合中有没有,而这个数可能是负数,所以可以采取对v2所有数字映射为正整数,做个标记,后续查询时间复杂度为O(1),然后把目标算出来之后也要映射一下,以对应v2,所以bool[tar+偏移量] 。 剪枝:由于v0,v 阅读全文
posted @ 2026-03-22 10:48 shuiwangrenjia 阅读(213) 评论(0) 推荐(0)
摘要: 算式拆解 祛魅题 解题思路 与acwing的表达式求值同出一辙 , 这是acwing题目传送门,再来看这一题,其实几乎可以套模板了(还是有点跨度的),由于题目只是要求输出计算步骤,而不是每一步的结果,所以用字符串更方便,而且我们这里的数栈用的是string类型,避免我们的标记值与题目数据冲突。 重点 阅读全文
posted @ 2026-03-22 10:28 shuiwangrenjia 阅读(109) 评论(0) 推荐(0)
摘要: 本题传送门 被卡掉一个点的代码 #include<iostream> #include<vector> using namespace std; int L,N,ans; int col_sum[5]; vector<vector<int>> valid_rows; vector<int> temp 阅读全文
posted @ 2026-03-21 20:59 shuiwangrenjia 阅读(31) 评论(0) 推荐(0)
摘要: L2-051满树的遍历 解题思路 很简单的dfs函数,这里可以用set来存所有的度,度有三种情况: 度只有一个,就是0,当树只有一个结点的情况,这时候是合法的,为0阶满树。 度有2个,叶结点度为0,其余结点度相等,这种情况也是合法,*set.rbegin就是set最后一个元素,即最大度。 度大于等于 阅读全文
posted @ 2026-03-21 18:16 shuiwangrenjia 阅读(59) 评论(0) 推荐(0)
摘要: 传送门 解题思路 这是一道比较简单的字符串处理的题目,考点就是对于单词间有多个空格的字符串的处理,还有对字符串的排序。 方法一: 记录一下上个字符的状态,如果上一个是空格(初始化为true),而当前的是字符,那就说明它是一个单词的开头。用一个map<string,vector>来处理,也可以使用un 阅读全文
posted @ 2026-03-21 14:45 shuiwangrenjia 阅读(52) 评论(0) 推荐(0)
摘要: 本题传送门 解题思路 这里提供两种思路: 用个vector<set> 来放个邻接表,每个单位是一个集合,代表每个人拥有的物品数。然后查询的时候,遍历所有人,只要在他的集合里既存在l,又存在r 就计数加一。最后输出 使用vector 来放个邻接表,每个单位代表拥有这个物品的人有哪些,然后对于查询的物品 阅读全文
posted @ 2026-03-21 13:31 shuiwangrenjia 阅读(56) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 ··· 9 下一页