大学ACM学习笔记
高斯消元###
该来的总会来的系列
int gauss()
{
for(int i=1;i<=n;i++)//按照列来枚举,当前之前i-1列全消完了
{
int k=i;
for(int j=i+1;j<=n;j++)if(fabs(a[j][i])>fabs(a[k][i]))k=j;//找一个系数绝对值最大的放在当前行,方便消元
if(fabs(del=a[k][i])<eps)return 0;
for(int j=i;j<=n+1;j++)swap(&a[i][j],&a[k][j]);
for(int j=i;j<=n+1;j++)a[i][j]/=del;//把第i行的同时除系数
for(int j=1;j<=n;j++)
if(j!=i)
{
del=a[j][i];
for(int k=i;k<=n+1;k++)a[j][k]-=a[i][k]*del;
}
}
return 1;
}
在大学,背诵代码不是那么重要了,重要的还是积累,这个高斯消元就是标准的把一个n*n方阵消成上三角形,然后这个程序比较优秀的是一遍消下面一遍消上面,所以一下子就变成了对角线上全为1的矩阵了,十分方便。
求n个点曼哈顿距离极值###
先假设为三维的,就是求 $ max { |a_i-a_j| + |b_i-b_j| + |c_i-c_j| } \(
我们有绝对值不等式得\) |a|+|b| \geq |a+b| $
$ |a_i-a_j| + |b_i-b_j| + |c_i-c_j| = (\pm a_i \pm b_i \pm c_i )-( \pm a_j \pm b_j \pm c_j ) $
其中必须保证符号一致
所以我们就2^3次枚举 $ a_i,b_i,c_i $ 这个三元组的符号 ,然后每一次计算出最大值和最小值就可以了,代码如下
int calc()
{
int ans=0,Min,Max;
int i,j,k;
for(i=0;i<8;i++)
{
Min=oo,Max=-oo;
for(j=0;j<n;j++)
{
double sum=0;
for(k=0;k<3;k++)
{
int t=i&1<<k;
if(t)sum+=p[j][k];
else sum-=p[j][k];
}
Max=MAX(Max,sum);Min=MIN(Min,sum);
}
ans=MAX(ans,Max-Min);
}
return ans;
}
大学ACM学习笔记的更多相关文章
- ACM学习笔记:可持久化线段树
title : 可持久化线段树 date : 2021-8-18 tags : 数据结构,ACM 可持久化线段树 可以用来解决线段树存储历史状态的问题. 我们在进行单点修改后,线段树只有logn个(一 ...
- ACM学习笔记:二叉堆
title : 堆 date : 2021-8-3 tags : ACM,数据结构 什么是堆 堆是一棵具有特定性质的二叉树,堆的基本要求是堆中所有结点的值必须大于等于(或小于等于)其孩子结点的值,这也 ...
- Mooc中国大学Python学习笔记--数字类型及操作
整数类型 只需知道整数无限制,pow(),4进制表示形式 与数学中整数的概念一致 --可正可负,没有取值范限制 --pow(x,y)函数:计算x^y,想算多大算多大 -十进制:10 -二进制,以0b或 ...
- 大学四年的Python学习笔记分享之一,内容整理的比较多与仔细
翻到以前在大学坚持记录的Python学习笔记,花了一天的时间整理出来,整理时不经回忆起大学的时光,一眨眼几年就过去了,现在还在上学的你们,一定要珍惜现在,有个充实的校园生活.希望这次的分享对于你们有学 ...
- Deep Learning 19_深度学习UFLDL教程:Convolutional Neural Network_Exercise(斯坦福大学深度学习教程)
理论知识:Optimization: Stochastic Gradient Descent和Convolutional Neural Network CNN卷积神经网络推导和实现.Deep lear ...
- Hadoop入门学习笔记---part1
随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...
- Deep Learning 8_深度学习UFLDL教程:Stacked Autocoders and Implement deep networks for digit classification_Exercise(斯坦福大学深度学习教程)
前言 1.理论知识:UFLDL教程.Deep learning:十六(deep networks) 2.实验环境:win7, matlab2015b,16G内存,2T硬盘 3.实验内容:Exercis ...
- 《CSS 设计指南》学习笔记 一
本篇文章是对这几天看完 Charles Wyke-Smit 的 <CSS 设计指南> 后的一些学习笔记与心得,笔者好像是大一的时候开始接触网页设计,由于并不是计算机专业的,所以所有都是自己 ...
- stm32学习笔记——外部中断的使用
stm32学习笔记——外部中断的使用 基本概念 stm32中,每一个GPIO都可以触发一个外部中断,但是,GPIO的中断是以组为一个单位的,同组间的外部中断同一时间只能使用一个.比如说,PA0,PB0 ...
随机推荐
- mongodb主备配置
前言:mongodb目前推荐的方式是副本集的方式实现,但是副本集需要三台服务器,目前配置为主备方式 假设你已经安装好了mongo,并配置好了响应的用户 下面修改mongodb.conf配置文件,开启认 ...
- 【Gradle】Android Gradle 多渠道构建
Android Gradle 多渠道构建 多渠道构建的基本原理 在Android Gradle中,定义了一个叫Build Variant的概念,一个Build Variant=Build TYpe+P ...
- Android 程序分析环境搭建-Android 9 -代码下载编译
Android 9 -代码下载编译 一,翻墙下载: 1.背景: 背景: 现在Android framework 开发的同学,整体在公司里面解一些无关痛痒的bug,对于Android framework ...
- 团队项目之Scrum3
小组:BLACK PANDA 时间:2019.11.23 每天举行站立式会议 提供当天站立式会议照片一张 2 昨天已完成的工作 2 完善用户注册的 ...
- Docker系列03-容器Docker镜像的使用
Docker镜像的使用前两个章节,介绍了容器的相关基础知识,这章我们介绍镜像的简单使用,镜像hub里面有来自于全世界贡献的各种镜像,包括一些入门和学习练手的镜像,今天我们使用的正式其中一个用于学习练习 ...
- python将字符串插入表中避免单双引号问题
调用pymysql.escape_string('向数据库插入的数据') 例如: import pymysql str = 'as"sdf' print(pymysql.escape_str ...
- MySQL数据库~~~~~存储引擎
1. InnoDB InnoDB引擎特点: 1.支持事务:支持4个事务隔离界别,支持多版本读. 2.行级锁定(更新时一般是锁定当前行):通过索引实现,全表扫描仍然会是表锁,注意间隙锁的影响. 3.读写 ...
- 初级模拟电路:3-11 BJT实现电流源
回到目录 1. 恒流源 (1)简易恒流源 用BJT晶体管可以构造一个简易的恒流源,实现电路如下: 图3-11.01 前面我们在射极放大电路的分压偏置时讲过,分压偏置具有非常好的稳定性,几乎不受晶体管的 ...
- 26.异常检测---孤立森林 | one-class SVM
novelty detection:当训练数据中没有离群点,我们的目标是用训练好的模型去检测另外发现的新样本 outlier dection:当训练数据中包含离群点,模型训练时要匹配训练数据的中心样 ...
- 关于ajax请求不到后台页面提示400 bad request的问题
解决方法一: 在contrller控制器中对应方法的 @RequestMapping注解中添加 method="RequestMethod.POST"属性