大学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 ...
随机推荐
- react-router刷新页面Cannot GET 问题
最近在做项目的时候遇到了如下错误 并在控制台看到了如下的报错 我先是按照控制台的错误搜索,得出的结果都是对meta头部进行设置,允许资源请求,但是问题依然没有解决,偶然间改变了想法,会不会是路由的问题 ...
- bat批处理执行python 的几种方式
第一种方式:@echo off C: cd C:\Users\administrator\Desktopstart python apidemo.py exit第二种方式: start cmd /K ...
- MySQL数据库~~~~~创建用户和授权、备份和还原
一 MySQL创建用户和授权 1.1 对新用户增删改 1.创建用户: # 指定ip:192.118.1.1的chao用户登录 create user 'chao'@'192.118.1.1' iden ...
- Redis安装部署以及简单应用
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(list ...
- [C]链接和生存周期
链接和生存周期的区别: 链接是标识符的属性: 生存周期是对象的属性: 链接可以是外部(external),内部(internal)或没有(none): 生存周期可以是自动的.静态的,或已分配的(all ...
- 对于jenkins上前端项目 npm 或 yarn 打包 及 部署 使用
1.npm和yarn镜像源地址 npmMirror ~~~~~ https://skimdb.npmjs.com/registry/ edunpm ~~~~~~ http://registry.enp ...
- RobotFramework - IF、FOR语句使用
一.IF 语句 1. IF语句简单实现 < Log 111111 2. IF语句赋值实现 ${rst} Set Variable If 1 < 2 2 1 3. IF...ELSE实现 $ ...
- Java题库——Chapter12 异常处理和文本IO
异常处理 1)What is displayed on the console when running the following program? class Test { public stat ...
- aop分层模型——aop是元编程的一种
织入应用层—->待织入的附加功能 应用层 织入管理层—->使用元语和织入的功能进行编程 语言层 aop元语层---〉aop机制提供的高阶抽象概念. 解释层 aop引擎层—->维护的实 ...
- C# Xamarin 数据绑定入门基础
目录 关于数据绑定 视图-视图绑定 绑定模式 简单的集合绑定 C# Xamarin 数据绑定入门基础 关于数据绑定 Xamarin 单向.双向绑定 Xaml绑定 C#代码绑定 在此之前,几段 伪代码 ...