大连大学2023年11月程序设计竞赛(同步赛)

B、爆wa种子!(数学)

一、题目要求

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

爆wa种子发现了上次玩游戏时你和妙wa种子的py交易,所以他要求这次玩游戏你来当爆wa种子的枪手,为他写个程序计算出答案。

给定n个函数方程, 给出函数方程形如y=ax^2+bx+c给出a,b,c求出这些函数方程图像所覆盖的所有点中最低点的值(y值最小), 如果最小值为负无穷输出 -1000000000 , 否则输出最小值。

输入描述:

第一行输入n,表示有nnn个函数方程(1≤n≤5e3)

接下来n行每行有三个数a,b,c表示方程三个系数分别为多少,保证a,b,c都是整数(0≤a,b,c≤100

输出描述:

输出一个数表示这些函数图像覆盖的所有点中最低点值为多少。

你输出的答案和标准答案误差不超过10^−6即被视为正确。

示例1

输入

5
4 3 87
2 2 72
0 1 66
2 4 100
3 4 60

输出

-1000000000

示例2

输入

5
5 2 60
3 1 60
5 3 59
5 5 83
2 5 46

输出

42.875000000

示例3

输入

5
5 2 61
2 2 73
2 0 50
4 4 47
5 2 46

输出

45.800000000

二、思路

1.保证了a>=0,所以开口向上,最低点的坐标为(x,y)

x=-a/b  y=(4ac-b*b)/(4a)

2.考虑特殊情况,当a=0,b=0的时候,y=c

三、代码

#include<bits/stdc++.h>
#include<limits>
#define endl '\n'
#define int long long
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const int N=5e3+1000;
const int inf=0x3f3f3f3f;
int n;
struct node
{
	double a,b,c;
	double y;
} q[N];
void solve()
{
	int i,j;
	cin>>n;
	double x=-std::numeric_limits<double>::infinity();
	double ans=std::numeric_limits<double>::infinity();
	int p=0;
	for(i=1; i<=n; i++)
	{
		cin>>q[i].a>>q[i].b>>q[i].c;
		//q[i].x=-(q[i].a/q[i].b)*1.0;
		if(q[i].a==0)
		{
			p++;
		}
		q[i].y=(4*q[i].a*q[i].c-q[i].b*q[i].b)/(4*q[i].a);
	}
	if(p)
		cout<<"-1000000000"<<endl;
	else
	{
		for(i=1; i<=n; i++)
		{
			if(ans>q[i].y)
			{
				ans=q[i].y;
			}
			//cout<<q[i].y<<' '<<endl;
		}
		if(ans<=x||p)
            cout<<"-1000000000"<<endl;
		else
			printf("%lf\n",ans);
	}

}
signed main()
{
	int t=1;
	while(t--)
	{
		solve();
	}
	return 0;
}

D、书生的负数(思维)

一、题目要求

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

你将得到一个长度为 n 的整数数组 a
你可以执行以下操作任意次:
选择 i, j (1≤i,j≤n),令ai​=ai−1,aj=aj+1。
请输出进行操作后序列 a 中最多存在的负数个数。

输入描述:

每个测试包含多个测试用例。第一行包含一个整数 t (1≤t≤10^5) - 测试用例的数量。
测试用例说明如下。
每个测试用例的第一行包含一个整数 n (1≤n≤5⋅10^5)-数组 a 的长度。
第二行包含n个整数 a1​...an (−10^5≤ai≤10^5),表示序列 aaa 。
题目保证所有测试样例的 n 的和不超过 5⋅10^5

输出描述:

输出 t 行,每行输出一个整数,表示至多的负整数个数。

示例1

输入

1
5
1 2 3 4 5

输出

4

示例2

输入

1
5
-8 1 1 1 1

输出

4

二、思路

1.由于i,j可以任意选择,可以先统计一下a[i]中负数的个数,然后排序

2.如果负数个数等于n,则不用进行操作,如果(负数的绝对值减1的和)>=(正数+1的和),则也不用进行操作,可以每次让正数变为负数的过程中,让负数++,最极端的时候可以令负数加到负一为止。

3.其他情况下,可以让n-1个数全变为负数,而让最后一个数不断累加,所以肯定会有n-1个负数出现

三、代码

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const int N=1e5+10;
const int inf=0x3f3f3f3f;
int n;
int a[N];
void solve()
{
	cin>>n;
	int i,j;
	int cnt=0,l=0,r=0;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]<0)
		{
			l+=abs(a[i])-1;
			cnt++;
		}
		else
		{
			r+=a[i]+1;
		}
	}
	sort(a+1,a+1+n);
	if(cnt==n||l>=r)
	    cout<<n<<endl;
	else
	{
		cout<<n-1<<endl;
	}
	
}
signed main()
{
    int t;
    cin>>t;
    while(t--)
    {
       solve();
    }
    return 0;
}

E、明天(利用std::string::find)

一、题目要求

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

明天,他期盼着明天,可是他本该摒弃明天的,这种切肤之痛的反抗,就是荒诞。

enterdawn一直在期盼着明天,但是他的本能使得他摒弃明天,所以他希望看到明天的一部分,但是不能看到完整的明天。

当字符串S是tomorrow的一部分时,enterdawn才会希望看到字符串S

如果他希望看到这个字符串,输出yes,否则输出no

输入描述:

第一行一个整数T(1≤T≤1000),代表数据组数

接下来TTT行每行一个字符串s(1≤len(s)≤20)

输出描述:

对于每组数据,如果enterdawn希望看到这个字符串,输出yes,否则输出no

示例1

输入

4
tomorrow
tomorr
morr
ojgs

输出

no
yes
yes
no

二、思路

string str ("tomorrow.");
string str2 ("row");

if (str.find(str2) != string::npos) 
{
//如果不等,则说明找到一样的,如果相等,则说明没找到
} 

三、代码

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const int N=1100;
const int inf=0x3f3f3f3f;
int n;
string s[N];
string ss="tomorrow";
void solve()
{
	cin>>n;
	int i,j;
	for(i=1;i<=n;i++)
	{
		cin>>s[i];
	}
	for(i=1;i<=n;i++)
	{
		if(ss.find(s[i])!=string::npos)//能找到子串 
		{
			if(ss.size()==s[i].size())
			    cout<<"no"<<endl;
			else
			    cout<<"yes"<<endl;
		}
		else
		{
			cout<<"no"<<endl;
		}
	}
}
signed main()
{
    int t=1;
    while(t--)
    {
       solve();
    }
    return 0;
}

H、冒险(二分答案)

一、题目要求

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

从前有一个冒险家,他背上背着一个容量为k的背包,准备踏上一段寻宝之旅。在他的旅途中,他遇到了n个神奇的物品,每个物品都蕴含着无穷的力量和价值。

冒险家知道,他只能选择其中的一部分物品放入背包中。然而,当他放入一个物品后,其他物品所占的容量会变成之前的2倍。

面对这个挑战,冒险家开始思考如何最大化他的收获。冒险家希望能够最大限度地利用背包的容量来放入更多的物品。他想知道他最多能携带多少物品,继续他的寻宝之旅。

输入描述:

第一行有两个以空格分隔的整数n和k(1≤n,k≤106)分别代表物品的个数和冒险家的背包体积

第二行n个以空格分隔的整数,代表每个物品的体积,单个物品的体积不超过10^6

输出描述:

一行一个整数,输出冒险家最多能携带多少物品继续他的寻宝之旅

示例1

输入

4 19
5 1 1 1

输出

4

示例2

输入

4 19
1 1 5 1

输出

4

二、思路

1.排序

2.利用二分,枚举答案

3.check()函数

三、代码

//二分答案 
#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
const int N=1e6+10;
const int inf=0x3f3f3f3f;
int n,k;
int a[N];
bool check(int x)
{
	int i,j;
	int sum=0;
	for(i=x,j=0;i>=1;i--,j++)
	{
		sum+=(a[i]<<j);
		if(sum>k)
		{
			return false;
		}
	}
	return true;
}
void solve()
{
	cin>>n>>k;
	int i,j;
	for(i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	sort(a+1,a+1+n);//从小到大排序 
	int l=0,r=n,mid;
	while(l<r)
	{
		mid=(l+r+1)/2;
		if(check(mid))
		{
			l=mid;
		}
		else
		{
			r=mid-1;
	    } 
	} 
	cout<<l<<endl;
}
signed main()
{
    int t=1;
    while(t--)
    {
       solve();
    }
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端 --- HTML

目录 一、网络的三大基石 ​二、什么是HTML 一、HTML 指的是超文本标记语言 二、HTML的作用 三、HTML的标准结构 四、IDE_HBuilder的使用 一、编码工具&#xff1a; 二、集成开发环境 三、HBuilder使用步骤&#xff1a; 五、HTML的标签的使用 一、html_head_body 二、head…

CSS新手入门笔记整理:CSS字体样式

字体类型&#xff1a;font-family 语法 font-family&#xff1a;字体1,字体2,...,字体n; font-family可以指定多种字体。使用多个字体时&#xff0c;将按从左到右的顺序排列&#xff0c;并且以英文逗号&#xff08;,&#xff09;隔开。如果我们不定义font-family&#xff0c…

viple模拟器使用(三):unity模拟器中实现沿右墙迷宫算法

沿右墙迷宫算法 引导 线控模拟可以使得通过用户手动操作&#xff0c;实现机器人在模拟环境下在迷宫中行走&#xff08;即&#xff1a;运动&#xff09;&#xff0c;算法可以使得机器人按照一定的策略自动行走&#xff0c;沿右墙迷宫算法就是其中的一种策略。 目的 运行程序后&…

Scrapy框架内置管道之图片视频和文件(一篇文章齐全)

1、Scrapy框架初识&#xff08;点击前往查阅&#xff09; 2、Scrapy框架持久化存储&#xff08;点击前往查阅&#xff09; 3、Scrapy框架内置管道 4、Scrapy框架中间件&#xff08;点击前往查阅&#xff09; Scrapy 是一个开源的、基于Python的爬虫框架&#xff0c;它提供了…

3D模型纹理集合并【Python|C#】

使用 Substance Painter 时&#xff0c;将模型的各个部分分成不同的纹理集非常有用。 这可以帮助遮罩&#xff0c;或者只是保持层栈干净。 不幸的是&#xff0c;Painter 无法将多个纹理集中的所有贴图导出为单个图集&#xff0c;即使在创建单独对象的 UV 时考虑到了这一点。 显…

Django创建基本的app应用并配置URL路径-成功运行服务

开发环境&#xff1a;Pycharm2021 Win11 首先创建虚拟环境: 可参考&#xff1a; Pycharm开发环境下创建python运行的虚拟环境&#xff08;自动执行安装依赖包&#xff09;_pycharm自动下载依赖包_heda3的博客-CSDN博客 1、安装 Django 在虚拟环境下安装pip install django …

ES 8.x开始(docker-compose安装、kibana使用、java操作)

学习文档地址 一、Docker安装 这里使用docker-compose来安装&#xff0c;方便后续迁移&#xff0c;Elasticserach和kibina一起安装。 1、创建安装目录 configdataplugins 2、配置文件 配置文件有两个&#xff0c;一个是ES的配置文件&#xff0c;一个docker-compose的配置文件 …

DS图—图的最短路径/Dijkstra算法【数据结构】

DS图—图的最短路径/Dijkstra算法【数据结构】 题目描述 给出一个图的邻接矩阵&#xff0c;输入顶点v&#xff0c;用迪杰斯特拉算法求顶点v到其它顶点的最短路径。 输入 第一行输入t&#xff0c;表示有t个测试实例 第二行输入顶点数n和n个顶点信息 第三行起&#xff0c;每行…

龙芯loongarch64服务器编译安装pyarrow

1、简介 pyarrow是一个高效的Python库,用于在Python应用程序和Apache Arrow之间进行交互。Arrow是一种跨语言的内存格式,可以快速高效地转移大型数据集合。它提供了一种通用的数据格式,将数据在内存中表示为表格,并支持诸如序列化和分布式读取等功能。 龙芯的Python仓库安…

Mo0n(月亮) MCGS触摸屏在野0day利用,强制卡死锁屏

项目:https://github.com/MartinxMax/Mo0n 后面还会不会在,我可就不知道了奥…还不收藏点赞关注 扫描存在漏洞的设备 #python3 Mo0n.py -scan 192.168.0.0/24 入侵锁屏 #python3 Mo0n.py -rhost 192.168.0.102 -lock 解锁 #python3 Mo0n.py -rhost 192.168.0.102 -unlock …

Linux(10):Shell scripts

什么是 Shell scripts shell script&#xff08;程序化脚本&#xff09;&#xff1a;shell 部分是一个文字接口下让我们与系统沟通的一个工具接口&#xff1b;script 是脚本的意思&#xff0c;shell script 就是针对 shell 写的脚本。 shell script 是利用 shell 的功能所写的…

yolov8-pose 推理流程

目录 一、关键点预测 二、图像预处理 二、推理 三、后处理与可视化 3.1、后处理 3.2、特征点可视化 四、完整pytorch代码 yolov8-pose tensorrt 一、关键点预测 注&#xff1a;本篇只是阐述推理流程&#xff0c;tensorrt实现后续跟进。 yolov8-pose的tensorrt部署代码…

FPGA模块——DA转换模块(AD9708类)

FPGA模块——DA转换模块&#xff08;AD9708类&#xff09; AD9708/3PD9708代码 AD9708/3PD9708 由于电路接了反相器&#xff0c;所以对应就不一样了。 电路图&#xff1a; 代码 在ROM中存入要输出的波形数据&#xff1a; 用软件生成各个对应的点。 给DA转换器一个时钟&…

智能优化算法应用:基于樽海鞘群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于樽海鞘群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于樽海鞘群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.樽海鞘群算法4.实验参数设定5.算法结果6.参考…

Junos webauth_operation.php 文件上传漏洞复现(CVE-2023-36844)

0x01 产品简介 Junos 是 Juniper Networks 生产的一款可靠的高性能网络操作系统。 0x02 漏洞概述 Junos webauth_operation.php接口处存在文件上传漏洞&#xff0c;未经身份认证的攻击者可利用 Junos 操作系统的 J-Web 服务 /webauth_operation.php 路由上传 php webshell&…

C语言第三十四弹--矩形逆置

C语言实现矩阵逆置 逆置结果如图 思路&#xff1a;通过观察逆置结果&#xff0c;首先发现行数和列数都发生了调换。其次观察逆置前后数字对应的下标&#xff0c;逆置前数字对应下标为:[x][j] 逆置后数字对应下标为&#xff1a;[y][x]。综上&#xff0c;就可以实现矩阵逆置。 …

人才“塔尖城市”,长沙如何炼成?

文 | 智能相对论 作者 | 范柔丝 长沙在人才吸引力上&#xff0c;近几年来可谓风头无二。 自2022年长沙人才政策“升级版45条”实施以来&#xff0c;越来越多的人才因为长沙真金白银的政策与城市发展机遇&#xff0c;奔赴长沙安居乐业。 随着2023互联网岳麓峰会吹响长沙全力…

用函数初始化数组

将数组全部初始化为相同值 对于一般情况 一般是用函数&#xff0c;传什么数就初始化为什么数 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void init(int arr[], int len, int num) {int i;for (i 0; i < len; i){arr[i] num;} } int main() {int arr[…

网页设计--第5次课后作业

1、快速学习JavaScript的基本知识第1-10章 JavaScript入门 - 绿叶学习网 2、使用所学的知识完成以下练习。需求如下3个&#xff1a; 1&#xff09;点亮灯泡 2&#xff09;将所有的div标签的标签体内容后面加上&#xff1a; very good 3&#xff09;使所有的复选框呈现被选…

OpenHarmony模块化编译

一、环境配置 OpenHarmony版本&#xff1a;OpenHarmony 4.0 Release 编译环境&#xff1a;WSL2 Ubuntu 18.04 平台设备&#xff1a;RK3568 二、配置hb OpenHarmony 代码构建有build.sh和hb两种方式: #方式一、build.sh ./build.sh --product-name rk3568 --ccache#方式二、…