牛客周赛 Round 56 AK
背景
语言艺术
A题:面包店故事
题意
一块面包要x元,加培根要y元,有n元,问能否买到加培根的面包
思路
大水题,gpt秒了
代码
#include <bits/stdc++.h>
using namespace std;
int main() {int x, y, n; cin >> x >> y >> n;if (n >= x + y) cout << "YES";else cout << "NO";return 0;
}
B题: 放课后故事
题意
小S要折纸飞机,折一只需要k张纸,有n名同学,每名同学会贡献ai张纸,放学后有m个同学留下一起玩,问最多有多少个人拿到纸飞机
思路
大水题,gpt秒了
注:还有他自己
代码
#include <bits/stdc++.h>
using namespace std;
using LL = long long;
int main() {int n, m, k; cin >> n >> m >> k;LL sum = 0;for (int i = 1; i <= n; i ++ ) {int x; cin >> x;sum += x;}cout << min(sum / k, (LL)m + 1) << endl;return 0;
}
C题:异或故事
题意
给定一个[1,1e9]范围内的整数a,要求在同范围内找出b和c,使得两者的异或值为a
思路
我们将a的每一位拆开来给b和c,在最后如果c为0的情况下,由于异或的缘故,我们可以再在a里面找一个位为0的地方给b和c同时赋值
代码
#include <bits/stdc++.h>
using namespace std;
using LL = long long;
int main() {int tt; cin >> tt;while (tt -- ) {int a; cin >> a;int b = 0, c = 0;int turn = 1;for (int i = 0; i < 31; i ++ ) {if (a >> i & 1) {if (turn) b |= (1ll << i);else c |= (1ll << i);turn ^= 1;}}if (c == 0) {for (int i = 0; i < 31; i ++ ) {if (!(a >> i & 1)) {b |= (1ll << i), c |= (1ll << i);break;}}}cout << b << ' ' << c << endl;}return 0;
}
D题:构造故事
题意
给定若干个火柴棍,要求构造一个周长最大的三角形
思路
先sort一遍长度,并且一定是连着的三个拿来构造
首先是两边之和大于第三边,两边之差小于第三边
所以我们选连着的三个可以尽可能满足是三角形的条件
其次,如果不是连着的话,如果能构造,那么还可以继续增大第二大的边,然后发现还可以增大第三大的边,达到周长最大
代码
#include <bits/stdc++.h>
using namespace std;
using LL = long long;
int main() {int tt; cin >> tt;while (tt -- ) {int n; cin >> n;map<int, int> cnt;vector<int> a(n + 1);for (int i = 1; i <= n; i ++ ) cin >> a[i];sort(a.begin() + 1, a.end());LL ans = -1;for (int i = 1; i <= n - 2; i ++ ) {if (a[i] + a[i + 1] > a[i + 2] && a[i + 1] - a[i] < a[i + 2]) {ans = max(ans, (LL)a[i] + a[i + 1] + a[i + 2]);}}cout << ans << endl;}return 0;
}
E题:约会故事
题意
约会很麻烦,自己看题目qwq
思路
大模拟,
最先考虑的肯定是转化时间,最简单的思路一定是全部转化为分钟
其次,注意给定的快乐时间,题目中没有说一定是在同一天,所以可能出现快乐开始时间大于结束时间的情况,这时候要考虑到第二天。
代码
#include <iostream>
#include <map>
using namespace std;
using LL = long long;
int turn(string s) {int res = 0;res += ((s[0] - '0') * 10 + (s[1] - '0')) * 60 + (s[3] - '0') * 10 + s[4] - '0';return res;
}
int happy[1500];
int main() {int n, m; cin >> n >> m;// 0 ~ 119;for (int i = 0; i < n; i ++ ) {string st, ed;cin >> st >> ed;int s = turn(st), t = turn(ed);if (s == t) happy[0] += 100000;if (s <= t) happy[s] += 1, happy[t + 1] -= 1;else {happy[s] += 1, happy[0] += 1, happy[t + 1] -= 1;}}map<string, bool> like;for (int i = 0; i < m; i ++ ) {string s; cin >> s;like[s] = true;}for (int i = 1; i < 1500; i ++ ) happy[i] += happy[i - 1];int q; cin >> q;while (q -- ) {string s; cin >> s;string st, ed; cin >> st >> ed;string t; cin >> t;int query = turn(s);if (!(query >= 0 && query <= 119 && happy[query])) {cout << "Loser xqq" << endl;continue;}if (turn(st) > turn(ed) || !like[t]) {cout << "Joker xqq" << endl;continue;}cout << "Winner xqq" << endl;}return 0;
}
F题:不是烤串故事
题意
选定最小的翻转长度来翻转字符串,使得lcp最大
思路
Z函数
不理解的看洛谷这道题【模板】扩展 KMP/exKMP(Z 函数) - 洛谷
我们对s进行翻转做一遍z函数,这样就可以知道翻转后与前面匹配的长度了,然后如果翻转k个长度,然后又和前面k个刚好一样,还要考虑之后没翻转匹配的情况ok[i]
代码
#include <bits/stdc++.h>
using namespace std;
using LL = long long;
int main() {int tt; cin >> tt;while (tt -- ) {int n; cin >> n;string s, t; cin >> s >> t;vector<int> ok(n + 2);int cur = 0;for (int i = n; i >= 1; i -- ) {if (s[i - 1] == t[i - 1]) cur += 1;else cur = 0;ok[i] = cur;}reverse(s.begin(), s.end());s = ' ' + s, t = ' ' + t;vector<int> z(n + 1);z[1] = n;for (int i = 2, l, r = 0; i <= n; i ++ ) {if (i <= r) z[i] = min(r - i + 1, z[i - l + 1]);while (t[1 + z[i]] == t[i + z[i]]) z[i] += 1;if (i + z[i] - 1 > r) l = i, r = i + z[i] - 1; }vector<int> p(n + 1);for (int i = 1, l, r = 0; i <= n; i ++ ) {if (i <= r) p[i] = min(z[i - l + 1], r - i + 1);while (i + p[i] <= n && 1 + p[i] <= n && s[i + p[i]] == t[1 + p[i]]) p[i] += 1;if (i + p[i] - 1 > r) l = i, r = i + p[i] - 1;}int ans = 0, pos = 1;for (int i = 1; i <= n; i ++ ) {int cur = p[n - i + 1];if (cur == i) {cur += ok[p[n - i + 1] + 1];}if (cur > ans) {ans = cur, pos = i;}}cout << ans << ' ' << pos << endl;}return 0;
}
相关文章:
牛客周赛 Round 56 AK
背景 语言艺术 A题:面包店故事 题意 一块面包要x元,加培根要y元,有n元,问能否买到加培根的面包 思路 大水题,gpt秒了 代码 #include <bits/stdc.h> using namespace std; int main() {int x, y, n; cin …...

LeetCode 热题 HOT 100 (038/100)【宇宙最简单版】
【动态规划】No. 0337 打家劫舍III【中等】👉力扣对应题目指路 希望对你有帮助呀!!💜💜 如有更好理解的思路,欢迎大家留言补充 ~ 一起加油叭 💦 欢迎关注、订阅专栏 【力扣详解】谢谢你的支持&a…...
SQLALchemy ORM 的关联关系之 ORM 中的一对一
SQLALchemy ORM 的关联关系之 ORM 中的一对一 场景示例实现一对一关系使用 `relationship()` 和外键(FK)插入和查询数据总结在 SQLAlchemy ORM 中,一对一(One-to-One)关联关系是一种比较少见的模型关系,但它确实有其应用场景,特别是在你需要将一个对象与另一个对象紧密绑…...

模型部署 - docker
docker简介 Docker 是一种开源的容器化平台,允许开发者将应用程序及其依赖项打包到一个标准化的单元中,称为“容器”。这些容器可以在任何支持 Docker 的系统上运行,无需担心环境差异。 为什么需要 Docker? 在传统的开发中&…...
学懂C++(三十四):深入详解 C++ 高级多线程编程技术中的并发设计模式
引言 在现代软件开发中,多线程编程已成为提升性能和响应能力的重要手段。设计模式为解决并发问题提供了有效的解决方案。本文将探讨常见的并发设计模式,包括生产者-消费者模式、读者-写者模式、单例模式、帧-工作者模式以及Future-Task模式,并…...

大数据产业链图谱_产业链全景图_大数据行业市场分析
数据作为新型生产要素,是数字化、网络化、智能化的基础,已快速融入生产、分配、流通、消费和社会服务管理等各环节,影响着千行百业,推动着我国数字经济的蓬勃发展。 大数据又称巨量数据、海量数据,是由数量巨大、结构…...
photonserver 部署相关教程
Photon Server 是 Exit Games 开发的高性能、可扩展的多人游戏服务器框架。部署 Photon Server 需要一些基础的服务器管理知识和配置技巧。以下是一个基本的部署教程,帮助你将 Photon Server 部署在 Windows 服务器上。 目录 1. 下载并安装 Photon Server 2. 配置…...
GEE训练:sentinel-1数据的投影、显示和导出
函数 projection() Returns the default projection of an Image. Throws an error if the bands of the image dont all have the same projection. 返回图像的默认投影。如果图像带的投影不一致,则会抛出错误。 Arguments: this:image (Image): The image from which …...
后端学习笔记(七)--MyBatis参数传递
5.MyBatis参数传递 *MyBatis接口方法中可以接收各种各样的参数,MyBatis底层对于这些参数进行不同的封装处理方式 *单个参数: 1.POJO类型:直接使用,属性名和参数占位符名称一致 2.Map集合:直接使用,…...
uniapp 网络请求自动处理loading
文章目录 背景整理思路V1版本V2版本V3版本 背景 最近在写uniapp,发现执行网络请求的时候经常要处理Loading效果。 比如,在发送网络请求之前,触发Loadng;无论请求成功还是失败都要关闭Loading;请求失败的时候我们还要…...
【Solidity】函数的使用
构造函数 构造函数仅在部署合约时调用一次,它的作用主要是初始化一些状态变量。 contract Demo {address public owner;uint public num;constructor(uint _num) {owner msg.sender;num _num;} }函数装饰器 函数装饰器可以在函数执行之前或之后插入代码逻辑&am…...

详解golang内存管理
介绍 要搞明白 Go 语言的内存管理,就必须先理解操作系统以及机器硬件是如何管理内存的。因为 Go 语言的内部机制是建立在这个基础之上的,它的设计,本质上就是尽可能的会发挥操作系统层面的优势,而避开导致低效情况。 操作系统内存管理 其实现在计算机内存管理的方式都是…...
C++ 线程 一些同步方式
C 线程一些同步方式 1.互斥锁(Mutex)2. 读写锁(Reader-Writer Lock)3. 信号量(Semaphore)4. 原子操作(Atomic)5. 屏障(Barrier)6. 条件变量(Condi…...
【开发语言】编译型语言和解释性语言有啥区别?
作为一名从业多年的程序员,对于编译型语言和解释型语言之间的区别有着深入的理解。这两种类型的编程语言在将源代码转换成可执行代码的过程中采用了不同的机制,这导致了它们在执行效率、跨平台性、安全性以及开发效率等方面存在一些差异。 编译型语言(Compiled Languages)…...
将A服务器上指定文件夹中的文件,批量同步到B服务器上
需求:最近有一个需求,需要定期将A服务器上的PDF文件,同步到B服务器上,于是便写个脚本记录一下! 下面是使用Python3脚本实现的方法 import os import paramikodef copy_pdf_files(source_ip, source_user, source_pas…...
2024.8.17
130124202408171002 DATE #:20240817 ITEM #:DOC WEEK #:SATURDAY DAIL #:捌月拾肆 TAGS < BGM "快哉风 -- 黄金玉米王" > < theme oi-language > < theme oi-graph theory > < [空] > < [空] >取次花丛懒回顾,半缘修道…...

十分钟搭建一个RTMP服务器
使用SRS搭建RTMP服务器 如果您需要搭建一个RTMP服务器,您可以使用SRS(Simple-RTMP-Server)来完成此任务。SRS是一个开源的RTMP服务器下面是一个简单的步骤指南: 获取srs srs官⽹:https://github.com/ossrs/srs 码云…...
Spring Boot解决循环注入问题
Spring Boot解决循环依赖注入问题 代码问题回显启动错误日志解决方案:使用事件驱动或通过 ApplicationContext 手动获取 Bean1. 事件驱动设计2. 使用 ApplicationContext 手动获取 Bean3. 拆分逻辑 总结 代码问题回显 现有代码1 在InterestService中依赖MemberInte…...
《数据挖掘》期末考核重点
1.数据预处理的目的与形式 数据预处理的目的是提供干净,简洁,准确的数据,以达到简化模型和提高算法泛化能力的目的,使挖掘过程更有效,更容易,提高挖掘效率和准确性。 2.数据预处理的形式 数据清理&#…...

Golang | Leetcode Golang题解之第334题递增的三元子序列
题目: 题解: func increasingTriplet(nums []int) bool {n : len(nums)if n < 3 {return false}first, second : nums[0], math.MaxInt32for i : 1; i < n; i {num : nums[i]if num > second {return true} else if num > first {second n…...

业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...

网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...