扩欧——NKOJ P3677 观光车

YOLO26算法保龄球馆保龄球目标检测+训练好的模型+743张数据集+pyqt可视化界面.zip 数据集可视化效果可参见下方展示。 【数据集概况】 · 检测类别(中文):[保龄球(bowling)] · 训练集:594 张 · 验证集:75 张 · 测试集:74 张 · 总计:743 张 该数据集聚焦于室内保龄球馆场景,系统性采集了多角度、多姿态下保龄球在不同运动阶段的视觉特征,为保龄球运动过程中的球体识别与轨迹分析提供了高质量标注样本,具有明确的体育训练与智能辅助系统开发价值。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9938** mAP50-95 | 0.6966 Precision | 0.9740 Recall | 0.9974 train/box_loss | 0.9113 train/cls_loss | 0.2862 val/box_loss | 1.1516 val/cls_loss | 0.3116 【训练过程分析】 100 轮训练后 mAP50 达到 0.9938,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.6966,和 mAP50 差距 0.30,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9740、Recall 0.9974,精召双高,模型对保龄球的检测能力强。 【预测效果展示】 验证集预测效果较好,检测框基本准确覆盖保龄球,置信度整体偏高。 【改进建议】 1. 丰富场景多样性:补充不同光照、背景和遮挡条件下的样本。 2. 提升输入分辨率:640 ... 立即下载
问题描述

何老板带领n名游客来到一景区大门口,需要乘坐观光车游览景区。
景区提供两种观光车,一种是每辆车可以坐a名游客,包一辆车费用是p1块钱;另一种每辆车可以坐b名游客,包一辆车费用是p2块钱。
何老板想让这n名游客都坐上观光车,且每辆车都坐满。问何老板至少要花费多少钱?

输入格式
第一行,一个整数n,表示游客的总数。
第二行,两个空格间隔的整数,表示p1和a
第三行,两个空格间隔的整数,表示p2和b

输出格式
一行,一个整数,表示所需最少费用。
如果无解,输出“-1”

样例输入 1

43
1 3
2 4

样例输出 1
15

样例输入 2
40
5 9
5 12

样例输出 2
-1

提示
样例1说明:第一种车13辆,第二种车1辆
1 <= n,a,b,p1,p2 <= 2,000,000,000

分析:
设第一种车、第二种车分别包x,y,辆
x*a+y*b=n;   
设 x1,y1 是满足上式的一组解
cost= (x1+t*dx)*p1+(y1-t*dy)*p2
    =x1*p1+y1*p2+ (dx*p1-dy*p2)*t;
是一个关于t的一次函数;记斜率为K=dx*p1-dy*p2
由于x,y>0,可以求出t的定义域:
	x=x1+dx*t>=0  ==> t >= -x1/dx;
	y=y1-dy*t>=0  ==> t <= y1/dy;
若  K<0 ,t=tmin=-x1/dx;
    K>=0,t=tmax=y1/dy;
代码如下:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstdlib>

#define LL long long
using namespace std;
LL n,p1,p2,a,b;

LL extend_gcd(LL a,LL b,LL &x,LL &y ){
	LL x0,y0,r;
	if(b==0){x=1;y=0; return a;}
	r=extend_gcd(b,a%b,x0,y0);
	x=y0;  y=x0-a/b*y0;
	return r;
}

int main(){
	LL gcd,x,y,mint,maxt,ans,dx,dy,k,t;
	cin>>n>>p1>>a>>p2>>b;
	gcd=extend_gcd(a,b,x,y);
	if(n%gcd!=0){
		cout<<-1; return 0;
	}
	x= x*n/gcd; y=y*n/gcd;
	ans= x*p1+y*p2;
	dx= b/gcd;	dy= a/gcd;
	k= (dx*p1-dy*p2);
	maxt= floor(((double) y)/dy);
	mint= ceil(((double) x)/ -dx);
	if(maxt<mint){
		cout<<"-1"; return 0;
	}
	else if(k>0) t=mint;
	else t=maxt;
	cout<<ans+k*t<<endl;
	//cout<<"k= "<<k<<" dx= "<<dx<<" dy="<<dy<<endl; 
	//cout<<"x= "<<x<<" y= "<<y<<" mint= "<<mint<<" maxt= "<<maxt<<endl;
}


[NKOJ P6484]游历小镇 有N个小镇从左往右排列在数轴上,小镇被编号为1到N, 第i个小镇在Xi处。果老师最初在1号小镇处,果老师现在想游历完所有的小镇。果老师现在想知道他最少需要多少代价可以游历完所有的小镇。 阅读详情

相关推荐

NKOI 5月月赛 观光车(拓展几里德)

观光车                                                           时间限制:10000 MS   空间限制:65536 KB 问题描述 何老板带领n名游客来到一景区大门口,需要乘坐观光车游览景区。 景区提供两种观光车,一种是每辆车可以坐a名游客,包一辆车费用是p1块钱;另一种每辆车可以坐b名游客,包一辆车费用是p

SuperGate的博客 609

坑爹水题——数列

数列A的满足An=x*An-1+y,给出n,A0,x,y,求模100000007后的结果。 输入格式 第1行包含4个整数n,A0,x,y 输出格式 只有1行包含1个整数,An模100000007后的结果。 样例输入 样例输入1: 1000 333 1 233 样例输入2: 100 2 3 3 样例输出 样例输出1: 233333 样

INCINCIBLE的博客 1196

理解ex_gcd

ex_gcd 一直以来都不是很懂是啥,只知道怎么用,现在来小小的写一波理解吧,毕竟完全靠记模板也是不行的。 首先是用来解决   ax+by=c  这种问题的。 然后   有这么一个定理   ax+by=gcd(a,b)   一定有解。 由几里得定理我们知道  gcd(a,b)=gcd(b,a%b)——>bx+(a%b)y=ax+by 下面就涉及到取模的本质了。

ZJLORD 1213

大组合数取模

考虑C(n,m)%P 情况一:n,m很大,P为素数 处理小范围的阶乘和阶乘的逆元 用卢卡斯定理即可。卢卡斯定理: 情况二: 当P= p1∗p2∗p3∗...∗pn% MathType!MTEF!2!1!+- % feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn % hiov2DGi1BTfMBaeXatLxBI9gBaerbd9w

INCINCIBLE的博客 1182

[ZJOI2015] 地震后的幻想乡

P3255【ZJOI2015 Day1】地震后的幻想乡 时间限制 : 20000 MS   空间限制 : 262144 KB 问题描述         傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们。         这不,幻想乡突然发生了地震,所有的道路都崩塌

INCINCIBLE的博客 1047

UVa 1642 魔法GCD + 区间问题总结

题目和题解请见刘汝佳紫皮书340页。 代码中用了STL中的map。也是现在才知道到map在系统中是以pair的形式存储的,first是键值,second是对应的映射值。 map的遍历仍然是使用类的迭代器。 代码如下: #include #include #include #include #include #include #define LL long long using namesp

INCINCIBLE的博客 986

拉】nkoj3685--8数

P3685  8数 时间限制 : - MS   空间限制 : 65536 KB 评测说明 : 时限:1000ms 问题描述 给一个正整数N,问是否存在N的倍数M,且M的各个位全部由数字8组成,如果存在多个取最小的M 并输出M由几个8组成。 输入格式 一行,一个整数N 输出格式 一行一个整数,表示所求的结果。 如果无解,输出0

INCINCIBLE的博客 956

Miller_Robin素数判定和Pollard_rho质因数分解模板

#include<cstdio> #include<iostream> #include<cstdlib> #include<cmath> #include<cstring> #include<queue> #include<vector> #include<algorithm>#define ULL unsigned long long using namespace std; const int

INCINCIBLE的博客 799

费马小定理降幂--nkoj3687 整数拆分

P3687  整数拆分 时间限制 : - MS   空间限制 : 65536 KB   评测说明 : 时限1000ms 问题描述 给你一个正整数N,F(x)表示把N拆分成x个正整数之和的方案数。 例如,当n=5时: F(1)=1,方案为:{5} F(2)=4,方案为:{1+4}  {4+1}  {2+3}  {3+2} F(3)=6,方案为:{1+1+3}  {1+3+

INCINCIBLE的博客 778

常用数论算法

几里得:解不定方程,求逆元 int extended_gcd(int a, int b, int &x, int &y) { int r, tmp; if (b==0) { x = 1; y = 0; return a; } r = extended_gcd(b, a % b, x, y); tmp = x; x = y; y = tmp

INCINCIBLE的博客 714

回文--nkoj3681

P3681  回文 时间限制 : - MS   空间限制 : 65536 KB 评测说明 : 时限1000ms 问题描述    给你一个由N个小写字母构成的字符串,请你将它改成“回文串”。你可以任意调整串中字符的位置,但不可以删掉其中的字符。问,最多能得到多少个不同的回文串?          结果可能很大,mod  1,000,000,007 后再输出!

INCINCIBLE的博客 637

高精度catalan数模板

//高精度的Catalan数模板 公式: h ( i ) = h ( i - 1 ) * ( 4 * i - 2 ) / (i + 1) const int MAX=100; const int BASE=10000; int h[101][MAX],i,j,n; void multiply(int *h,int Max,int b) //大数乘法 求”高精度数a“乘以”低精度数b”

INCINCIBLE的博客 564

高斯消元(xor方程组)模板

#include #include #include #include #include using namespace std; const int inf=0x3f3f3f3f; template inline void _read(T& x){ char ch=getchar();bool sign=true; while(!isdigit(ch)){if(ch=='-')

INCINCIBLE的博客 500

高精度模板

by spark: #include #include #include #include #define LL long long using namespace std; struct sparkint{ static const int BASE=100000000; static const int width=8; vector s; sparkint (LL num=0

INCINCIBLE的博客 484

拉 uva 11426 - GCD - Extreme (II)

题意:(详见蓝皮书P125) 给定正整数n,求下列表达式的值: G = ij ∑ ∑ GCD(i, j) i=1   j=i+1 Input The input file contains at most 100 lines of inputs. Each line contains an integer N (1 < N < 4000001).The meaning of

INCINCIBLE的博客 456

POJ 3150 Cellular Automaton

Cellular Automaton Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 3553   Accepted: 1434 Case Time Limit: 2000MS Description A cellular automaton is

INCINCIBLE的博客 372
上一篇: poj——1275 Cashier Employment 差分约束系统
下一篇: 前缀和---三分数组nkoj3049
INCINCIBLE
博客等级 码龄11年 31粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值