上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: 最小生成树一般都比较考验思维啊。。 题面: 魔术师的桌子上有n个杯子排成一行,编号为1,2,…,n,其中某些杯子底下藏有一个小球,如果你准确地猜出是哪些杯子,你就可以获得奖品。 花费Ci,j元,魔术师就会告诉你杯子i,i+1,…,j底下藏有球的总数的奇偶性。 采取最优的询问策略,你至少需要花费多少元 阅读全文
posted @ 2018-11-08 15:59 薄荷凉了夏 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 这个题可以用并查集做,这里是之前一个图论学傻了的蒟蒻的差分约束做法。。 我们考虑题面中的条件, 若s到t的为w,就相当于sum[t]-sum[s-1]=w。 那么就是sum[t]-sum[s-1]>=w,sum[t]-sum[s-1]<=w, 同时化成最短路松弛形式得到:sumt[s-1]+w<=s 阅读全文
posted @ 2018-11-08 14:44 薄荷凉了夏 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题意:给一个数列和m,在数列任选若干个数,使得他们的和对m取模后最大。 注意到n<=35,直接枚举状态不行,考虑meeting in the middle。 那么的话我们直接暴力枚举两边的状态就好了,不过我们记录的是取模后的sum。。 现在主要解决合并答案的问题。都是套路是吧。。。 我们容易发现,如 阅读全文
posted @ 2018-11-08 11:49 薄荷凉了夏 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 对于这个题,我们只需要判断是否为平面图。 我们发现他给了我们一个很好的性质:那就是这个平面图上存在着一个哈密顿回路(n元环)。 那么我们就可以很简单的判定两条边 如果划在同一侧是否会相交。 如果相交,那么我们就得把他们放在两侧,否则不需要。 然后只需判断是否在满足所有条件的前提下出现了矛盾就行了。 阅读全文
posted @ 2018-10-28 11:53 薄荷凉了夏 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 首先这个题它给定我们的是一个平面图。(除端点外,没有相交的边) 那么我们可以知道对于: 每一个在左侧的点 能够到达的 右侧的点一定是一段区间(对应的是y值)。 因为如果区间中有一个点它无法到达,那么其他点必然也无法到那个点,否则会相交。 这样的话我们可以先从左边BFS一遍,如果右边有无法到的点,就不 阅读全文
posted @ 2018-10-27 22:38 薄荷凉了夏 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 看到这个题,我们发现并不好维护删边。似乎我们删掉一条边,就得重建一次图。 那怎么避免这个呢。 我们可以删边的过程看做一个倒序加边的过程。 那么问题就转换成了:给定一个图,不断加边,求每个点到终点的最短路,成为最终图最短路的时间。 那么我们首先跑一遍最短路。然后重建图,倒序加边。 当一个点已经成为最短 阅读全文
posted @ 2018-10-27 22:19 薄荷凉了夏 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 蒟蒻的第一道概率DP。。 先讲一下我最开始yy的一个算法吧: 我们设f[i][j]表示当前进行了i轮,第j个人坐庄的概率是多少。 为什么这么想呢,因为进行了到第n轮后最后一个人必然是庄,同时这就是它的获胜的概率是吧。 可以发现转移也是很好想的。f[i][j]=f[i-1][last]/m 。 但是 阅读全文
posted @ 2018-10-23 21:08 薄荷凉了夏 阅读(639) 评论(0) 推荐(0) 编辑
摘要: n2暴力就不讲了。听人讲可以吸氧水过去。 这里考虑怎么优化这一个算法, 其实可以发现这个题唯一的限制就是要求满足a[i]&a[j]!=0。 那么我们可以想到,两个数只要有一位(二进制下)都是1,那么就是满足的。 所以我们对于每一个新的数,分别考虑它的二进制下的每一位, 如果那一位上是1,那么直接 接 阅读全文
posted @ 2018-10-23 20:43 薄荷凉了夏 阅读(184) 评论(0) 推荐(1) 编辑
摘要: 题意:给你一条数轴和m条线段,第i条线段覆盖区间[Li,Ri],选择它需要代价Ci。请选出代价和最小的一组线段使得区间[L,R]中的每一段都被覆盖。 这个题目其实是数据结构优化DP的一道例题。。但是这里我们把它转化为一个图论问题。用简单一点的知识把它解决。首先我们要考虑建模。我们如果把线段上每个点看 阅读全文
posted @ 2018-10-23 11:43 薄荷凉了夏 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 容我吐槽一波题目名字。。 首先我们考虑如果没有空格连续产生代价这一额外条件,那么是不是很好做。 因为我们注意到,不管怎么放空格,我们最终都是把两个串匹配完了。 同时,同一位置上下都放空格是完全没有意义的。 所以我们直接设f[i][j]表示第一个匹配到了i,第二个匹配到了j。 那么转移就是f[i][j 阅读全文
posted @ 2018-10-22 22:45 薄荷凉了夏 阅读(218) 评论(2) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页