当前位置: 首页 > news >正文

中英网站建设重庆建设厂历史

中英网站建设,重庆建设厂历史,做游戏排行榜的网站模板,整站优化加盟传送门:牛客 题目描述: 牛牛为了减#xff08;吃#xff09;肥#xff08;好#xff09;#xff0c;希望对他的零食序列有更深刻的了解#xff0c;所以他把他的零食排成一列#xff0c;然后对每一 个零食的美味程度都打了分#xff0c;现在他有可能执行两种操作…传送门:牛客 题目描述: 牛牛为了减吃肥好希望对他的零食序列有更深刻的了解所以他把他的零食排成一列然后对每一 个零食的美味程度都打了分现在他有可能执行两种操作 eat k吃掉当前的第k个零食。右边的零食全部往左移动一位编号减一。 query i j查询当前第i个零食到第j个零食里面美味度最高的和最低的零食的美味度。 输入: 10 4 1 5 2 6 7 4 9 3 1 5 2 2 8 1 3 1 6 2 2 8 输出: 2 9 1 7一道线段树维护区间和的题目. 对于本题,最难解决显然是如何解决消除第kkk个位置的物品,显然我们是不能暴力维护的.我们的解决方案是记录每一个区间的实际的物品的数量. 那么对于我们的updateupdateupdate来说,我们此时的参数pospospos的含义就不在是原本的大区间的第pospospos个数了.此时就变成了本区间第pospospos个数了 对于我们的queryqueryquery来说,此时我们的参数l,rl,rl,r的含义变成了本区间第lll个数字开始到第rrr个数字之间的区间和.那么当我们的rrrtree[ls].cnttree[ls].cnttree[ls].cnt时,此时显然是在左区间,并且此时我们的l,rl,rl,r应不变;当我们的ltree[ls].cntltree[ls].cntltree[ls].cnt时,显然我们此时的区间是在右区间,并且注意,此时我们的l.rl.rl.r应该是变化的,因为是在rtrtrt区间的l,rl,rl,r,这就意味着是在rsrsrs区间的l−lcnt,r−lcntl-lcnt,r-lcntl−lcnt,r−lcnt的位置.当然如果是横跨两个区间,我们按照上述的方式进行一个分类即可 下面是具体的代码部分: #include bits/stdc.h using namespace std; typedef long long ll; #define root 1,n,1 #define ls rt1 #define rs rt1|1 #define lson l,mid,rt1 #define rson mid1,r,rt1|1 inline ll read() {ll x0,w1;char chgetchar();for(;ch9||ch0;chgetchar()) if(ch-) w-1;for(;ch0ch9;chgetchar()) xx*10ch-0;return x*w; } #define int long long #define maxn 1000100 const double eps1e-8; #define int_INF 0x3f3f3f3f #define ll_INF 0x3f3f3f3f3f3f3f3f int n,m; struct Segment_tree{int l,r,mx,mn,cnt; }tree[maxn*4]; int a[maxn]; void pushup(int rt) {tree[rt].mxmax(tree[ls].mx,tree[rs].mx);tree[rt].mnmin(tree[ls].mn,tree[rs].mn);tree[rt].cnttree[ls].cnttree[rs].cnt; } void build(int l,int r,int rt) {tree[rt].ll;tree[rt].rr;tree[rt].mx-ll_INF;tree[rt].mnll_INF;if(lr) {tree[rt].mxtree[rt].mna[l];tree[rt].cnt1;return ;}int mid(lr)1;build(lson);build(rson);pushup(rt); } void update(int pos,int rt) {if(tree[rt].ltree[rt].r) {tree[rt].mx-ll_INF;tree[rt].mnll_INF;tree[rt].cnt0;return ;}if(postree[ls].cnt) update(pos,ls);else update(pos-tree[ls].cnt,rs);pushup(rt); } pairint,int query(int l,int r,int rt) {if(l1rtree[rt].cnt) {return make_pair(tree[rt].mn,tree[rt].mx);}if(rtree[ls].cnt) return query(l,r,ls);else if(ltree[ls].cnt) return query(l-tree[ls].cnt,r-tree[ls].cnt,rs);else {pairint,int ans1query(l,tree[ls].cnt,ls);pairint,int ans2query(1,r-tree[ls].cnt,rs);return make_pair(min(ans1.first,ans2.first),max(ans1.second,ans2.second));} } signed main() {nread();mread();for(int i1;in;i) {a[i]read();}build(root);for(int i1;im;i) {int optread();if(opt1) {int posread();update(pos,1);}else {int lread(),rread();pairint,intans;ansquery(l,r,1);printf(%lld %lld\n,ans.first,ans.second);}}return 0; }
http://www.dnsts.com.cn/news/130402.html

相关文章:

  • 电脑打开做的网站总显示404建筑防护网安全网
  • 重庆网站建设齐重庆零臻科技光谷做网站推广电话
  • php app网站建设东莞营业厅
  • 用腾讯云服务器做网站ps网页制作视频教程
  • 长沙手机网站建设搜索 引擎优化
  • 网站开发是什么语言教育网站制作下载
  • 电影网站推广深圳机械网站建设
  • 建设厅的工程造价网站哈尔滨网站建设 熊掌号
  • 怎样看网站建设制作方山西专业制作网站
  • 安微省建设庁官方网站WordPress用户管理系统
  • 品牌便宜网站建设软件公司简介内容怎么写
  • 怎么看网站开发语言平面设计网上怎么接单
  • 长沙网站开发微联讯点官网棋牌游戏wordpress
  • 一款非常不错的seo网站优化公司源码建设公司查询网站首页
  • 如何做网站手机建设网站赚钱猛兽领主
  • 网站建设的核心是安溪学校网站建设
  • 游戏开服表网站开发超级外链
  • 建设部资质升级网站网站数据采集怎么做
  • 域名买了怎么做网站关于静态网站开发相关新闻
  • 网站开发地图板块浮动深圳市招投标中心官网
  • 广西微信网站建设湖北响应式网站建设
  • 指纹锁在什么网站做宣传好唐山培训网站建设
  • 信息网站建设方案上海市建设工程造价信息网
  • 如果用局域网做网站哪里有做网站公司
  • 平邑县建设局网站vs2015网站开发实例
  • cms建站系统免费徐州网架加工
  • 网站信息内容建设局通报东莞官方网站设计
  • 国外展柜网站凡客还在吗
  • 怎么给网站上传附件建设官方网站企业登录入口
  • 个人网站示例嘉兴网站制作网页