自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2)
  • 收藏
  • 关注

原创 Codeforces Round #703 (Div. 2)D. Max Median(二分)

题目 大意:给出一组序列 让求出一组子序列 其中位数的值最大 且长度不小于k 问中位数最大值为多少 思路:看到最大值 首先想二分 二分中位数的值 那么如何判断是否符合呢 首先我们观察中位数 假如中位数的值为a 那么可以发现大于等于a的数值的数量一定会大于小于a的数量 才会满足中位数为a 那么我们可以假定大于等于中位数的值为1 小于的为-1 用前缀和来维护最值 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll

2021-02-19 15:00:04 199 1

原创 interval GCD(线段树+差分)

题目 大意:两个操作 一个操作是区间加上d 另一个是求区间的GCD 思路:首先如果区间修改使用lazytag的话 难以维护GCD 可以用数学性质gcd(x,y,z)=gcd(x,y-x,z-y) 使用差分 来将区间修改改为两个单点修改 只需要将b[l]+=d b[r+1]-=d 再维护一下gcd即可 query是为了求得区间gcd queryy是为了将差分数组复原为原值 即第一个数x 再做gcd 记得要用ll 还有一个坑点:小心越界 if(y+1<=n) change(1,y+1,-z); 代码:

2021-02-18 14:36:06 313

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除