分类讨论16种情况???
码量超长,想了会儿数据结构后就弃疗打暴力了。
正解时间复杂度为O(2d * n * d)
我们枚举坐标的每个数的正负性。
然后在对于每种情况暴力弄出n个点的贡献。
由于两两之差便为曼哈顿距离。
所以我们对于每种情况求出个最大值和最小值,
两个相减再与Ans比较并更新即可。

上标:

#include<cstdio>
#include<algorithm>
#include<cmath>
#define N 1000010
#define ll long long
using namespace std;
int n,D,a[N][6],c[7],s,ans=0;
bool bz;inline int read()
{int x=0,f=0; char c=getchar();if (c==EOF) {bz=1; return 0;}while (c<'0' || c>'9') f=(c=='-') ? 1:f,c=getchar();while (c>='0' && c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return f ? -x : x;
}void dfs(int x)
{if (x>D){int mi=1e9,ma=-1e9;for (int i=1;i<=n;i++){s=0;for (int j=1;j<=D;j++)s+=c[j] ? -a[i][j] : a[i][j];if (s>ma) ma=s;else if (s<mi) mi=s;}if (ma-mi>ans) ans=ma-mi;return;}c[x]=1,dfs(x+1);c[x]=0,dfs(x+1);
}int main()
{freopen("Jail.in","r",stdin);freopen("Jail.out","w",stdout);n=read(),D=read();for (int i=1;i<=n;i++){for (int j=1;j<=D;j++)a[i][j]=read();if (bz) n=i;}dfs(1);printf("%d\n",ans);return 0;
}
























能看到这儿的都很有耐心啊~
那我就告诉你一点东西吧:

这题枚举D-1个符号即可!!!

至于正确性为什么能保证嘛。
我们假设D=5,

如果+ - + - -是最优解的话,

那么- + - + +也一定是最优解!!!

所以我们可以把其中一个符号固定,这样就可以将时间复杂度 div 2了!!!

上标:(快了约400ms)

#include<cstdio>
#include<algorithm>
#include<cmath>
#define N 1000010
#define ll long long
using namespace std;
int n,D,a[N][6],c[7],s,ans=0;
bool bz;inline int read()
{int x=0,f=0; char c=getchar();if (c==EOF) {bz=1; return 0;}while (c<'0' || c>'9') f=(c=='-') ? 1:f,c=getchar();while (c>='0' && c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return f ? -x : x;
}void dfs(int x)
{if (x==D){int mi=1e9,ma=-1e9;for (int i=1;i<=n;i++){s=a[i][D];for (int j=1;j<=D-1;j++)s+=c[j] ? -a[i][j] : a[i][j];if (s>ma) ma=s;else if (s<mi) mi=s;}if (ma-mi>ans) ans=ma-mi;return;}c[x]=1,dfs(x+1);c[x]=0,dfs(x+1);
}int main()
{freopen("Jail.in","r",stdin);freopen("Jail.out","w",stdout);n=read(),D=read();for (int i=1;i<=n;i++){for (int j=1;j<=D;j++)a[i][j]=read();if (bz) n=i;}dfs(1);printf("%d\n",ans);return 0;
}

jzoj 1307. Jail相关推荐

  1. JZOJ 1307 Jail

    Time Limits: 2000 ms  Memory Limits: 65536 KB Description 给出N个D维空间的点.求出曼哈顿距离最大的两个点的曼哈顿距离.两个点(x1,x2,x ...

  2. JZOJ 5461 购物 —— 贪心

    题目:https://jzoj.net/senior/#main/show/5461 贪心,原来想了个思路,优先选优惠价最小的 K 个,然后其他按原价排序遍历: 如果当前物品没选过,原价选上,如果选过 ...

  3. 世界隐形冠军比拼:德国1307家、美国366家、中国68家

    来源:股权投资论坛 目录 一.隐形冠军的概念二.隐形冠军的四个特征三.隐形冠军为何隐形四.隐形冠军到底有多牛五.如何成为隐形冠军六.中国隐形冠军多吗 1 隐形冠军的概念 "隐形冠军" ...

  4. 通过ezjail创建和管理jail虚拟机

    在公司的环境中,需要快速和大量的部署jail虚拟机,原先的make world的方式就显得非常力不从心.大家都知道,make world就算在双四核的机器上也是极慢的:通过查阅freebsd的官方文档 ...

  5. mysql无法创建存储过程问题 ERROR 1307 (HY000)

    今天由于需要批量生成一些游戏账号,所以打算用存储过程来实现,这样速度会快很多.结果却是用了大量时间,主要原因是mysql server不知道出了点什么问题,运行创建procedure的语句,一直报错. ...

  6. [wikioi 1307][poj 2054]欧少堆(乱搞)

    题目:http://www.wikioi.com/problem/1307/ 题意:给你一个树,上面有n个节点,每个节点都有一个价值p,求一个n个节点的排列顺序,是的Σi*p[i]最小(要求父节点一定 ...

  7. JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫

    Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...

  8. [jzoj NOIP2018模拟 11.01]

    很庆幸打了这场模拟赛,因为这一场爆零 好像上次纪中的某场比赛我也出现了同样的问题,光是计算时间复杂度而忘记了空间的限制.想必是比上次惨的,考场上就写了两题而这两题都因为MLE爆零了.而且我T2还码了7 ...

  9. 51nod 1307 绳子与重物 (标记父节点更新即可)

    1307 绳子与重物 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 有N条绳子编号 0 至 N - 1,每条绳子后面栓了一个重物重量为Wi,绳子的最大负重为Ci. ...

最新文章

  1. vc++向txt文件中写入数据,追加数据
  2. php fatal class ziparchive not found,php中Fatal error: Class ZipArchive not found的解决办法
  3. 青龙羊毛——顺丰科勒(搬运)
  4. Geth的命令行介绍
  5. JAVA学习日志(7-1-继承)
  6. squid代理服务器在企业网中的应用
  7. python模型的属性是什么_python – Django:为什么Django模型字段的类属性?
  8. Mac安装与配置idea及tomcat
  9. sql2012 ssrs_您必须在SQL Server Reporting Services(SSRS)中记录的十件事
  10. 【ccpc网络赛】Tree and Permutation【1009】【树上+组合数学】
  11. linux 安装与卸载JDK
  12. AVEVA InTouch安全网关 AccessAnywhere 任意文件读取漏洞 CVE-2022-23854
  13. 《31天成为IT服务达人》之技能篇中的磁带库
  14. matlab 收敛,MATLAB:svds()没有收敛
  15. 压缩文件压缩率是什么意思
  16. 金华驾驶员考试中心 科目二、科目三和科目四
  17. Android开发之EditText多行文本输入
  18. VUE实现页面局部刷新
  19. 如何更好使用markdown输出pdf
  20. 吉米_王:浅谈“并行计算”

热门文章

  1. 正宇丨揭秘你不知道的网络水军产业链运作内幕
  2. C++面向对象(一):面向对象程序设计概述
  3. Pixel 4刷机常见问题指南(Android 11 211001版本可用!)
  4. Docker学习三 Docker安装Mysql
  5. 腾讯优图提出LAP无监督多视角人脸3D重建算法,高清还原面部细节
  6. 一杯茶,一包烟,一个环境配一天
  7. 2021牛客多校#4 E-Tree Xor
  8. vb.net如何打包exe安装文件
  9. 大数据时代下的计算机和互联网
  10. windows10输入法打字没有选字框,【已解决】