pku 3587 The Biggest Cake

YOLO26算法车道线检测+训练好的模型+360张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[未获取()] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 55 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9512** mAP50-95 | 0.6746 Precision | 0.8796 Recall | 0.8825 train/box_loss | 0.8608 train/cls_loss | 0.7232 val/box_loss | 0.9955 val/cls_loss | 0.5511 【训练过程分析】 这轮训练我经历了从初始到稳定的曲折过程。前 20 个epoch,loss 曲线呈现了陡峭的下降趋势,mAP50 指标从 0.8 开始逐步攀升,仿佛在寻找一个合适的平衡点。然而,从第 21 个epoch 开始,mAP50 的提升速率显著放缓,整体曲线显得有些曲折,有时甚至停滞不前,让我一度以为训练出现了问题。直到第 35 个epoch,loss 开始逐渐趋于平稳,这标志着模型已经找到了一个较好的收敛区间。到了最后的 20 个 epoch,尽管 mAP50 依旧在稳步上升,但提升幅度已经不大,这意味着模型已经接近其性能天花板。 在这个过程中,我重点关注了 box_loss 和 cls_loss 的变化。初期阶段,box_loss 快速下降,从 0.9 逐渐降至 0.86,而 cls_loss 则从 0.75 逐步下降至... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

http://poj.org/problem?id=3587

首先按照O(n^3)暴了一次,2000MS。然后按照O(n^2logn)写了一次,700MS.主要有一些计算几何的注意事项。

1。 sin , cos , atan ,tan ,sqrt 等数学函数执行的速度很慢,最好避免频繁使用

2. 关于精度。 爆的时候开了一个eps = 1e-10,.wa . 改1e-5。ac。继续改直接 == .ac。

3。关于极角排序,写了两个模板。一个是求倾斜角,一个是求叉积。事实证明。叉积要快上N+1倍。

4. 关于三角形外接圆。要知道公式。。。

5。尽可能少的调用函数,可以提高效率。


#include <stdio.h>
#include <iostream>
#include <math.h>
#include <sstream>
#include <algorithm>
using namespace std;
template<class T>inline string toStr(const T& v){ostringstream os;os<<v;return os.str();}
#define FOR(i,s,e) for (int (i)=(s);(i)<(e);i++)
#define DEBUG(a)     printf("%s = %s\n", #a, toStr(a).c_str())
const double eps=1e-8;
template<class T>inline T isqr(T v) {return v*v;}
template<class T>inline int isgn(T v) {return (v>eps) - (v<-eps);}
const double pi=acos(-1.0);

struct Point2D {
        double x, y;
        Point2D():x(0), y(0){}
        Point2D(const double& X, const double& Y):x(X), y(Y){}
        //点按逆时针围绕坐标原点旋转alpha角度
        void rotate(double alpha) {
                double tx=x*cos(alpha)-y*sin(alpha);
                double ty=y*cos(alpha)+x*sin(alpha);
                x=tx; y=ty;
        }
        bool operator < (const Point2D& v) const {return y<v.y || !isgn(y-v.y) && x<v.x;}
        bool operator ==(const Point2D& v) const {return !isgn(x-v.x) && !isgn(y-v.y);}
        bool operator !=(const Point2D& v) const {return isgn(x-v.x) || isgn(y-v.y);}
        Point2D operator +(const Point2D& v) const {return Point2D(x+v.x, y+v.y);}
        Point2D operator -(const Point2D& v) const {return Point2D(x-v.x, y-v.y);}
        template<class T>Point2D operator *(const T& v) const {return Point2D(x*v, y*v);}
        template<class T>Point2D operator /(const T& v) const {return Point2D(x/v, y/v);}
        Point2D& operator +=(const Point2D& v) {x+=v.x; y+=v.y; return *this;}
        Point2D& operator -=(const Point2D& v) {x-=v.x; y-=v.y; return *this;}
        template<class T>Point2D& operator *=(const T& v) {x*=v; y*=v; return *this;}
        template<class T>Point2D& operator /=(const T& v) {x/=v; y/=v; return *this;}
};
struct NODE{
    Point2D p;
    int num;
};
//向量叉积os 与oe
double multiply(Point2D s,Point2D e,Point2D o)
{
return sqrt((s.x-o.x)*(e.y-o.y)-(e.x-o.x)*(s.y-o.y));
}
// 返回两点之间欧氏距离
double dist(Point2D p1,Point2D p2)
{
return( sqrt( (p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y) ) );
}
Point2D p[700];
double dis[700][700];
NODE q[700];
int center;
bool cmp(const NODE & a,const NODE & b)                                                                                       //极角排序函数
{
     double temp;
     temp=multiply(p[center],a.p,b.p);
     if(temp>0)
        return true;
     else if(temp==0 && (dis[a.num][center]<dis[b.num][center]) )
        return true;
     return false;
}
double outCir(int i, int j, int k){
    double a = dis[i][j];
    double b = dis[i][k];
    double c = dis[k][j];
    double area= (p[j].x-p[i].x)*(p[k].y-p[i].y) - (p[j].y-p[i].y)*(p[k].x-p[i].x);
    area=fabs(area)/2;
    area = a * b * c /area/4;
    return area;
}
int main()
{
// freopen("in.txt","r",stdin);
    int t;
    scanf("%d",&t);
    int n;
    double max,r;
    while (t--)
    {
        scanf("%d",&n);
        FOR(i,0,n)
        {
         scanf("%lf%lf",&p[i].x,&p[i].y);
         q[i].p = p[i];
         q[i].num = i;
        }
        max = -1;
        FOR(i,0,n)
        FOR(j,i+1,n)
        dis[i][j] = dis[j][i] = dist(p[i],p[j]);

        FOR(i,0,n)
        {
            center = i;
            sort(q,q+n,cmp);
            FOR(j,1,n-1)
            {
                r = outCir( center,q[j].num,q[j+1].num);
               // DEBUG(r);
                if (r - max > eps)
                max = r;
            }
        }
        printf("%.3lf\n",max);
    }
    return 0;
}


关于AI开发方法论-以文档为索引的高质量协作开发:让一次现象描述精准命中几个代码块 对AI的编码规范进行约束 立即下载

相关推荐

syslog_test.py

syslog_test.py

poj 3587 The Biggest Cake 正弦定理

题意: 给n个点,求其中3个点构成三角形的最大外接圆半径。 分析: 正弦定理,A/sina=B/sinb=C/sinc=ABC/(2*s)=2*R。 代码: //poj 3587 //sep9 #include #include using namespace std; const int maxN=700; double dis[maxN][maxN]; double x[maxN

sepNINE的专栏 1332

Simulink “双碳”背景下汽车减少碳排放建模与仿真

内容概要:本文围绕“双碳”战略背景,系统阐述了基于Simulink的汽车碳排放建模与仿真技术,重点引入模糊PID控制优化动力系统性能,以实现节能减排目标。文档整合了多个Matlab/Simulink科研仿真案例,涵盖无刷直流电机(BLDC)控制、三相PWM整流器、电池管理系统、路径规划、信号处理、智能优化算法及图像处理等领域,全面展示Matlab在智能控制与绿色能源系统中的应用价值。同时强调科研应兼具严谨逻辑、创新思维与工具赋能,并提供完整的仿真资源链接与学习路径支持实践落地。; 适合人群:具备Matlab/Simulink基础,从事自动化、电气工程、车辆工程、控制科学、电力电子及智能制造等相关领域的科研人员或高年级本科生、研究生;适用于开展节能减排、新能源系统优化、智能控制算法研究等课题的研究者。; 使用场景及目标:①学习在Simulink中构建汽车能耗与排放仿真模型并应用模糊PID进行动态优化;②掌握BLDC、PWM整流器等关键部件的建模与控制策略设计;③借鉴丰富案例提升科研效率,拓展在智能控制、路径规划、信号处理等方向的应用能力;④通过提供的网盘资源获取完整代码与资料,支撑论文写作与项目开发。; 阅读建议:建议按照资源目录顺序系统学习,结合百度网盘提供的Matlab/Simulink代码动手实践,重点关注控制策略的设计、仿真结果的分析与优化过程,同时注重培养科研思维与工程实际问题的结合能力。

hdu 3532 Max Angle

1. atan2(y,x)返回值在 -pi 到 pi 之间。要划区间 2.当两线段夹角 angel > pi 时 , 取 angle = 2Pi - angle . #include #include #include using namespace std; #define FOR(i,s,e) for (int (i)=(s);(i)<(e);i++) const double IN

timluoTC的专栏 625

西部牛仔_1794033330851.apk

西部牛仔_1794033330851.apk

LMI线性矩阵不等式之非线性变量处理

​ 如果一个LMI线性矩阵不等式中的某项存在两个矩阵变量相乘,那么称该类情形为非线性矩阵不等式,而要直接求解时很困难的,而且LMI工具箱也无法求解非线性矩阵,所以需要通过变量替换法进行处理。 ​...

Mr.邹的博客 4549

swjtu oj 1579 加号问题

http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=1579 明显的DP算法。方便起见,定义一个结构体answer。用来储存一个字符串数字,当然拉,也可以不用,看个人喜好。输入字符串s ,加号个数 m,一个answer的二维数组 OPT[ i ][ j ] ,表示: 用 s 的前 i 的 字符,在这i个字符中加入 j 个加

timluoTC的专栏 565

Geant4学习一:写一个简单程序

1、 基本介绍

ccwwNUAA的博客 7697

pku 2398

http://acm.pku.edu.cn/JudgeOnline/problem?id=2398. 敲的时候sb掉了。。写数论习惯性的是 unsigned __int64 u64..于是乎也贴了上去...于是乎。。因为unsigned....... #include #include #include #include #include #include #include

timluoTC的专栏 517

面板数据分析中的随机前沿软件FRONTIER Version 4.1应用

随机前沿模型是一种用于评估单位效率的统计方法。它考虑了输入和输出的随机性,允许我们在效率评估中引入不确定性。随机前沿模型通常用于评估生产单位、金融机构、医院等各种类型的决策单元的效率。FRONTIER是一个广泛使用的随机前沿分析软件,具有用户友好的界面和强大的功能。它提供了估计效率、前沿分析和模型比较的工具,使用户能够深入研究单位的效率和绩效。面板数据是一种包含多个单位(通常是时间序列数据)的数据类型,可以用于分析单位在不同时间点的变化和效率。

目标检测专栏持续更新中,改进YOLO系列通用,适用v5、v7、v8、所有博客均是团队原创博客,所有文章禁止转载,违者必究。 2981

SAP 深入理解库存

当 某个期间发生货物移动的时候,系统在更新mard数据的之前(这个表是实时更新的),会检查此笔业务过账期间和mard里对应记录的期间是否一致,也就是 看这是不是本期间第一笔移动。其二,我们不能保证这定期的作业的确定性,硬件维护、系统性能都可能使这预定的“时刻”出现偏差,如果某一次没能抓取该时刻的库存,对整个报表来说,是数据的缺失;中,当某一期间(Period)的第一项操作更新了物料数量或价值,则SAP系统会向表MBEWH写入一条记录,以第一项操作之前的余额、价格控制为标准。这对于业务数据量大的。

matinal 當冬夜漸暖 。公众号:matinal 3619

swjtu oj 1589 Help Alice!

http://acm.swjtu.edu.cn/JudgeOnline/showproblem?problem_id=1589 没涉及到什么算法,两个二进制数,求最大公约数,但是这两个数字必须用字符串表示,算是要求自己模板吧,这里给出我AC的程序:二进制字符串的减法和取模运算. #include #include typedef struct {

timluoTC的专栏 497

树莓派入门教程 - 0 - 准备篇 - 0.0 SD卡制作树莓派系统镜像启动盘 开机

电脑需要提前安装的工具: sd卡格式化工具SDFormatter,官网下载链接:https://www.sdcard.org/downloads/formatter/ 镜像烧录工具Win32 Disk Imager,官网下载链接:https://win32diskimager.download/ 使用到的硬件: 一张容量大于等于16GB的TF卡 + 读卡器; 树莓派板卡。3B、3B+、4B等各型号均可,带有 HDMI接口即可。 HDMI接口的显示屏。 鼠标、键盘、电脑。 1....

Mark_md的博客 6971

pku 2653 Pick-up sticks

http://acm.pku.edu.cn/JudgeOnline/problem?id=2653 我明明越界,pku 给tle... 害的我一顿改。就是不过。还以为模板有问题 #include #define FOR(i,s,e) for (int (i)=(s); (i) < (e);i++) inline double max(double a, double b) {return a

timluoTC的专栏 475

Arduino IDE 2.3.2 配置 UNO R4 WIFI 开发环境避坑指南(附LED矩阵驱动测试)

本文详细介绍了如何在Arduino IDE 2.3.2中配置UNO R4 WIFI开发环境,并提供了LED矩阵驱动的实战指南。从开发环境搭建到硬件连接,再到LED矩阵的初始化和弹球动画实现,手把手教你避开常见配置陷阱,最终实现流畅的动画效果。特别适合刚接触UNO R4 WIFI的开发者快速上手。

weixin_28675839的博客 219

【XSRP软件无线电】基于软件无线电平台的QPSK频带通信系统设计(含有完整工程资料获取链接)

软件无线电(Software Defined Radio, SDR)是一种无线通信系统,它通过软件来定义和实现无线电的功能,而不是依赖于传统的硬件电路。SDR平台的核心思想是将传统无线电系统中的大部分硬件功能,如调制解调、信号处理、频率选择等,通过软件来实现。这种设计理念使得SDR具有高度的灵活性和可重配置性,能够适应不同的通信标准和频段,快速适应新的通信技术。

嵌入式技术开发 3279

foj 1971 A math problem

AC大牛的神题。 比赛时候没写出来。 首先,是思维问题。 一开始大部分队伍想的都是算出N,M然后找公式求,也确实找到一些,但是都不可行。赛后看了解题报告才明白将 ANS 写成 ANS = wi mod (pi ^ ci) 的形式,通过求 wi 。 再套用中国剩余定理。确定 ANS 。 首先, 直接求出 N 。 然后 求 wi = 1^A + 2^A + 3^A + ...+ N ^A

timluoTC的专栏 467

【Pix4d精品教程】Pix4d中央子午线细化设置(测区跨两个分带)

本文介绍了在Pix4d软件中通过修改中央子午线设置来解决跨分带测区刺点问题的方法。针对测区跨3度分带(如105°和108°之间)时像控点与靶标点偏移较大的情况,建议将中央子午线设为测区中心(如106.5°)。具体操作步骤包括:修改投影文件中的中央子午线参数,选择新的输出坐标系配置文件。该方法能有效提高像控点刺点效率,为航测内业数据处理提供便利。操作简单实用,适合大比例尺测图项目中跨分带测区的数据处理需求。

智慧空间实验室 5524

pku 3304 Segments

http://acm.pku.edu.cn/JudgeOnline/problem?id=3304 假设存在 符合题意的一条直线l ,它经过所有线段。 那么, 必可以通过旋转,平移等操作,使得该直线至少经过两个#include #include #include using namespace std; #define FOR(i,s,e) for (int (i)=(s); (i) <

timluoTC的专栏 460

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

pku 2823 双端队列

PKU 2823 双端队列特点: 1.队列具有单调性(desc or asc)。 2.只能在对头或队尾进行插入删除操作。 本题维护一个递增和一个递减的两个队列 #include #include #include #include using namespace std; int a[1000010]; int answer_min[1000010]; int answer_m

timluoTC的专栏 445

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

DP:HDU_1081_To The Max

http://acm.hdu.edu.cn/showproblem.php?pid=1081 题意很容易理解: 现在以 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 为数据,说明解答过程. 写一个函数maxHelp(i,j),实现以下目的: 当i = 0 , j = 0 时: 传入参数 0 -2 -7 0 。得到新的数组 HELP : 0 -2 -7 0 。

timluoTC的专栏 421

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

PKU 1696 Space Ant

http://acm.pku.edu.cn/JudgeOnline/problem?id=1696 贪心一下就可以了,每次选择最佳点。然后将点设为新的起点。数据很弱。 #include #include #include #include using namespace std; #define FOR(i,s,e) for (int (i)=(s); (i) < (e);i++)

timluoTC的专栏 416

hdu 1048

#include #include #include using namespace std; struct strCmp { bool operator()(const char s1 ,const char s2) const { return s1 < s2; } }; int main() { // freopen("in.txt","r",stdin); string

timluoTC的专栏 413

zoj 3425 Similarity

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4109 模拟+KM。表示只会写模拟。。。手贱把'\0' 写成' \n ' 而导致RE。 #include #include #include #include using namespace std; #

timluoTC的专栏 397

hdu 1022

没什么好说,还是练STL #include #include #include #include #include using namespace std; int main() { // freopen("in.txt","r",stdin); string train; string trainOrder; vector answer; i

timluoTC的专栏 333
上一篇: pku 1265 Area
下一篇: hdu 3532 Max Angle
timluoTC
博客等级 码龄15年 1粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值