整理的算法模板合集: ACM模板

点我看算法全家桶系列!!!

实际上是一个全新的精炼模板整合计划



数据范围只开到了10,而且是经典的力学结构,所以我们可以用模拟退火,可以做一下 nnn 维的正交分解hhh,经典物理题。

然后实际上本题就是一个高斯消元模板题

apple pencil用习惯了,普通的笔写起来,字丑见谅

我用的是普通的高斯消元模板,因为听说高斯 - 约旦消元法有可能会被卡掉,所以学了,但是一直不敢用QWQ

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <map>
#include <queue>
using namespace std;
typedef long long ll;
typedef int itn;
typedef pair<int, int>PII;
const int N = 2007, mod = 1e9 + 7, INF = 2.1e9;
const double eps = 1e-8;int n, m;
double b[N][N];//增广矩阵
double a[N][N];int guass(double a[][N])
{int c;//当前最左边的一列int r;//当前最上面的一行for(c = 1, r = 1; c <= n; ++ c){int t = r;for(int i = r + 1; i <= n; ++ i){if(fabs(a[i][c]) > fabs(a[t][c]))t = i;}if(fabs(a[t][c]) < eps)//等于0就下一个continue;//换到第一行(最上面的一行)for(int i = c; i <= n + 1; ++ i)swap(a[t][i], a[r][i]);//把该行第一个数变成 1(该行每一列都/=第c列的值)for(int i = n + 1; i >= c; -- i)a[r][i] /= a[r][c];//中间所有列(所有项)全部消掉for(int i = r + 1; i <= n; ++ i)if(fabs(a[i][c]) > eps)for(int j = n + 1; j >= c; -- j)a[i][j] -= a[r][j] * a[i][c];r ++ ;}if(r <= n){for(int i = r; i <= n; ++ i)if(fabs(a[i][n + 1]) > eps)//非零,无解return 2;return 1;//无穷多组解}//回代//行最简形矩阵for(int i = n; i >= 1; -- i)for(int j = i + 1; j <= n + 1; ++ j)a[i][n + 1] -= a[j][n + 1] * a[i][j];    return 0;
}int main()
{scanf("%d", &n);for(int i = 1; i <= n + 1; ++ i)for(int j = 1; j <= n; ++ j)scanf("%lf", &a[i][j]);for(int i = 1; i <= n; ++ i)for(int j = 1; j <= n; ++ j){b[i][j] = 2 * (a[i][j] - a[i + 1][j]);b[i][n + 1] += a[i][j] * a[i][j] - a[i + 1][j] * a[i + 1][j];}guass(b);for(int i = 1; i < n; ++ i)printf("%.3f ", b[i][n + 1]);printf("%.3f\n", b[n][n + 1]);return 0;
}

luogu P4035 [JSOI2008]球形空间产生器(高斯消元 / 模拟退火)相关推荐

  1. BZOJ.1013.[JSOI2008]球形空间产生器(高斯消元)

    题目链接 HDU3571 //824kb 40ms //HDU3571弱化版 跟那个一比这个太水了,练模板吧. //列出$n+1$个二次方程后两两相减,就都是一次方程了. #include <c ...

  2. 高斯消元简单线性代数线性基学习记录

    线性代数,唉 高斯消元 P4035 [JSOI2008]球形空间产生器 题目描述 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标 ...

  3. BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/Judg ...

  4. 【高斯消元】球形空间产生器(luogu 4035/金牌导航 高斯消元-1)

    球形空间产生器 luogu 4035 金牌导航 高斯消元-1 题目大意 给出n+1个n维的点,让你求一个点,使该点到所有点欧几里得距离相等 输入样例 2 0.0 0.0 -1.0 1.0 1.0 0. ...

  5. BZOJ 1013: [JSOI2008]球形空间产生器sphere( 高斯消元 )

    可以得到N条N元一次方程, 高斯消元就OK了..时间复杂度O(N3) ----------------------------------------------------------------- ...

  6. bzoj 1013: [JSOI2008]球形空间产生器sphere(高斯消元)

    1013: [JSOI2008]球形空间产生器sphere Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 5598  Solved: 2943 [Su ...

  7. 【高斯消元】[JSOI2008]球形空间产生器sphere

    [JSOI2008]球形空间产生器sphere 省选难度的板子 + 普及思维 = 紫题 (没毛病 日推天天推紫题再见了同学们我自请退群 为什么要我一个三维生物想象n维空间呢 以二维举例(糊一波我的手稿 ...

  8. 【BZOJ】1013: [JSOI2008]球形空间产生器sphere(高斯消元)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1013 只要列出方程组就能套高斯来解了. 显然距离相等,所以开不开平方都无所谓. b表示圆心,可列 s ...

  9. BZOJ 1013 JSOI2008 球形空间产生器sphere 高斯消元

    题目大意:给定n维空间下的n+1个点,求这n个点所在的球面的球心 以前尝试了非常久的模拟退火0.0 至今仍未AC 0.0 今天挖粪涂墙怒学了高斯消元-- 我们设球心为X(x1,x2,...,xn) 如 ...

最新文章

  1. 小学三年级上册计算机计划书,小学三年级班主任工作计划书
  2. Spring 中策略模式的 2 个经典应用,可以用来怼面试官了
  3. 省市级联基于jquery+json(转)
  4. Win7system登录打开计算机,Windows7系统system文件丢失导致开机黑屏如何解决
  5. Python os模块文件操作(二)
  6. C语言基础知识:printf的输出格式
  7. mysql error 1837_MySQL 主从复制错误1837
  8. s7300plc串口通信_s7-300串口通讯.ppt
  9. 微信小程序的组件 component开发,提高效率第三篇
  10. 最详细的SAI笔刷设置教程,非常全面详细!
  11. 饿了么神级UI组件库——Element-UI使用指南
  12. 计算机做无线AP共享文件,Windows 7妙用 笔记本变无线AP轻松共享
  13. html 加爱心符号,爱心符号大全
  14. 组合预测模型:bagging
  15. win7旗舰版恢复出厂设置没有修复计算机,教你win7旗舰版怎么恢复出厂设置
  16. CSP-S 2020 T1 P7075 儒略日
  17. 15-责任链模式Quarkus实现
  18. linux cnc 树莓派,谈谈LinuxCNC
  19. kestrel虚拟服务器,如何使Kestrel Web服务器监听非本地主机的请求?
  20. 20162316刘诚昊 队列课下作业

热门文章

  1. 强化学习与3D视觉结合新突破:高效能在线码垛机器人
  2. 最长不下降子序列(推广问题)
  3. 180615-精度计算BigDecimal
  4. 使用文件给swap增加空间
  5. 使用MSBuild实现完整daily build流程
  6. 为开发可穿戴设备 索尼收购了以色列芯片制造商
  7. 《Python数据分析与挖掘实战》一第1章 数据挖掘基础1.1 某知名连锁餐饮企业的困惑...
  8. VirtualBox虚拟机中启用usb3.0却无法显示u盘的解决方法
  9. Django中的Form
  10. VMware Coding Challenge: Possible Scores Summary: static