热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

洛谷P4035[JSOI2008]球形空间生成器(高斯消元法/模拟退火算法)

本文介绍了洛谷P4035[JSOI2008]球形空间生成器问题的解决方案,主要使用了高斯消元法和模拟退火算法。通过这两种方法,可以高效地求解多维空间中的球心位置。文章提供了详细的算法模板和实现代码,适用于ACM竞赛和其他相关应用场景。数据范围限制在10以内,确保了算法的高效性和准确性。

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


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

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




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

然后实际上本题就是一个高斯消元模板题
在这里插入图片描述
apple pencil用习惯了,普通的笔写起来,字丑见谅

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

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

推荐阅读
  • 题目描述:Balala Power! 时间限制:4000/2000 MS (Java/Other) 内存限制:131072/131072 K (Java/Other)。题目背景及问题描述详见正文。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • Hanks博士是一位著名的生物技术专家,他的儿子Hankson对数学有着浓厚的兴趣。最近,Hankson遇到了一个有趣的数学问题,涉及求解特定条件下的正整数x,而不使用传统的辗转相除法。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 该问题描述了以不同价格购买三种类型的鸡(公鸡、母鸡和小鸡),使用100元恰好购买100只鸡的不同组合。具体而言,每只公鸡价值5元,每只母鸡价值3元,而每三只小鸡价值1元。问题是,如何用100元购买100只鸡,并找出所有可能的公鸡、母鸡和小鸡的组合。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • SSE图像算法优化系列三:超高速导向滤波实现过程纪要(欢迎挑战)
    自从何凯明提出导向滤波后,因为其算法的简单性和有效性,该算法得到了广泛的应用,以至于新版的matlab都将其作为标准自带的函数之一了&#x ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 编程解析:CF989C 花朵之雾 (构造算法)
    本文深入探讨了CF989C '花朵之雾'问题的构造算法,提供了详细的解题思路和代码实现。 ... [详细]
  • 探讨了一个包含纯虚函数的C++代码片段,分析了其中的语法错误及逻辑问题,并提出了修正方案。 ... [详细]
  • 深入解析 C++ 中的 String 和 Vector
    本文详细介绍了 C++ 编程语言中 String 和 Vector 的使用方法及特性,旨在帮助开发者更好地理解和应用这两个重要的容器。 ... [详细]
  • 本文详细介绍了在Luat OS中如何实现C与Lua的混合编程,包括在C环境中运行Lua脚本、封装可被Lua调用的C语言库,以及C与Lua之间的数据交互方法。 ... [详细]
  • OpenCV中的霍夫圆检测技术解析
    本文详细介绍了如何使用OpenCV库中的HoughCircles函数实现霍夫圆检测,并提供了具体的代码示例及参数解释。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
author-avatar
今生绝恋2702934494
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有