题目分析:

搜索2^k种情况,线段树分别处理就行了,正确性明显。

代码:

 #include<bits/stdc++.h>
using namespace std; const int maxn = ; int n,k;
struct node{int x[];}a[maxn]; int Tmax[<<][maxn*],Tmin[<<][maxn*]; void Modify(int now,int tl,int tr,int dt,int pos){
if(tl == tr){
int ans = ;
for(int i=;i<k;i++){
if(dt & (<<i))ans += a[tl].x[i];
else ans -= a[tl].x[i];
}
Tmax[dt][now] = Tmin[dt][now] = ans;
}else{
int mid = (tl+tr)/;
if(pos <= mid) Modify(now<<,tl,mid,dt,pos);
else Modify(now<<|,mid+,tr,dt,pos);
Tmax[dt][now] = max(Tmax[dt][now<<],Tmax[dt][now<<|]);
Tmin[dt][now] = min(Tmin[dt][now<<],Tmin[dt][now<<|]);
}
} void Modifydfs(int now,int dt,int pos){
if(now == k) Modify(,,n,dt,pos);
else{Modifydfs(now+,dt,pos); Modifydfs(now+,dt+(<<now),pos);}
} pair<int,int> query(int now,int tl,int tr,int l,int r,int dt){
if(tl >= l && tr <= r) return make_pair(Tmax[dt][now],Tmin[dt][now]);
if(tl > r || tr < l) return make_pair(-1e9,1e9);
int mid = (tl+tr)/;
pair<int,int> a1 = query(now<<,tl,mid,l,r,dt);
pair<int,int> a2 = query(now<<|,mid+,tr,l,r,dt);
return make_pair(max(a1.first,a2.first),min(a1.second,a2.second));
} int dfs2(int now,int dt,int l,int r){
if(now == k) {
pair<int,int> ans = query(,,n,l,r,dt);
return ans.first-ans.second;
}else{return max(dfs2(now+,dt,l,r),dfs2(now+,dt+(<<now),l,r));}
} void read(){
scanf("%d%d",&n,&k);
for(int i=;i<=n;i++){
for(int j=;j<k;j++) scanf("%d",&a[i].x[j]);
}
for(int i=;i<=n;i++) Modifydfs(,,i);
} void work(){
int q; scanf("%d",&q);
for(int i=;i<=q;i++){
int cas; scanf("%d",&cas);
if(cas == ){
int now; scanf("%d",&now);
for(int j=;j<k;j++) scanf("%d",&a[now].x[j]);
Modifydfs(,,now);
}else{
int l,r; scanf("%d%d",&l,&r);
int maxmum = dfs2(,,l,r);
printf("%d\n",maxmum);
}
}
} int main(){
read();
work();
return ;
}

codeforces1093G Multidimensional Queries 【线段树】的更多相关文章

  1. CF 1093G Multidimensional Queries——线段树(消去绝对值符号)

    题目:http://codeforces.com/contest/1093/problem/G 只好看看题解:https://codeforces.com/blog/entry/63877 主要是把绝 ...

  2. HDU 4027 Can you answer these queries? (线段树区间修改查询)

    描述 A lot of battleships of evil are arranged in a line before the battle. Our commander decides to u ...

  3. hdu 4027 Can you answer these queries? 线段树区间开根号,区间求和

    Can you answer these queries? Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/sho ...

  4. Light OJ-1082 - Array Queries,线段树区间查询最大值,哈哈,水过~~

                                                                                                        ...

  5. HDU4027 Can you answer these queries? —— 线段树 区间修改

    题目链接:https://vjudge.net/problem/HDU-4027 A lot of battleships of evil are arranged in a line before ...

  6. HDU-4027-Can you answer these queries?线段树+区间根号+剪枝

    传送门Can you answer these queries? 题意:线段树,只是区间修改变成 把每个点的值开根号: 思路:对[X,Y]的值开根号,由于最大为 263.可以观察到最多开根号7次即为1 ...

  7. Codeforces Round #590 (Div. 3) D. Distinct Characters Queries(线段树, 位运算)

    链接: https://codeforces.com/contest/1234/problem/D 题意: You are given a string s consisting of lowerca ...

  8. HDU 4027 Can you answer these queries?(线段树,区间更新,区间查询)

    题目 线段树 简单题意: 区间(单点?)更新,区间求和  更新是区间内的数开根号并向下取整 这道题不用延迟操作 //注意: //1:查询时的区间端点可能前面的比后面的大: //2:优化:因为每次更新都 ...

  9. hdu 4027 Can you answer these queries? 线段树

    线段树+剪枝优化!!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #includ ...

随机推荐

  1. ESP8266-Arduino杀手?

    Arduino之所以流行可能是因为它的学习曲线比较平缓,另外是支持它的第三方程序库非常多,无论在什么平台上都比较容易入门.多年前我曾和一些搞嵌入开发多年的朋友请教,他们更建议我多点尝试STM的开发,A ...

  2. 微信小程序web-view页面安卓下显示空白的解决办法!!!

    web-view页面在你向地址拼接参数展示页面时,在安卓上有时会显示空白 解决方案: A: 普通不需要参数的话可以直接把地址写在src里,不要去在onLoad里获取你的全局变量后再赋值. B: 如果需 ...

  3. Leetcode-645 Set Mismatch

    The set S originally contains numbers from 1 to n. But unfortunately, due to the data error, one of ...

  4. Codeforces Round #481 (Div. 3)Petya's Exams CodeForces - 978G

    Petya studies at university. The current academic year finishes with nn special days. Petya needs to ...

  5. 如何利用mui实现底部选择器(含日期选择器)?

    1.第一步: 项目中应该引入相应的css和js文件,相关文件可到mui官网查询. <link rel="stylesheet" type="text/css&quo ...

  6. PT与PX区别

    字体大小的设置单位,常用的有2种:px.pt.这两个有什么区别呢? 先搞清基本概念:px就是表示pixel,像素,是屏幕上显示数据的最基本的点: pt就是point,是印刷行业常用单位,等于1/72英 ...

  7. 【学习总结】GirlsInAI ML-diary day-16-pip install XX

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day16 Pip pip是python 著名的包管理工具,在python开发过程必不可少. 本节带大家了解用pip实现的p ...

  8. 解决ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

    解决办法:

  9. docker 修改port 端口

    修改docker容器端口映射的方法 - wesleyflagon的专栏 - CSDN博客https://blog.csdn.net/wesleyflagon/article/details/78961 ...

  10. Tomcat web.xml配置参数详解

    Apache Tomcat Configuration Reference - The Context Containerhttps://tomcat.apache.org/tomcat-5.5-do ...