AtCoder Beginner Contest 337 A - E

A - Scoreboard

大意

高桥队和青木队进行了n场比赛,给出每场比赛中高桥队和青木队的积分,问最后谁总分更高或平局。

思路

统计总分比较即可。

代码

#include<iostream>
using namespace std;
int main(){int n, a=0, b=0;cin >> n;while(n--){int x, y;cin >> x > >y;a += x, b += y;}if(a < b) cout << "Aoki" << endl;else if(a == b) cout << "Draw" << endl;else cout << "Takahashi" << endl;return 0;
}

B - Extended ABC

大意

给定一个字符串,问是否形如AA\cdots BB\cdots CC \cdotsA、B和C的数量可以为零。

思路

遍历字符串判断是否有序即可。

代码

#include<iostream>
using namespace std;
int main(){string s;cin >> s;char cur = s[0];for(auto i: s){if(cur == i) continue;if(i < cur){cout << "No" << endl;return 0;}if(i > cur) cur = i;}cout << "Yes" << endl;return 0;
}

C - Lining Up 2

大意

有 n人在排队。

给你一个长度为n的序列A来排列这些人。

A_i(1 \le i \le n) 表示以下信息:

  • 如果A_i = -1 ,则i排在队伍的最前面;
  • 如果A_i \ne 1,则 i紧跟在A_i 后面。

从前面到后面打印一行人的编号。

思路

设置数组X_i表示第i个人的后面是X_i,读入A_i时,如果不为-1,则令X_{A_i}=i

否则,确定第一个人。

确定队首后,根据X数组推出队伍。

代码

#include <iostream>
using namespace std;
const int N = 3e5 + 9;
int a[N], b[N];
int main() {int n;cin >> n;for (int i = 1; i <= n; i++) {int x; cin >> x;if (x == -1) b[1] = i;else a[x] = i;}int cur = b[1];for (int i = 2; i <= n; i++) {b[i] = a[cur];cur = b[i];}for (int i = 1; i <= n; i++) cout << b[i] << " ";return 0;
}

D - Cheating Gomoku Narabe

大意

给定h\times w的二维网格,格子上有 xo.三种之一。

问最少进行的操作数,使得网格有连续k(水平或垂直)个格子都是 o

操作为:将一个为.的格子改为o

思路

因此可以枚举这连续k个格子的左端点 ,然后往右的k个格子里,不能有x,然后对.的数量取个最小值。事先预处理一下关于x和.数量的前缀和。(为了方便,可以将x设为极大值)

水平计算一次后,旋转九十度再计算一次即可。

代码

#include <iostream>
#include <vector>
#include <climits>
#include <unordered_map>
using namespace std;
vector<string> grid, T;
#define int long longint solve(const vector<string>& grid, int k) {int h = grid.size();int w = grid[0].size();unordered_map<char, int> mp;mp['.'] = 1;mp['x'] = INT_MAX;mp['o'] = 0;vector<vector<int>> pref(h, vector<int>(w));int ans = INT_MAX;for (int i = 0; i < h; i++) {for (int j = 0; j < w; j++) {if (j == 0) pref[i][j] = mp[grid[i][j]];else pref[i][j] = pref[i][j - 1] + mp[grid[i][j]];if (j >= k - 1) {ans = min(ans, pref[i][j] - (j == k - 1 ? 0 : pref[i][j - k]));}}}return ans;
}signed main() {int h, w, k;ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);cin >> h >> w >> k;for (int i = 0; i < h; i++) {string s;cin >> s;grid.push_back(s);}int ans = solve(grid, k);T.assign(w, string(h, 'w'));for (int i = 0; i < h; i++)for (int j = 0; j < w; j++) T[j][i] = grid[i][j];ans = min(ans, solve(T, k));cout << (ans < INT_MAX ? ans : -1) << endl;return 0;
}

E - Bad Juice

大意

n瓶果汁,其中有一瓶变质了,喝了变质的果汁会拉肚子,但你不知道哪瓶变质了。

你需要找最少的朋友,然后给他们一些果汁喝。一瓶果汁可以给多个朋友喝,一个朋友也可以喝多瓶果汁。

第二天,朋友们会告诉你他们是否不舒服,你需要据此找到变质的果汁。

思路

考虑对果汁编号0n-1,考虑其二进制。对于坏的果汁x,我们需要确定x的二进制下,哪些数位是1。

把 0n-1中,所有二进制下第 i位为1的都给第i个朋友喝,如果它第二天肚子疼了,说明 x的第 i位为1。

需要\lceil \log_2 n\rceil个朋友来试毒。

代码

#include<iostream>
#include<vector>
using namespace std;
int main(){ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);int n;cin >> n;int m = 0;while((1 << m) < n) m++;cout << m << endl;for(int i = 0; i < m; i++){vector<int> c;for(int j = 0; j < n; j++)if((j >> i) & 1) c.push_back(j);cout << c.size() << " ";for(auto x: c) cout << x + 1 << " ";cout << endl;}string s;cin >> s;int ans = 0;for(int i = 0; i < s.size(); i++)if(s[i] == '1') ans += (1 << i);cout << ans + 1 << endl;return 0;
}

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

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

相关文章

介绍部署esxi8.0产品的方式

什么是esxi esxi的中文叫裸机虚拟机管理器 ESXi是由VMware公司开发的一种裸机虚拟机管理器&#xff0c;全称为VMware ESXi。 ESXi是一种虚拟化技术&#xff0c;专门设计用于在物理服务器上运行虚拟机&#xff0c;它的主要特点是能够最大限度地降低硬件配置要求并简化部署过程…

vcf文件可以用excel打开吗?四种解决方案

vcf文件可以用excel打开吗&#xff1f; 当然可以。 一、VCF文件简介 VCF&#xff08;vCard&#xff09;文件是一种用于存储联系人信息的文件格式。它通常包含姓名、电话号码、电子邮件地址、地址等详细信息。VCF文件在多种设备和操作系统中广泛使用&#xff0c;特别是在电子邮…

2024全国水科技大会【高峰对话】北京排水集团(附部分报告题目)

北京排水集团坚持“服务社会、造福百姓、企业利益与公众利益高度一致”的宗旨&#xff0c;充分认知自身在地区经济发展中的社会责任&#xff0c;以满足政府与公众对公用事业企业服务的需求为首要任务&#xff0c;通过“现代化的队伍、现代化的手段、现代化的设备和现代化的管理…

springBoot+ureport报表引擎

UReport是一款基于单元格迭代模型的纯Java中式报表引擎。它架构于Spring之上&#xff0c;因此与企业应用具有良好的集成能力。UReport提供了基于Eclipse插件与基于网页的两种报表模版设计方式&#xff0c;采用类Excel报表模版设计风格&#xff0c;简单、易上手&#xff0c;可在…

数据结构和算法:搜索

二分查找 二分查找&#xff08;binary search&#xff09; 是一种基于分治策略的高效搜索算法。它利用数据的有序性&#xff0c;每轮缩小一半搜索范围&#xff0c;直至找到目标元素或搜索区间为空为止。 给定一个长度为 &#x1d45b; 的数组 nums &#xff0c;元素按从小到大…

django orm DateTimeField 6位小数精度问题

from django.db.backends.mysql.base import DatabaseWrapperDatabaseWrapper.data_types[DateTimeField] "datetime"意思就是重写源码里面的DateTimeField字段

如何在家中使用手机平板电脑 公司iStoreOS软路由实现远程桌面

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是&#xff1a;** 简介 软路由是PC的硬件加上路由系统来实现路由器的功能&#xff0c;也可以说是使用软件达成路由功能的路由器。 使用软路由控制局域网内计算机的好处&#xff1a…

2024年【起重机械指挥】考试报名及起重机械指挥免费试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 起重机械指挥考试报名考前必练&#xff01;安全生产模拟考试一点通每个月更新起重机械指挥免费试题题目及答案&#xff01;多做几遍&#xff0c;其实通过起重机械指挥模拟考试题库很简单。 1、【多选题】严禁吊车超负…

凯撒加密.

题目描述 给定一个单词&#xff0c;请使用凯撒密码将这个单词加密 凯撒密码是一种替换加密的技术&#xff0c;单词中的所有字母都在字母表上向后偏移3位后被替换成密文。即a变为 d&#xff0c;变为e.&#xff0c;w 变为z&#xff0c;2 变为a&#xff0c;y变为 6&#xff0c;z变…

Java——注解和注释

0 注解和注释的区别 在博主刚开始学习java语言的时候&#xff0c;经常把注释和注解搞混淆&#xff0c;误认为这两个是类似的东西&#xff0c;其实它们完全不是一个东西。 注释&#xff1a; 注释是程序员在代码中添加的说明性文字&#xff0c;用于解释代码的功能、目的或实现…

每日五道java面试题之springboot篇(二)

目录&#xff1a; 第一题. 你如何理解 Spring Boot 配置加载顺序&#xff1f;第二题. Spring Boot 中如何解决跨域问题 ?第三题. 什么是 CSRF 攻击&#xff1f;第四题. 比较一下 Spring Security 和 Shiro 各自的优缺点 ?第五题. bootstrap.properties 和 application.proper…

[AIGC] 对比MySQL全文索引,RedisSearch,和Elasticsearch的详细区别

全文搜索是数据库和搜索引擎的重要功能。这个功能能在一个或多个列中查找用户查询的文本&#xff0c;这对诸如电子商务网站和检索大量文本数据的应用是必需的。在这篇文章中&#xff0c;我们将详细对比三种主流全文搜索技术&#xff1a; MySQL全文索引&#xff0c;Redis的Redis…

【Ucore操作系统】8. 并发

文章目录 【 0. 引言 】0.1 线程定义0.2 同步互斥 【 1. 内核态的线程管理 】1.1 线程概念1.2 线程模型与重要系统调用1.2.1 线程创建系统调用1.2.2 等待子线程系统调用1.2.3 进程相关的系统调用 1.3 应用程序示例1.3.1 系统调用封装1.3.2 多线程应用程序 – threads 1.4 线程管…

考研数学|《660题》这样刷最有效!

考研数学660题作为许多考研学子在备考过程中重要的复习资料之一&#xff0c;自然也有很多同学会有660该怎么刷的问题。为了更有效率地使用这些题目&#xff0c;希望以下策略能帮到大家&#xff0c; 首先&#xff0c;你需要根据自己的实际情况&#xff0c;制定一个合理的学习计…

【网安】DDoS攻击:方法、影响与防御策略

【网安】DDoS攻击&#xff1a;方法、影响与防御策略 前言DDoS攻击实现的常见方法Volumetric Attacks&#xff08;流量攻击&#xff09;UDP FloodICMP (Ping) Flood Protocol Attacks&#xff08;协议攻击&#xff09;SYN Flood Application Layer Attacks&#xff08;应用层攻击…

就业班 第二阶段 2401--3.25 day5 mycat读写分离

[TOC] 启动并更改临时密码 [rootmysql1~]# systemctl start mysqld && passwdgrep password /var/log/mysqld.log | awk END{ print $NF} && mysqladmin -p"$passwd" password Qwer123..; MyCAT读写分离 Mycat 是一个开源的数据库系统&#xff0c;但…

LeetCode-1669题:合并两个链表(原创)

【题目描述】 给你两个链表 list1 和 list2 &#xff0c;它们包含的元素分别为 n 个和 m 个。请你将 list1 中下标从 a 到 b 的全部节点都删除&#xff0c;并将list2 接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果&#xff1a; 请你返回结果链表的头指针。 【…

【办公类-21-11】 20240327三级育婴师 多个二级文件夹的docx合并成docx有页码,转PDF

背景展示&#xff1a;有页码的操作题 背景需求&#xff1a; 实操课终于全部结束了&#xff0c;把考试内容&#xff08;docx&#xff09;都写好了 【办公类-21-10】三级育婴师 视频转文字docx&#xff08;等线小五单倍行距&#xff09;&#xff0c;批量改成“宋体小四、1.5倍行…

数据库学习(四)mybatis

Mybatis Mybatis是一个基于数据持久层&#xff08;DAO层&#xff09;的一款框架&#xff0c;他能极大的简化Java中连接数据库&#xff0c;操作数据库也就是jdbc的操作。 在定义mybatis相关接口时&#xff0c;不需要定义实现类&#xff0c;因为在程序启动时&#xff0c;mybati…

Python环境下一种新的类谱峭度算法的旋转机械故障诊断模型

谱峭度SK的本质是计算每根谱线峭度值的高阶统计量&#xff0c;谱峭度对信号中的瞬态冲击成分十分敏感&#xff0c;能有效的从含有背景噪声信号中识别瞬态冲击及其在频带中的分布。由于谱峭度的复杂性、缺少一个正式的定义和一个容易理解的计算过程使其在很长时间内都未能引入到…