摘要: 有n根木棍,第i根木棍长度为a[i],每次操作可以选一根木棍将其锯成两段,要求总操作次数不超过k。问最终所有木棍最大长度的最小值是多少? 1<=n<=2e5; 0<=k<=1e9; 1<=a[i]<=1e9 最小化最大值,或者反过来最大化最小值,优先考虑二分答案,对于某个特定的长度x,考虑将其锯成最 阅读全文
posted @ 2024-03-16 19:05 chenfy27 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 给定一颗包含n个顶点的树,第i条边连接u[i]和v[i],边权为w[i]。记f(i,j)表示顶点i到j的简单路径上边权的最大值,求 $ \sum_{i=1}^{n-1} \sum_{j=i+1}^{n}f(i,j) $。 2<=n<=1e5; 1<=u[i],v[i]<=n; 1<=w[i]<=1e 阅读全文
posted @ 2024-03-16 14:41 chenfy27 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 有n个矩形,第i个矩形左下角在(0,0)处,右上角在(l[i],h[i])。另给出m个点(x[i],y[i]),问有多少个矩形覆盖了这个点,点在边上也算是覆盖。 1<=n,m<=5e4; 1<=l[i],h[i]<=1e9; 1<=h[i],y[i]<=100; 所有矩形互不相同,所有查询点互不相同 阅读全文
posted @ 2024-03-16 13:07 chenfy27 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 有n个房间,rooms[i]={id[i],size[i]}表示第i个房间编号为id[i],面积为size[i],房间编号唯一。 现有k个查询query[j]={preferred[j],minsize[j]},表示要求面积至少为minsize[j],且编号跟preferred[j]最接近,如果有多 阅读全文
posted @ 2024-03-16 12:46 chenfy27 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 给定两个大小为n的数组nums1和nums2以及整数diff,统计满足以下条件的数对(i,j)的个数:0<=i<j<=n-1,并且nums1[i]-nums1[j]<=nums2[i]-nums2[j]+diff。 2<=n<=1e5; -1e4<=nums1[i],nums2[i]<=1e4; - 阅读全文
posted @ 2024-03-16 11:16 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给定数组nums[n]和整数lower与upper,求nums[n]中,元素之和在[lower,upper]范围内的子数组个数。 1<=n<=1e5; nums[i]在int范围内; -1e5<=lower<=upper<=1e5; 答案在int范围内 子数组的和可以用前缀和来快速求出,假设当前位置 阅读全文
posted @ 2024-03-16 10:52 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 给定一个数组nums[n],如果i<j并且nums[i]>2*nums[j],则称(i,j)是一个重要翻转对。求nums[n]中重要翻转对的数量。 1<=n<=5e4; nums[i]在int范围内 直接套平衡树模板即可。 template <typename TYPE> struct Treap 阅读全文
posted @ 2024-03-16 10:27 chenfy27 阅读(1) 评论(0) 推荐(0) 编辑