[专栏]【算法入门】通过简单的判断,减少算法的冗余

本文介绍了一种寻找所有直角三角形边长组合的算法,通过三种不同的方法实现,逐步优化了搜索效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例:求斜边小于等于n的所有的直角三角形 边长的组合。


方法一:(最笨最直接的做法)3个边长分别从 1到n 进行判断。

方法二:确定一斜边和一直角边。直角边必定小于斜边,从而减少一部分冗余。

方法三:确定一斜边和一直角边,同时确定另一直角边的范围 必定小于等于 sqrt(斜边方-直角边平方)的整数部分。 (该边从小到大取值,超过一定只就不再可能满足 a2+b2=c2 b,c固定)

#include <iostream>
#include <cmath>
using namespace std;


int main()
{
cout<<"input the num:";
int n,length(0);
int longSquart(0),rectSquart(0);
cin>>n;
for (int i=1;i<=n;i++)//斜边
{
longSquart=i*i;
   for (int j=1;j<i;j++)//一直角边
   {
rectSquart=j*j;
length=(int)sqrt((double)(longSquart-rectSquart));
//for(int k=1;k<=n;k++)    //方法一
//for (int k=1;(k<=length)&&(k<=j);k++)  //方法二  可避免 5,4,3     5,,3,4式的重复计算
    for (int k=j;k<=length;k++)          //方法三:   缩小搜索的范围
     {
	if ((k*k+rectSquart)==longSquart)
	{
	cout<<"Have the num:"<<i<<" "<<j<<" "<<k<<endl;
	}
     }
   }
}
 
return 0;
}


### YOLO算法的改进方法 YOLO(You Only Look Once)作为一种高效的实时目标检测算法,在计算机视觉领域得到了广泛应用。然而,为了进一步提高其精度和效率,研究者们提出了多种改进方法。 #### 数据增强与预处理 数据增强是提升模型泛化能力的重要手段之一。通过引入随机裁剪、旋转、翻转以及颜色抖动等方式可以有效增加训练样本多样性[^1]。此外,还可以利用生成对抗网络(GANs)来合成高质量的数据集用于扩充原始图像库[^3]。 #### 损失函数调整 传统交叉熵损失可能使得模型过于自信于某些类别预测上而忽略其他可能性。因此可以通过加入熵奖励项或者标签平滑技术来缓解这一现象,从而使最终输出更加平稳合理。 #### 网络结构优化 随着深度学习框架的发展,新的卷积神经网络架构不断涌现出来。例如ResNet系列中的残差连接机制能够很好地解决深层网络训练困难的问题;EfficientDet则采用了复合尺度缩放策略实现了速度与准确率之间的良好平衡。对于具体应用场景而言,可以根据实际需求选择合适的骨干网并对其进行微调以达到最佳效果。 #### 后处理阶段改善 在完成初步检测之后还需要经历NMS(Non-Maximum Suppression)操作去除冗余框体。但是标准版可能存在漏检情况发生于是有人提出Soft-NMS等变种形式允许一定程度重叠存在从而保留更多候选区域供后续判断依据使用[^2]。 ```python import torch.nn as nn class ImprovedYOLO(nn.Module): def __init__(self, num_classes=80): super(ImprovedYOLO, self).__init__() # Backbone Network (e.g., ResNet or EfficientNet) self.backbone = ... def forward(self, x): features = self.backbone(x) detections = ... # Apply detection head on top of backbone return detections ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值