摘要: 题目链接 #题目大意 有一个n个点的树,每个点都有一个权值,并且父节点的权值严格大于所有子节点的权值,现在给你n个点中任意两个点的lca的权值,让你构造出来这棵树。 #解题思路 因为父节点的权值严格大于所有子节点的权值,很容易想到按权值从小到大开始合并,但是有一个坑点,就是如果有几对点的lca的权值 阅读全文
posted @ 2021-03-03 20:56 shuitiangong 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给你一个$n\times n$的正方形网格,然后问上下两行和左右两列能否放置u,d,l,r个格子。 #解题思路 直接暴力枚举四个角的放置情况,然后判断所给的数字是否在可行的范围就行了。 #代码 const int maxn = 1e5+10; const int maxm = 阅读全文
posted @ 2021-03-03 19:39 shuitiangong 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 你站在0的位置向左右推箱子,如果推的箱子与另一个箱子相邻,那么另一个箱子会一起移动,不能将箱子拉向自己,然后有几个特殊位置,问最多能将多少个箱子推到特殊位置上。 #解题思路 把位置是正数和负数的箱子分开处理。枚举第一个箱子推到每个特殊位置时候的情况,然后再计算出连在一起的箱子( 阅读全文
posted @ 2021-03-03 19:35 shuitiangong 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 题目链接 #题目大意 给你n个区间,然后你可以选择一个区间[l,r],我们定义S的值为区间[l,r]中包含的所有完整子区间的权值w之和减去$k\times (r-l+1)$,求最大的S. #解题思路 这种问题有一种套路就是先固定一个端点,然后枚举另外一个端点,这个题就可以用到。我们将区间按右端点排序 阅读全文
posted @ 2021-03-03 09:37 shuitiangong 阅读(43) 评论(0) 推荐(0) 编辑