上一页 1 2 3 4 5 6 7 ··· 36 下一页
摘要: 题目大意 hdu oj已挂,就不写代码了 有一个 n 个点 m 条边的有向带边权图。现在给你 k 个点, 问 k 个点中最近的点对距离。 n, m, k ⇐ 100000 题目思路 思考一个问题: 给定两个点集A和B,求A中的点到B中的点的最近距离。 新建一个源点S,往A中的所有点连一条边权为0的边 阅读全文
posted @ 2022-01-21 19:25 hunxuewangzi 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 差分约束这个东西其实就是最短路的一个应用 其实本质上就是有一堆$x_i-x_j\leq c$的不等式 这个式子又很像最短路中的$dis[i]\leq dis[j]+c$ 那么就可以建一条$j$到$i$的长度为$c$的路径 有些情况还要加一个源点 模板题 zoj2770 定义$s$数组为前缀和,首先根 阅读全文
posted @ 2022-01-21 18:58 hunxuewangzi 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 求$s$到$e$中,恰好经过$n$条边的最短路 题目思路 看到经过$n$条边,就要想到矩阵快速幂的思想 然后是最短路,利用floyd的思想,不是普通的floyd的稍微有些变化,但是思想是一样的 每一次floyd相当于多走了一条边 还需要离散化 代码 #include<cstdio 阅读全文
posted @ 2022-01-21 09:24 hunxuewangzi 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 原先说这个对标铜银题,感觉不太像啊 我现在都有点理解不了,我感觉有点像dp一样有点玄乎,感觉类似于按照x轴,从右往左进行dp 所以我代码直接copy别人的了 官方题解如下 假设不存在挡板,那么小球的移动路线中,向右下移动的部分满足 ,向右上移动的部分满足 。 记 表示特征值为 的 阅读全文
posted @ 2022-01-19 17:04 hunxuewangzi 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 比赛的时候差不多想到了 其实就是他们的差值要么不变,要么除以因子,能除肯定要尽可能除 而有很多多余的状态没有必要表示,只要记录哪些dif改变的情况即可其实没那么难,就是要去掉很多表示状态即 可 代码 #include<bits/stdc++.h> #define fi first 阅读全文
posted @ 2022-01-19 13:01 hunxuewangzi 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 这个题目感觉比较有意思 就是分为三段,让前面两段的数量尽可能接近$2i,2j$ 这样的正确性感觉也不太会证明,不过看起来挺真的... 代码 #include<bits/stdc++.h> #define fi first #define se second #define pii 阅读全文
posted @ 2022-01-17 11:29 hunxuewangzi 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 这个题意有点难说清,还是自己读比较好 这个题目我觉得是比较套路的,首先只有$2*k+2$个点有用 一个起点加上终点再加上梯子两边的起始点 问题是如何建边是一个问题,暴力建边显然会达到$n^2$的 主要是在每一行内可以进行$dp$转移,一次从左往右,一次从右往左,一个有点意思的$d 阅读全文
posted @ 2022-01-16 09:37 hunxuewangzi 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 题目思路 比赛的时候读错题了,以为是总共只能去x一次,后面发现是每个x点只能去一次 后面比赛的时候想的是$dp[x][y][sta1][sta2]$ 表示现在位于$(x,y)$节点,且踩了$sta1$状态的陷阱,有$sta2$状态的宝藏 显然复杂度过大 后面看了题解,其实不需要记 阅读全文
posted @ 2022-01-14 15:14 hunxuewangzi 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 n个数要你选尽可能多的数使得这些数两两异或>=k 输出你选的所有数 任意一种方案即可 n 3e5 a[i] 1e9 题目思路 听大佬说是经典套路题,感觉很有意思 下面说下大佬的思路 假设k的最高位是第i+1位到第29位是独立的 对于每一组i+1到29位都相同的这些数,由于抽屉原理 阅读全文
posted @ 2022-01-12 23:02 hunxuewangzi 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 这个题目就是等价于正着建一次边,反着建一次边,然后看第$i$个点在这两种情况中能到达的点都小于$\frac{n}{2}$ 则为$1$,否则则为$1$ 拓扑排序上$dp$是对于链的一些情况来考虑 这里需要floyd传递闭包来写这个 代码 #include<bits/stdc++.h 阅读全文
posted @ 2021-12-01 23:21 hunxuewangzi 阅读(35) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 36 下一页