上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 27 下一页
摘要: 最小生成树会多样的情况是:两个或多个边等长且连通同样的两个并查集块。 所以可以跑一遍克鲁斯卡尔,每次把当前等长的边数出来,注意不要边找边并查,因为有一部分边是正常跑生成树我们也不会要他的,这种直接跳了;还有一些,是因为你选择了第一个边,然后并在一起了,这时扫到后面的边时他自然会被抛弃。而这种比较委屈 阅读全文
posted @ 2019-03-29 13:20 AlphaWA 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 提交传送门,密码:jwjtxdy(鸡尾酒天下第一) 官方题解 A.二分答案,里面用队列模拟。 1 #pragma comment(linker, "/STACK:1024000000,1024000000") 2 #include <cstdio> 3 #include <cstring> 4 #i 阅读全文
posted @ 2019-03-27 11:23 AlphaWA 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 洛谷1387的进阶版,但很像。 1387要求是“全为1的正方形”,取dp[i][j] = min(dp[i-1][j-1], min(dp[i-1][j], dp[i][j-1]))吧?这个有“只有对角线可以有1”的要求,取的是dp[i][j] = min(dp[i-1][j-1], min(s1[ 阅读全文
posted @ 2019-03-26 15:38 AlphaWA 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 一看很像背包,然而值却是会随时间递减的(a - t*b),不能满足无后效性,于是考虑常用手段,先按照优先级排序。 这个优先级怎么定呢?列式子模拟一下。 洛谷题解说得很好了: 说来惭愧,其实这种“组合式”排序我也是第一次见,虽然很好理解: 最后记得各种longlong。 阅读全文
posted @ 2019-03-26 11:10 AlphaWA 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 题目很简单,数据也很小,但是思路不妨借鉴:dp[i][j]代表以(i,j)为右下角的最长正方形边长。 类比一维里面设“以XX为结尾的最XXX(所求)”。 另外define不要乱用!尤其这种min套min,debug两行泪。 当然也可以无脑暴力乱搞了,二维前缀和+二分: 阅读全文
posted @ 2019-03-26 10:09 AlphaWA 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 一眼看过去就x排序扫描一下,y是1e9的离散化一下,每层用树状数组维护一下,然后像dp倒着循环似的树状数组就用y倒着插就可行了。 类似题目练习:BZOJ4653、BZOJ1218 阅读全文
posted @ 2019-03-25 23:53 AlphaWA 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 放上刘汝佳的模板: 阅读全文
posted @ 2019-03-25 22:01 AlphaWA 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 第一眼喜闻乐见的股票问题dp可以暴力,然鹅时间不允许。 于是考虑怎么贪。 这篇题解说得很生动了。 因为每支股票都有买入的潜力所以肯定都加在优先队列里。 然后考虑的是哪些需要加入两次。这是我第二次见到类似的手法。当它比优先队列队首要大,可以卖,但是因为后面的还没读所以不知道是不是最优。那就先卖着,钱拿 阅读全文
posted @ 2019-03-25 21:34 AlphaWA 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 第一种方法:可以二分最大天数订单的答案然后通过差分求一下是否可行。 第二种方法:无脑插一棵残缺的线段树板子即可: 阅读全文
posted @ 2019-03-23 22:45 AlphaWA 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 样例手写一写很容易发现规律(前后一样的串,则ans+=2),实现起来却忘了string的便捷性,其实根本用不到哈希。 阅读全文
posted @ 2019-03-23 21:44 AlphaWA 阅读(157) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 27 下一页