摘要: 题意 给定$n$个点,然后$m1$条无向带正权边,$m2$条有向且保证无环的带权边(权值可正可负),问$S$到所有点到最短路,如果到达不了输出"NO PATH"。 思考 无向有权边之间可以形成一个连通块,每个连通块内部可以用$Dijkstra$处理相互之间的最短路问题。 有向有权边可以看成每个连通块 阅读全文
posted @ 2021-06-11 00:36 Wise_4 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题意 给定深度为$k$的完全二叉树,每个节点有一个值$0/1/?$,其中$0$代表选左值,$1$代表选右值,$?$代表二者都选。初始情况下,叶子结点下的节点值为$1$。 问每次修改一个节点后,根节点的值为多少。 解法 先根据初始状态建成一颗树,然后每次单点修改,时间复杂度$O(m * k)$。 小记 阅读全文
posted @ 2021-06-10 00:57 Wise_4 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个仅包含0,1,?的字符串,问能有多少个子串符合010101或者101010这种情况。 解法 一开始的思路是枚举匹配01,然后?加到每个能匹配的子串前,过了样例然后WA2了。 尝试去看题解,发先不是很好理解。 去看了看榜单上厉害的大佬是怎么写的,揣摩了一会,似懂似不懂的抄了一遍代码,过掉 阅读全文
posted @ 2021-06-09 09:43 Wise_4 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 题解 思路来源于Here。 贪心的将士兵撞面返回这个过程,想象成互相穿过的过程,因为每个士兵都可以视为相同的单位,所以题目也就可以转化成简单的贪心取向左或者走的最大值,最小值。 这个思路简直妙到家了,我一直在思考相撞后的复杂过程应该怎么处理,因为好多个士兵的相撞是多个不同的过程,过程之间又有干扰。。 阅读全文
posted @ 2021-06-06 01:05 Wise_4 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 解法 题目思路来源于Here 经典状态压缩DP。定义$dp[i]$来表示:当前$i$所表示的二进制所对应的$nums2$数组当前位置是否用过,二进制位置为$1$表示用了,否则表示没有用。枚举$nums2$中的的每种使用情况,然后枚举$nums1$中的值来更新最小的$dp$数组。 思考 看到题目的数据 阅读全文
posted @ 2021-06-03 17:08 Wise_4 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 解法 分析一下题目中置换的方式,然后画一下第一个样例的转换路径,会惊奇的发现其实整个图就是数个简单环(不信的可以自己一下题目的样例哦~),那么题目也就可以转换为计算当前节点所处环中的节点数量。 以上内容全部来自与$yxc$的视频讲解,我其实在看到题的时候,没啥思路的,但是当听完$y$总的讲解之后发现 阅读全文
posted @ 2021-06-02 22:49 Wise_4 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个长度为$n$的数组$a$,$d[i]$表示前$i$个数的最大值和最小值的差值,你可以随意选择数组顺序,求最小的$d$数组之和。 解法 想一下长度为$n$的最后一个$d[i]$,它的值一定是当前数组的最大值减去最小值,那么我们之能通过减少前$n-1$个位置的答案来维护最小值。也就是说,对 阅读全文
posted @ 2021-05-29 15:19 Wise_4 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 题意 给一颗树,每个节点v都值都在[lv, rv]之间,边权的值定义为两个节点值的差的绝对值 |av - au|,问整个树的最大边权和是多少。 解法 不难想出每个节点的值当切仅当取段点值时,整张图的边权值才能最大,所以每个节点仅有两个可选值。 就可以采用树形DP,用dp[u][0] 表示当前u选左端 阅读全文
posted @ 2021-05-29 10:26 Wise_4 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 以下内容主要参考此博客 题意如下: 题解如下: 思考: 第一是:我思考这个题目的方向出现问题,我是想从 y 出发试着能推出来多少 x 满足,但好像这样的思考方向较难实现。 第二是:好像很多基础的数论都是将一个数转化为另一种倍数形式,然后再根据这个倍数形式去发掘信息和转换。 ll x,y;cin >> 阅读全文
posted @ 2021-05-27 16:26 Wise_4 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题意如下: 给定三个颜色的气球r,g,b;每三个凑一桌, 但是每桌不能都是一个颜色 可行方案如下:rgg,rgb.... 问最多能凑多少桌 乱搞 一: 发先好像可以先取走三个数中的最小值,然后在剩下的两个数中不断取值。 错误数据:100 99 56 二: 发先好像剩下的两个数数又可以混合取。 错误数 阅读全文
posted @ 2021-05-27 14:27 Wise_4 阅读(64) 评论(0) 推荐(0) 编辑