キーエンスプログラミングコンテスト2024(AtCoder Beginner Contest 374)

news/2024/10/8 19:00:10/文章来源:https://www.cnblogs.com/HaneDaCafe/p/18452223

A.Takahashi san 2

判断一个字符串是否以 san 结尾

using namespace reader;
int main(){string s;cin>>s;if(s[s.length()-1]=='n' and s[s.length()-2]=='a' and s[s.length()-3]=='s'){cout<<"Yes";}else cout<<"No";
}

B.Unvarnished Report

找两个字符串的第一个不相等位置

using namespace reader;
int main(){string a,b;cin>>a>>b;if(a==b){cout<<0<<endl;return 0;}for(int i=0;i<=min(a.length()-1,b.length()-1);++i){if(a[i]!=b[i]){cout<<i+1;return 0;}}cout<<min(a.length(),b.length())+1;
}

C.Separated Lunch

将序列分成 \(A,B\) 两组,最小化两者较大值

让我想起一场古早时期涛哥保龄的模拟赛,好像是因为贪心贪假了喜保龄

\(N\) 小,搜即可

诶这题不搜怎么做来着,排序后贪心吗

using namespace reader;
#define int long long
int n,ans=0x7fffffff;
int A[21];
void dfs(int now,int a,int b){if(now>n){ans=min(ans,max(a,b));return;}dfs(now+1,a+A[now],b);dfs(now+1,a,b+A[now]);
}
signed main(){cin>>n;for(int i=1;i<=n;  ++i){cin>>A[i];}dfs(1,0,0);cout<<ans;
}

D.Laser Marking

又到了一月一度的 ABC D题放构式时间

若干线段,可以直线从线段一头以 \(S\text{ per }s\) 走到另一头,或者以 \(T\text{ per }s\) 在空间内自由移动,求从 \((0,0)\) 经过所有线段的最短时间

发现直接按题意搜就行

pure shit

using namespace reader;
#define int long long
int n,t,s;
struct node{int x,y;
}a[15];
struct edge{int to;long double w;
};
vector<edge>e[15];
long double dist(node a,node b){return sqrtl((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
bool vis[15];
long double ans=1e9;
void dfs(int s,long double now,int cnt){// cout<<s<<" "<<now<<" "<<cnt<<endl;vis[s]=true;if(s!=0 and s<=n and !vis[s+n]){dfs(s+n,now+dist(a[s],a[s+n])/t,cnt+1);vis[s]=false;return;}if(s!=2*n+1 and s>n and !vis[s-n]){dfs(s-n,now+dist(a[s],a[s-n])/t,cnt+1);vis[s]=false;return;}for(edge i:e[s]){if(!vis[i.to]){dfs(i.to,now+i.w,cnt+1);}}if(cnt==2*n){ans=min(ans,now);}vis[s]=false;
}
signed main(){scanf("%lld %lld %lld",&n,&s,&t);for(int i=1;i<=n;++i){scanf("%lld %lld %lld %lld",&a[i].x,&a[i].y,&a[i+n].x,&a[i+n].y);}for(int i=1;i<=2*n;++i){for(int j=1;j<=2*n;++j){if(i!=j and i!=j+n and i+n!=j){e[i].push_back({j,dist(a[i],a[j])/s});}}}for(int i=1;i<=2*n;++i){e[2*n+1].push_back({i,dist({0,0},a[i])/s});}dfs(2*n+1,0,0);printf("%.20Lf",ans);
}

E.Sensor Optimization Dilemma 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/810127.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试-前端基础速刷-Vue

1. Vue中computed和watch的区别 两者用途不同啊!computed用于计算产生新的数据,watch用于监听现有数据。 computed有缓存,methods没有缓存。 computed有点儿像工厂模式(产生新的东西),watch像发布订阅模式。(是我目前的知识盲区) 2. Vue组件通讯有几种方式,尽量全面❗…

宝塔平替:1Panel-新一代的 Linux 服务器运维管理面板(附优惠码/推荐码)

什么是1Panel 1Panel是一款开源,现代化的新一代的 Linux 服务器运维管理面板!1Panel可以帮你实现的功能: 高效管理:用户可以通过 Web 图形界面轻松管理 Linux 服务器,实现主机监控、文件管理、数据库管理、容器管理等功能; 快速建站:深度集成开源建站软件 WordPress 和 …

大模型应用开发初探 : 基于Coze创建Agent

Coze(扣子)是字节跳动公司开发的新一代AI应用开发平台,使用这个AI应用开发平台,无论你是否有编码基础,都可以快速搭建基于大语言模型的各类AI Bot,还可以将Bot发布到其他渠道。对于一个AI Agent而言,最重要的能力就是任务规划、调用工具、知识库 和 记忆能力,而这些能力…

了解final关键字在Java并发编程领域的作用吗?

在Java并发编程领域,final关键字扮演着一个至关重要的角色。虽然很多同学熟悉final用于修饰变量、方法和类的基本用法,但其在并发环境中的应用和原理却常常被忽视。final关键字不仅仅是一个简单的修饰符,它在多线程编程中确保对象状态的可见性和不变性,这对于构建线程安全的…

20222325 2024-2025-1 《网络与系统攻防技术》实验一实验报告

1.实验内容缓冲区溢出基本知识:堆栈、函数调用。 shellcode技术以及其在各平台的运用与防御。 BOF攻击防御技术。2.实验目标 本次实践的对象是一个名为pwn1的linux可执行文件。 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串。 该程序同时包含…

用AI构建小程序可行吗?

AI工具在软件开发中扮演着越来越重要的角色,它可以帮助开发者提高效率、增强软件功能、降低开发门槛。通过合理选择和应用AI工具,可以显著提升软件开发的质量和效率。随着移动互联网的快速发展,多端应用的需求日益增长。为了提高开发效率、降低成本并保证用户体验的一致性,…

PyQt5 使用 QLabel 实现图像 360度 不间断旋转

PyQt5 使用 QLabel 实现图像 360度 不间断旋转 当我们需要实现让一个图像 360度 旋转时,比如:音乐播放器中播放时,歌曲封面的旋转效果,你可以尝试使用下面的方法 代码结构 本文中全部代码全在test_QLabel_whirling.py这一个文件中编码,步骤中有变动的地方会注释标注,无改…

systemverilog笔记

变量类型变量名 状态数 是否带符号 比特数logic 4 无 1bit 2 无 1byte 2 有 8shortint 2 有 16int 2 有 32longint 2 有 64integer 4 有 32time 4 无 64$isunknown(表达式):在表达式任意位出现X或者Z时返回1。 数组 数组初始化 使用单引号加大括号数组遍历 $size(数组)会返回

DSP概述及应用——TMS320DM6437ZDU4、TMS320DM6437ZWT6、TMS320DM6437ZWT7数字媒体处理器

TMS320DM6437采用基于超标量架构的C64x+内核,具有高效的乘法累加单元和多格式指令集,能够在单个时钟周期内执行两条指令,大大提高了运算速度和效率。概述:TMS320DM6437是一款DSP芯片,具有强大的处理能力和丰富的功能模块。 TMS320DM6437采用基于超标量架构的C64x+内核,具…

csp-s模拟10

rank 31,垫底了,T1 0pts,T2 18pts,T3 0pts,T4 50pts 状态有点不好,策略有问题,T4是可以切的,但是不知道为什么弃了。T1不会线性基寄。T3 奇怪结论题,T2 结论题。 在猜结论上还是不行。 T1 欧几里得的噩梦 用到了线性基线性无关的性质,将两个数连边,把环去掉,并查集判…

Kubernetes的Pod调度:让你的应用像乘坐头等舱!

一、Kubernetes 中 Pod 调度的重要性 在 Kubernetes 的世界里,Pod 调度就像是一个繁忙的交通指挥官,负责把小车(也就是我们的 Pod)送到最合适的停车位(节点)。调度不仅关乎资源的合理利用,还关乎应用的“生死存亡”,下面让我们来看看为什么调度这么重要。资源优化: 想象…

二叉树的概念、表示法、性质和操作

本文记述了二叉树的基本概念、表示法、性质和操作。 ◆ 概念 二叉树(以下也简称树)是一种存放多个元素的数据结构。每个元素称为结点,每个结点有左、右两个链接,每个链接要么指向其他结点,要么是空链接。 某个结点是它的左、右链接指向的结点的父结点,被指向的结点是其父…