摘要:
嘟嘟嘟 首先我们按自毁时间排序。然后这样从1到n遍历,尝试修复当前第 i 个建筑:如果当前修复建筑所用的时间加上修复第 i 号建筑的时间在自毁前能完成,我们当然要修复它;如果不能完成,那么我们当然要从当前选的ans个建筑以及第i个建筑中修复时间最长的那个把他扔掉,这么做是为了节省时间,好有更大的机会 阅读全文
posted @ 2018-08-21 17:19
mrclr
阅读(154)
评论(0)
推荐(0)
摘要:
传送 UPD.2021.03.09 这道题有两种做法,一种是单调队列,另一种是二维st表。 单调队列的做法就是枚举上边界$i$,这样就能确定矩形的下边界为$i+r-1$。在这个范围内,用每一个竖条的最大值(最小值)代替整个竖条,就变成了滑动窗口问题了。 代码里存了原矩阵和元素为相反数的矩阵,这样只用 阅读全文
posted @ 2018-08-21 16:19
mrclr
阅读(147)
评论(0)
推荐(0)
摘要:
嘟嘟嘟 对于求深度和宽度都很好维护。深度dfs时维护就行,宽度统计同一个深度的节点有多少个,然后取max。 对于求距离,我刚开始以为是要走到根节点在回来,然后固输了(dep[u] - 1) * 2 + dep[v] - 1,结果竟然得了80分,数据有点水过头了…… 实际上就是求LCA,然而因为只求一 阅读全文
posted @ 2018-08-21 11:18
mrclr
阅读(163)
评论(0)
推荐(0)
摘要:
嘟嘟嘟 此题看起来不难。 首先我想到的是用map,然而只能的70分,剩下的超时了。然后我就想到了用去重函数unique,这样就过了。 1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<cmath> 5 # 阅读全文
posted @ 2018-08-21 10:52
mrclr
阅读(168)
评论(0)
推荐(0)