24年大一训练一(东北林业大学)

2024-04-03 09:44

本文主要是介绍24年大一训练一(东北林业大学),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言:

  周五晚上的训练赛,以后应该每两周都会有一次。

正文:

  Problem:A矩阵翻转:

#include<bits/stdc++.h>
using namespace std;
int a[55][55];
int main(){int n,m;while(cin>>n>>m){for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>a[i][j];}}for(int j=1;j<=m;j++){for(int i=n;i>=1;i--){cout<<a[i][j]<<" ";}cout<<endl;}cout<<endl;}return 0;
} 

用二维数组模拟矩阵。

Problem:B守夜人的游戏:

#include<bits/stdc++.h>
using namespace std;
int a[25];
int main(){int n;while(cin>>n){long long ans=0;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<=n;i++){long long x=a[i];ans=max(x,ans);for(int j=i+1;j<=n;j++){x*=a[j];ans=max(x,ans);}}cout<<ans<<endl;}
}

暴力即可,注意答案要开long long不然会暴int。

Problem:C野人来袭:

#include<bits/stdc++.h>
using namespace std;
const int N=1e6;
int a[N],book[N];
int main(){long long n;while(cin>>n){\memset(book,0,sizeof(book));int ans=0;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){int s=0;if(book[i]==0){book[i]=1;s=a[i];ans++;for(int j=i+1;j<=n;j++){if(book[j]==0&&s>=a[j]){book[j]=1;s=a[j];}}}}cout<<ans<<endl;}return 0;
}

写这道题前我们先要搞清这道题的意思。题目中的拦截装置的高度在来拦截投来的武器后会变为这个武器高度(开始相当于无穷大),那么这个装置就无法再拦截更高的武器了,我们就需要第二个拦截装置,以此类推,我们就可以计算出装置的数量。又由装置的先后性我们可以知道所有武器中能被第一个装置拦截那么就一定不会被第二个装置拦截。那么我们先假设有n个装置,先对第一个装置分析,从第一个未拦截的武器开始,标记他可以依次序的拦截下武器(遍历数组找一串递减数列),再从第二个装置分析,从第一次标记后第一个未标记的武器开始,继续下去直至所有武器都被标记,这样就找出了答案。

Problem:D机器人:

#include<bits/stdc++.h>
using namespace std;
typedef struct num{int t,r;	
}robot;
robot a[30];
bool cmp(robot j,robot k){return j.r<=k.r;
}
int rev(int x){int d[10];int ans=0;int p=1;while(x){d[p]=x%10;x/=10;p++;}for(int i=p-1;i>=1;i--){ans+=d[i]*pow(10,p-i-1);}return ans;
}
int main(){int n;while(cin>>n){for(int i=1;i<=n;i++){cin>>a[i].t;a[i].r=rev(a[i].t);}sort(a+1,a+n+1,cmp);for(int i=1;i<=n;i++){cout<<a[i].t;if(i!=n)cout<<" ";}cout<<endl;}return 0;
}

写一个反转数字的函数,在定义一个由数和它的反转数构成的结构体,写一个比较函数,排序后输出即可。

Problem:F美丽的黄山:

#include<bits/stdc++.h>
using namespace std;
int main(){int n,a[100000],ans=0,max;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){if(i==1){max=a[i];ans++;}else{if(max<a[i]){max=a[i];ans++;}}}cout<<ans;return 0;
}

之前写过的题,见2023年林大(东北林业大学)ACM校赛大一组 个人题解(已完成)_python程序设计与问题求解东北林业大学-CSDN博客

Problem:E点的运动:

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;while(n--){double x1,x2,y1,y2,x0,y0,vx,vy,t,ti,tj,tk,tl;cin>>x1>>y1>>x2>>y2>>x0>>y0>>vx>>vy>>t;//一般情况 if(vx!=0&&vy!=0){ti=(x1-x0)/vx,tj=(x2-x0)/vx,tk=(y1-y0)/vy,tl=(y2-y0)/vy;//无论t取何值都无法经过 if(max(ti,tj)<min(tk,tl)||max(tk,tl)<min(ti,tj)){cout<<"NO"<<endl;continue;}//存在t值使它能经过int flag=0;if(y0+vy*ti<=y1&&y0+vy*ti>=y2&&ti>=0&&ti<=t)flag=1;if(y0+vy*tj<=y1&&y0+vy*tj>=y2&&tj>=0&&tj<=t)flag=1;if(x0+vx*tk<=x2&&x0+vx*tk>=x1&&tk>=0&&tk<=t)flag=1;if(x0+vx*tl<=x2&&x0+vx*tl>=x1&&tl>=0&&tl<=t)flag=1;if(flag){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}//特判vx与vy都为0的情况 if(vx==0&&vy==0){if((x0==x1||x0==x2)&&y0>=y2&&y0<=y1){cout<<"YES"<<endl;continue;}else if((y0==y1||y0==y2)&&x0>=x1&&x0<=x2){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}//分别判断vx=0与vy=0的情况 if(vx==0){if(x0<x1||x0>x2){cout<<"NO"<<endl;continue;}else{tk=(y1-y0)/vy,tl=(y2-y0)/vy;if(min(tk,tl)>=0&&min(tk,tl)<=t){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}}if(vy==0){if(y0<y2||y0>y1){cout<<"NO"<<endl;continue;}else{ti=(x1-x0)/vx,tj=(x2-x0)/vx;if(min(ti,tj)>=0&&min(ti,tj)<=t){cout<<"YES"<<endl;continue;}else{cout<<"NO"<<endl;continue;}}}}return 0;
}

重量级选手,这题需要用到一些平面几何的知识。见下

对于一个点来说,如果他前进方向上的直线经过i,j,k,l这四条直线的次序是横横竖竖或竖竖横横(i,j为竖,k,l为横),那么这条直线永远无法经过这个矩形(可以自己画图试一下),那么我们就可以从起点开始,计算出到达i,j,k,l的时间,判断i,j,k,l经过的次序。剩下的情况就需要根据t的大小来判断经过矩形的时间是否合法。注意要特判vx=0或vy=0以及都为0的情况。

补充:如果点在矩形内但没经过边的话不算经过(我又交了一遍代码尝试过了)

后记:

  欢迎大家来讨论、相互学习。

这篇关于24年大一训练一(东北林业大学)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/872571

相关文章

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)

Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering) Power Iteration Clustering (PIC) 是一种基于图的聚类算法,用于在大规模数据集上进行高效的社区检测。PIC 算法的核心思想是通过迭代图的幂运算来发现数据中的潜在簇。该算法适用于处理大规模图数据,特别是在社交网络分析、推荐系统和生物信息学等领域具有广泛应用。Spa

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失,在SigLIP这个工作中,作者提出采用非对比性的sigmoid损失,能够更高效地进行图文预训练,本文进行介绍。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

Science|癌症中三级淋巴结构的免疫调节作用与治疗潜力|顶刊精析·24-09-08

小罗碎碎念 Science文献精析 今天精析的这一篇综述,于2022-01-07发表于Science,主要讨论了癌症中的三级淋巴结构(Tertiary Lymphoid Structures, TLS)及其在肿瘤免疫反应中的作用。 作者类型作者姓名单位名称(中文)通讯作者介绍第一作者Ton N. Schumacher荷兰癌症研究所通讯作者之一通讯作者Daniela S. Thomm

多云架构下大模型训练的存储稳定性探索

一、多云架构与大模型训练的融合 (一)多云架构的优势与挑战 多云架构为大模型训练带来了诸多优势。首先,资源灵活性显著提高,不同的云平台可以提供不同类型的计算资源和存储服务,满足大模型训练在不同阶段的需求。例如,某些云平台可能在 GPU 计算资源上具有优势,而另一些则在存储成本或性能上表现出色,企业可以根据实际情况进行选择和组合。其次,扩展性得以增强,当大模型的规模不断扩大时,单一云平

SIGMOD-24概览Part7: Industry Session (Graph Data Management)

👇BG3: A Cost Effective and I/O Efficient Graph Database in ByteDance 🏛机构:字节 ➡️领域: Information systems → Data management systemsStorage management 📚摘要:介绍了字节新提出的ByteGraph 3.0(BG3)模型,用来处理大规模图结构数据 背景

神经网络训练不起来怎么办(零)| General Guidance

摘要:模型性能不理想时,如何判断 Model Bias, Optimization, Overfitting 等问题,并以此着手优化模型。在这个分析过程中,我们可以对Function Set,模型弹性有直观的理解。关键词:模型性能,Model Bias, Optimization, Overfitting。 零,领域背景 如果我们的模型表现较差,那么我们往往需要根据 Training l

如何创建训练数据集

在 HuggingFace 上创建数据集非常方便,创建完成之后,通过 API 可以方便的下载并使用数据集,在 Google Colab 上进行模型调优,下载数据集速度非常快,本文通过 Dataset 库创建一个简单的训练数据集。 首先安装数据集依赖 HuggingFace datasetshuggingface_hub 创建数据集 替换为自己的 HuggingFace API key

【YOLO 系列】基于YOLOV8的智能花卉分类检测系统【python源码+Pyqt5界面+数据集+训练代码】

前言: 花朵作为自然界中的重要组成部分,不仅在生态学上具有重要意义,也在园艺、农业以及艺术领域中占有一席之地。随着图像识别技术的发展,自动化的花朵分类对于植物研究、生物多样性保护以及园艺爱好者来说变得越发重要。为了提高花朵分类的效率和准确性,我们启动了基于YOLO V8的花朵分类智能识别系统项目。该项目利用深度学习技术,通过分析花朵图像,自动识别并分类不同种类的花朵,为用户提供一个高效的花朵识别