06 2021 档案

摘要:题意 给定$n$个点,然后$m1$条无向带正权边,$m2$条有向且保证无环的带权边(权值可正可负),问$S$到所有点到最短路,如果到达不了输出"NO PATH"。 思考 无向有权边之间可以形成一个连通块,每个连通块内部可以用$Dijkstra$处理相互之间的最短路问题。 有向有权边可以看成每个连通块 阅读全文
posted @ 2021-06-11 00:36 Wise_4 阅读(59) 评论(0) 推荐(0)
摘要:题意 给定深度为$k$的完全二叉树,每个节点有一个值$0/1/?$,其中$0$代表选左值,$1$代表选右值,$?$代表二者都选。初始情况下,叶子结点下的节点值为$1$。 问每次修改一个节点后,根节点的值为多少。 解法 先根据初始状态建成一颗树,然后每次单点修改,时间复杂度$O(m * k)$。 小记 阅读全文
posted @ 2021-06-10 00:57 Wise_4 阅读(64) 评论(0) 推荐(0)
摘要:题意 给定一个仅包含0,1,?的字符串,问能有多少个子串符合010101或者101010这种情况。 解法 一开始的思路是枚举匹配01,然后?加到每个能匹配的子串前,过了样例然后WA2了。 尝试去看题解,发先不是很好理解。 去看了看榜单上厉害的大佬是怎么写的,揣摩了一会,似懂似不懂的抄了一遍代码,过掉 阅读全文
posted @ 2021-06-09 09:43 Wise_4 阅读(109) 评论(0) 推荐(0)
摘要:题解 思路来源于Here。 贪心的将士兵撞面返回这个过程,想象成互相穿过的过程,因为每个士兵都可以视为相同的单位,所以题目也就可以转化成简单的贪心取向左或者走的最大值,最小值。 这个思路简直妙到家了,我一直在思考相撞后的复杂过程应该怎么处理,因为好多个士兵的相撞是多个不同的过程,过程之间又有干扰。。 阅读全文
posted @ 2021-06-06 01:05 Wise_4 阅读(45) 评论(0) 推荐(0)
摘要:解法 题目思路来源于Here 经典状态压缩DP。定义$dp[i]$来表示:当前$i$所表示的二进制所对应的$nums2$数组当前位置是否用过,二进制位置为$1$表示用了,否则表示没有用。枚举$nums2$中的的每种使用情况,然后枚举$nums1$中的值来更新最小的$dp$数组。 思考 看到题目的数据 阅读全文
posted @ 2021-06-03 17:08 Wise_4 阅读(152) 评论(0) 推荐(0)
摘要:解法 分析一下题目中置换的方式,然后画一下第一个样例的转换路径,会惊奇的发现其实整个图就是数个简单环(不信的可以自己一下题目的样例哦~),那么题目也就可以转换为计算当前节点所处环中的节点数量。 以上内容全部来自与$yxc$的视频讲解,我其实在看到题的时候,没啥思路的,但是当听完$y$总的讲解之后发现 阅读全文
posted @ 2021-06-02 22:49 Wise_4 阅读(45) 评论(0) 推荐(0)