牛客周赛65(C++实现)

比赛链接:牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ

文章目录

  • 1.超市
    • 1.1 题目描述
    • 1.2 思路
    • 1.3 代码
  • 2. 雨幕
    • 2.1 题目描述
    • 2.2 思路
    • 2.3 代码
  • 3.闺蜜
    • 3.1 题目描述
    • 3.2 思路
    • 3.3 代码
  • 4. 医生
    • 4.1 题目描述
    • 4.2 思路
    • 4.3 代码

1.超市

1.1 题目描述

小红准备去超市买水果。已知苹果aaa元一斤,桃子bbb元一斤。
小红一共带了nnn元钱,她想知道自己最多可以买多少斤水果?
我们认为,同一种水果买的斤数必须是整数。
io描述

1.2 思路

为了买更多的水果,我就需要尽可能的买便宜水果。

1.3 代码

#include <vector>
#include <iostream>
#include <queue>
#include <string>using namespace std;int main()
{int a, b, n;cin >> n >> a >> b;int ans = 0;if (a > b){ans = n / b;}else{ans = n / a;}cout << ans;return 0;
}

2. 雨幕

2.1 题目描述

今年的雨水格外的多,喜欢下雨的小红自然也很开心。
给定一个n行m列的地图,用字符表示降雨情况,'.‘代表未降雨,’*'代表降雨。请你帮小红求出有多少个2*2的区域满足该区域内全部都在降雨?
io描述

2.2 思路

暴力地遍历除去最后一行和最后一列的所有位置,和题目要求做对应对比,判断是否满足要求。

2.3 代码

#include <vector>
#include <iostream>
#include <queue>
#include <string>using namespace std;int main()
{int n, m;long long ans = 0;cin >> n >> m;vector<vector<char>> vv(n + 1, vector<char>(m + 1));for (int i = 1; i <= n; ++i)for (int j = 1; j <= m; ++j)cin >> vv[i][j];for (int i = 1; i < n; ++i){for (int j = 1; j < m; ++j){if (vv[i][j] == '*' && vv[i + 1][j] == '*' && vv[i][j + 1] == '*' && vv[i + 1][j + 1] == '*')ans += 1;}}cout << ans;return 0;
}

3.闺蜜

3.1 题目描述

小红和小紫是好闺蜜,作为闺蜜当然要“友好”的一起玩游戏。
她们拿到了一个长度为偶数的数组,两人轮流进行取数,谁最终总和最大谁就获胜。小红先手取数。
但这个比赛显然对小紫是不公平的,因此小红允许小紫使用一次技能“隙间”,小紫在游戏的任何时期,可以将自己手中的一个元素和小红手中的一个元素进行交换(该技能最多释放1次)。请你判断两人都是用最优策略的情况下,谁将取得最终的胜利?
io描述

3.2 思路

因为小红抽卡在前,所以小红一定会拿当前卡组内的最大牌。而小紫只有一次的交换机会,为了使得效益最大化,小紫一定要用卡组内的最小值去换小红手里的最大值。为此交换的卡片就已经确定了,那么我们就可以去掉这两张牌,让两人玩这个游戏,最后再把最小牌给小红,最大牌给小紫。

3.3 代码

#include <vector>
#include <iostream>
#include <queue>
#include <string>
#include <algorithm>using namespace std;
int t, n;
int arr[1010];
void slove()
{cin >> t;while (t--){cin >> n;long long sum = 0LL;for (int i = 1; i <= n; ++i){cin >> arr[i];sum += arr[i];}sort(arr + 1, arr + n+1);if (arr[1] == arr[n]){cout << "draw" << endl;continue;}long long tmp = 0LL;for (int i = 1; i <= n; i += 2){tmp += arr[i];}long long kou = sum - tmp;if (kou - arr[n] + arr[0] > tmp - arr[0] + arr[n])cout << "kou" << endl;elsecout << "yukari" << endl;}
}
int main()
{slove();return 0;
}

4. 医生

4.1 题目描述

小红是一名医生。
现在小红对于每个病人的症状用一个长度为mmm的01串表示,第iii个字符代表第iii个身体部位的症状,0代表健康,1代表不健康。
一共有kkk种药,每种药也用一个长度为mmm的01串表示,第iii个字符为’1’代表该药可以治愈第iii个部位的症状。
对于每个病人,请你帮小红求出治愈该病人需要开的最少的药数量。
io描述

4.2 思路

本题的思路还挺简单的,因为数据量的原因,药物只有10种。那么我们可以枚举出所有药物的使用组合。一共1024种。这题的巧思也就在这组合上面,我们要怎么写这个组合呢?

    for (int i = 1; i <= (1 << k); ++i){for (int j = 0; j < k; ++j){if ((i >> j)&1)v[i] |= me[j];}}

使用状态压缩的思路,一共k种药物,药物的组合情况一定为(1<<k)。用一个数来枚举这些情况,这个数的二进制位哪里有1,就使用该位对应的药物。这样就可以做到(1<<k)种情况都不遗漏了。最后我们只要数,该数有多少个1那么就说明了使用了多少种药物。

4.3 代码

#include <bits/stdc++.h>
#include <iostream>
#include <string>
using namespace std;
int n, m, k;
int p[10010],me[12],v[1050];void solve()
{cin >> n >> m;string s;for (int i = 1; i <= n; ++i){cin >> s;p[i] = stoi(s, 0, 2);}cin >> k;for (int i = 0;i < k; ++i){cin >> s;me[i] = stoi(s, 0, 2);}for (int i = 1; i <= (1 << k); ++i){for (int j = 0; j < k; ++j){if ((i >> j)&1)v[i] |= me[j];}}for (int i = 1; i <= n; ++i){int mi = k + 1;for (int j = 0; j <= (1 << k); ++j){if ((v[j] & p[i]) == p[i]){mi = min(mi,__builtin_popcount(j));}}if (mi == k + 1)cout << -1 << endl;elsecout << mi << endl;}}
int main()
{solve();return 0;
}

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

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

相关文章

机器人技术革新:人工智能的强力驱动

内容概要 在当今世界&#xff0c;机器人技术与人工智能的结合正如星星与大海&#xff0c;彼此辉映。随着科技的不断进步&#xff0c;人工智能不仅仅是为机器人赋予了“聪明的大脑”&#xff0c;更是推动了整个行业的快速发展。回顾机器人技术的发展历程&#xff0c;我们会发现…

使用PostgreSQL进行高效数据管理

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用PostgreSQL进行高效数据管理 PostgreSQL简介 安装PostgreSQL 在Ubuntu上安装PostgreSQL 在CentOS上安装PostgreSQL 在macOS上…

为开源 AI 模型引入激励机制?解读加密 AI 协议 Sentient 的大模型代币化解决方案

撰文&#xff1a;Shlok Khemani 编译&#xff1a;Glendon&#xff0c;Techub News 古时候&#xff0c;中国人深信「阴阳」的概念——宇宙的每一个方面都蕴含着内在的二元性&#xff0c;这两种相反的力量不断地相互联系&#xff0c;形成一个统一的整体。就好比女性代表「阴」&a…

Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--YOLOV5工程编译移植到开发板测试--(5)

专栏链接如下&#xff1a; Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装Ubuntu18.04--&#xff08;1&#xff09; Hi3516/Hi3519DV500移植YOLOV5、YOLOV6、YOLOV7、YOLOV8开发环境搭建--安装开发环境AMCT、依赖包等--&#xff08;2&#xff09;…

【STM32】INA3221三通道电压电流采集模块,HAL库

一、简单介绍 芯片的datasheet地址&#xff1a; INA3221 三通道、高侧测量、分流和总线电压监视器&#xff0c;具有兼容 I2C 和 SMBUS 的接口 datasheet (Rev. B) 笔者所使用的INA3221是淘宝买的模块 原理图 模块的三个通道的电压都是一样&#xff0c;都是POWER。这个芯片采用…

HTML 标签属性——id、class、style 等全局属性详解

文章目录 1. id属性2. class属性3. style属性4. title属性5. lang属性6. dir属性7. accesskey属性8. tabindex属性小结HTML全局属性是一组可以应用于几乎所有HTML元素的特殊属性。这些属性提供了额外的功能和信息,使得网页开发者能够更好地控制元素的行为、样式和可访问性。 …

Python数据分析案例62——基于MAGU-LSTM的时间序列预测(记忆增强门控单元)

案例背景 时间序列lstm系列预测在学术界发论文都被做烂了&#xff0c;现在有一个新的MAGU-LSTM层的代码&#xff0c;并且效果还可以&#xff0c;非常少见我觉得还比较创新&#xff0c;然后我就分享一下它的代码演示一下&#xff0c;并且结合模态分解等方法做一次全面的深度学习…

C++泛型编程

一、什么是泛型编程 泛型编程 是一种编程范式&#xff0c;它通过编写可以处理多种数据类型的代码来实现代码的灵活复用。泛型编程主要通过模板来实现。 比如我们日常使用的容器类型vector就应用了模板来实现其通用性&#xff0c;我们在使用时可以通过传入型别创建对应的动态数…

ServletContext,Cookie,HttpSession的使用

ServletContext对象 ServletContext对象官方也称servlet上下文。服务器会为每一个Web应用创建一个ServletContext对象&#xff0c;这个对象全局唯一&#xff0c;而且Web应用中所有的Servlet都共享这个对象。 ServletContext对象的作用 相对路径转绝对路径 servletContext.g…

如何封装一个可取消的 HTTP 请求?

前言 你可能会好奇什么样的场景会需要取消 HTTP 请求呢&#xff1f; 确实在实际的项目开发中&#xff0c;可能会很少有这样的需求&#xff0c;但是不代表没有&#xff0c;比如&#xff1a; 假如要实现上述这个公告栏&#xff0c;每点击一个 tab 按钮就会切换展示容器容器中…

前端笔试新问题总结

记录总结下最近遇到的前端笔试新问题 目录 一、操作数组方法 1.Array.isArray(arr) 2.Object.prototype.toString.call(arr) "[object Array]" 3.arr instanceof Array 1&#xff09;跨帧问题 2&#xff09;修改Array.prototype 3&#xff09;模拟数组的对象…

玩转Hugging Face/魔搭社区/魔乐社区”教程

2.1 HF 平台 2.1.1 注册Hugging Face 平台 &#xff08;需要魔法上网&#xff09; Hugging Face 最初专注于开发聊天机器人服务。尽管他们的聊天机器人项目并未取得预期的成功&#xff0c;但他们在GitHub上开源的Transformers库却意外地在机器学习领域引起了巨大轰动。如今&…

Chrome与夸克谁更节省系统资源

在当今数字化时代&#xff0c;浏览器已经成为我们日常生活中不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;我们都依赖于浏览器来访问互联网。然而&#xff0c;不同的浏览器在性能和资源消耗方面存在差异。本文将探讨Chrome和夸克两款浏览器在系统资源消耗方面的表现…

【OJ题解】C++实现反转字符串中的每个单词

&#x1f4b5;个人主页: 起名字真南 &#x1f4b5;个人专栏:【数据结构初阶】 【C语言】 【C】 【OJ题解】 题目要求&#xff1a;给定一个字符串 s &#xff0c;你需要反转字符串中每个单词的字符顺序&#xff0c;同时仍保留空格和单词的初始顺序。 题目链接: 反转字符串中的所…

Vue 学习随笔系列十三 -- ElementUI 表格合并单元格

ElementUI 表格合并单元格 文章目录 ElementUI 表格合并单元格[TOC](文章目录)一、表头合并二、单元格合并1、示例代码2、示例效果 一、表头合并 参考&#xff1a; https://www.jianshu.com/p/2befeb356a31 二、单元格合并 1、示例代码 <template><div><el-…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.3-4.4

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第四周 特殊应用&#xff1a;人脸识别和神经风格转换&#xff08;Special applications: Face recognition &Neural style transfer&#xff09;4.3 Siamese 网络&#xff08;Siamese net…

vue data变量之间相互赋值或进行数据联动

摘要&#xff1a; 使用vue时开发会用到data中是数据是相互驱动&#xff0c;经常会想到watch,computed&#xff0c;总结一下&#xff01; 直接赋值&#xff1a; 在 data 函数中定义的变量可以直接在方法中进行赋值。 export default {data() {return {a: 1,b: 2};},methods: {u…

安装Blender并使用

前言 该系列记录了如何用Blenderpro来构建自己的场景数据集&#xff0c;从环境搭建到后期构建数据集的整个流程 本文章是第一部分&#xff0c;BlenderPrc2的安装以及环境配置 部分参考https://blog.csdn.net/weixin_49521551/article/details/121573334 官方文档https://dlr…

百度SEO分析实用指南 提升网站搜索排名的有效策略

内容概要 在数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为提升网站曝光度的关键工具。本指南将带您了解SEO的基本知识&#xff0c;帮助您在复杂的网络环境中立足。我们将从关键词优化开始&#xff0c;重点讲解如何选择合适的关键词来提高搜索引擎排…

【蔬菜识别】Python+深度学习+CNN卷积神经网络算法+TensorFlow+人工智能+模型训练

一、介绍 蔬菜识别系统&#xff0c;本系统使用Python作为主要编程语言&#xff0c;通过收集了8种常见的蔬菜图像数据集&#xff08;‘土豆’, ‘大白菜’, ‘大葱’, ‘莲藕’, ‘菠菜’, ‘西红柿’, ‘韭菜’, ‘黄瓜’&#xff09;&#xff0c;然后基于TensorFlow搭建卷积神…