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

news2024/11/28 6:49:35

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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium 连接到现有的 Google Chrome 示例

python 3.7 selenium 3.14.1 urllib3 1.26.8 Google Chrome 119.0.6045.160 (64位) chromedriver.exe 119.0.6045.105(win32) 1 Google Chrome 添加参数 "--remote-debugging-port9222" 2 测试效果(chromedriver.exe 要和 Google Chrome 版本…

day65

今日回顾内容 web应用 HTTP协议 web应用 一、什么是web应用程序 Web应用程序是一种可以通过Web访问的应用程序&#xff0c;程序的最大好处是用户很容易访问应用程序&#xff0c;用户只需要有浏览器即可&#xff0c;不需要再安装其他软件 对于传统的应用软件来说&#xff0c;…

【备忘录】软件记录

Anaconda 虚拟环境 创建Python环境 Spyder Python程序编辑 Jupyter Notebook 交互式开发环境

【虹科干货】ntopng如何将漏洞扫描与流量监控相结合,以提高网络安全性

ntopng为人所知的“身份”是被动流量监控。然而&#xff0c;如今的ntopng6.0也进化出主动监控功能来&#xff0c;漏洞扫描功能便是其中一个。那么漏洞扫描功能是什么&#xff1f;其独特之处是什么&#xff1f;用户该如何使用&#xff1f; 新的漏洞扫描和CVE支持&#xff0c;可…

TUP通信

一&#xff0c;概括 二&#xff0c;常用方法 三&#xff0c; 实现步骤&#xff08;一发一收&#xff09; 四&#xff0c;案例&#xff08;一接一收&#xff09; &#xff08;1&#xff09;&#xff0c;客户端 &#xff08;2&#xff09;&#xff0c;服务端 &#xff08;3&…

老板说我能力不行,怎么办?

大家好&#xff0c;我是鱼皮&#xff0c;今天分享一个很现实的职场问题 —— 如果老板说你的能力不行&#xff0c;怎么办&#xff1f; 该问题源于 编程导航星球 内的鱼友提问&#xff0c;原问题如下&#xff1a; 鱼友提问 &#x1f41f;&#xff0c;我是 23 届毕业生&#x…

探究Kafka原理-6.CAP理论实践

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码、Kafka原理&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44…

华为智能手表独立导航,一呼即应轻松畅行

PetalMaps 手表独立导航&#xff0c;一声令下唤醒导航&#xff0c;打造了智慧的语音交互唤醒体验功能。导航时&#xff0c;语音播报、变道震动提醒功能&#xff0c;让您尽情体验腕上导航乐趣&#xff0c;同时又能安全抵达目的地。

如何在外远程访问本地NAS威联通QNAP?

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、Cpolar杂谈 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. 威联通安装cpolar内网穿透二. 内网穿透2.1 创建隧道2.2 测试公网远程访问 三.…

51单片机的智能窗帘系统【含proteus仿真+程序+报告+原理图】

1、主要功能 该系统由AT89C51单片机LCD1602显示模块DS18B20温度模块DS1302时间模块光敏传感器步进电机蓝牙等模块构成。适用于智能窗帘、智能门窗家具等相似项目。 可实现基本功能: 版本一&#xff1a; 1、LCD1602实时显示北京时间、环境温度、光照强度、手动/自动控制等信息…

vatee万腾的数字探险:Vatee科技创新的未知征程

在科技风潮的巅峰&#xff0c;Vatee万腾如一艘科技探险的航船&#xff0c;勇敢地驶向未知的数字化征程。 Vatee万腾在数字探险的过程中展现出征服未知领域的坚定决心。他们不满足于现状&#xff0c;而是积极地寻找和探索那些尚未被揭示的数字化领域。这种决心使得Vatee能够在科…

眼见非实-MISC-bugku-解题步骤

——CTF解题专栏—— 题目信息&#xff1a; 题目&#xff1a;眼见非实 作者&#xff1a;harry 提示&#xff1a;无 解题附件&#xff1a; 解题思路&#xff1a; 眼见非实&#xff1f;&#xff1f;&#xff1f;难道要用手摸一下&#xff1f;&#xff08;开玩笑.jpg&#xff…

第一篇:快速入门

简介 本篇文章主要目的教你如何快速的理解、掌握cocos shader的相关知识&#xff0c;并附加实践案例。 shader 我们可以理解为是一种在图形渲染过程中控制像素颜色的过程&#xff0c;通常用来创建各种视觉效果。如光照、阴影、扭曲等。 Material&#xff08;材质&#xff0…

safari浏览器,直接安装ipa文件

蒲公英二维码方法 个人开发者账号发布证书AD-hoc 描述文件蒲公英上传链接通过苹果safari 浏览器下载IPA包 浏览器下载方法 前置条件 1.下载 ipa 包的设备的 uuid 已加入 苹果测试设备列表如何添加到测试列表 2.web 服务, 文件服务. 3.需要AD-hoc 描述文件 添加链接描述 1.创…

华大基因在合规管理、高质量发展方面将迈上新的台阶

今年6月&#xff0c;华大基因顺利通过了国际领先标准、测试及认证机构BSI的严格审核&#xff0c;获得GB/T 35770-2022 / ISO 37301:2021合规管理体系认证证书&#xff0c;成为行业内率先获此国际认证的企业。 ISO 37301合规管理体系认证是国际通用的合规管理体系认证标准&…

【Java Spring】SpringBoot 日志系统

文章目录 一、Spring Boot 日志系统1.1 Spring Boot 日志框架1.2 自定义日志打印1.3 日志级别设置1.4 日志持久化1.5 lombok 简化日志输出 一、Spring Boot 日志系统 1.1 Spring Boot 日志框架 SLF4J 和 logback都是spring boot内置的日志框架&#xff0c;开发者只负责调用对…

opencv-医学图像预处理

医学图像预处理通常需要针对特定任务和数据集的特点进行定制。以下是一些常见的医学图像预处理步骤&#xff0c;可以使用OpenCV以及其他相关库来实现&#xff1a; 导入相关的库 import cv2 import matplotlib.pyplot as plt1. 读取图像 image cv2.imread(r"C:\Users\m…

YOLOv8-Seg改进:自适应改变核大小卷积AKConv,效果优于标准卷积核和DSConv |2023.11月最新成果

🚀🚀🚀本文改进: AKConv 中,通过新的坐标生成算法定义任意大小的卷积核的初始位置。 为了适应目标的变化,引入了偏移量来调整每个位置的样本形状。 此外,我们通过使用具有相同大小和不同初始采样形状的 AKConv 来探索神经网络的效果。 AKConv 通过不规则卷积运算完成…

8.二维数组——将一个二维数组行和列的元素互换,存到另一个二维数组中。

文章目录 前言一、题目描述 二、题目分析 三、解题 程序运行代码 前言 本系列为二维数组编程题&#xff0c;点滴成长&#xff0c;一起逆袭。 一、题目描述 将一个二维数组行和列的元素互换&#xff0c;存到另一个二维数组中。 二、题目分析 三、解题 程序运行代码 #incl…

AI 绘画 | Stable Diffusion 提示词扩展插件

前言 提示词对于Stable Diffusion AI绘画来说非常重要, 由于Stable Diffusion 支持英文提示词,对于英文不好的朋友,每次都要切换翻译网站去翻译,很不方便,下面介绍两款Stable Diffusion 提示词扩展插件,让你写提示词更轻松。 sd-webui-prompt-all-in-one 提示词多合一插…