上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
摘要: 与无向图那题一样,但是需要多考虑一个点是树入度为0的点只有一个,因此边的前后顺序有了作用,这是和之前题的唯一区别。 阅读全文
posted @ 2019-07-29 21:24 Chuhanjing 阅读(404) 评论(0) 推荐(0) 编辑
摘要: J - 小希的迷宫 HDU - 1272 因为分到了并查集专题,就直接想到用并查集。 如果要连的当前边的两个端点在之前的图中已经连通,那么当前边一定会与之前的图构成一个环,那么直接就不成立了。如果没有环,那么再判断是否连通,如果连通就成立。算是一道并查集的应用题。 阅读全文
posted @ 2019-07-29 11:26 Chuhanjing 阅读(545) 评论(0) 推荐(0) 编辑
摘要: I - Connections in Galaxy War 正向做这道题非常困难,可以从逆向开始。 正向破坏边就是逆向加边。建图的时候把所欲破坏的边除去,那么这个图就是最后的图,当遇到破坏边时就加边,即回复到了破坏此条边之前的状态。 这个和食物过期的想法很像(D - Supermarket POJ 阅读全文
posted @ 2019-07-29 10:40 Chuhanjing 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 贪心,从最大的 天数往前推,因为保质期时间长的可以在保质期之前卖掉,从最大天数开始维护优先队列,如果优先队列不空的话,每次找出最大价值的。 阅读全文
posted @ 2019-07-28 21:47 Chuhanjing 阅读(193) 评论(0) 推荐(0) 编辑
摘要: Zjnu Stadium HDU - 3047 逾期说是种类并查集,其实更像是权值并查集,以一个点作为基准,通过路径压缩把所有的座位关系都变成与基准有直接关系的,查询的过程也是不断维护集合的过程,没有当前查询的信息,就插入查询的信息,如果有,则判断是否与集合中的信息冲突。 对于每次加入的时候都有下面 阅读全文
posted @ 2019-07-27 23:19 Chuhanjing 阅读(561) 评论(0) 推荐(0) 编辑
摘要: [POJ 1988] Cube Stacking 我们需要新增两种属性cnt[i]cnt[i]与s[i]s[i],分别表示ii之下的块数和ii所在堆的数量。在路径压缩时,cnt[i] += cnt[f[i]] ,另外在连接操作时,需要动态更新cnt[find(u)]和s[find(v)]的信息。 [ 阅读全文
posted @ 2019-07-26 14:03 Chuhanjing 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 1 /*定义dp[i][j]作为完成i钟,j个子系统需要的天数,那么很显然dp[i][j]由四种状态转移来 2 p1 = i*j / (n*s) 3 p2 = (n-i)*j / (n*s) 4 p3 = i*(s-j) / (n*s) 5 p4 = (n-i)*(s-j) / (n*s) 6 但是对于 dp[i][j],显然此时的dp[i][j]是0,就无法转移了, 7 此... 阅读全文
posted @ 2019-07-24 11:12 Chuhanjing 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 结合代码 阅读全文
posted @ 2019-07-24 10:25 Chuhanjing 阅读(262) 评论(0) 推荐(0) 编辑
摘要: H Second Large Rectangle 前天打比赛唯一的收获就是单调栈,然后这个题还没做出来,主要时没想到把它搞成直方图模拟,一直在推右下角作为最大矩形的dp,搞成直方图就很简单了,和poj那个入门单调栈题一模一样,只不过这个是有i层,还有一个点时每次找到最大的要对长-1还有宽-1,那么才 阅读全文
posted @ 2019-07-20 23:35 Chuhanjing 阅读(370) 评论(0) 推荐(0) 编辑
摘要: Can you answer these querites? HDU - 4027 普通的线段树题,但是有一个问题是,区间更新时,因为必须更新每个点,才能更新区间,那么线段树更新就很慢了,无法使用lazy数组。有一个小技巧是当区间和等于区间长度时,那么说明已经到最好的情况了,不用再修改了。这一步简化 阅读全文
posted @ 2019-07-19 22:30 Chuhanjing 阅读(172) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页