当前位置: 首页 > news >正文

AtCoder Regular Contest 177

A - Excange

题意

用这些零钱能否不找零地买这些物品

思路

因为 500 = 5 × 100 = 10 × 50 = 50 × 10 = 500 × 1 500=5\times 100=10\times 50=50\times 10=500\times 1 500=5×100=10×50=50×10=500×1

所以说,我们这道题可以采用贪心算法,优先取大的减去目前零钱最大的即可。

#include <iostream>
#include <cstdio>
#include <queue> 
#define N 15
using namespace std;
int money[N],n,X[N],sum,p[10]={0,1,5,10,50,100,500};
priority_queue<int> q;
signed main(){cin >> money[1] >> money[2] >> money[3] >> money[4] >> money[5] >> money[6] >> n;for (int i = 1;i <= n;i ++) cin >> X[i],sum += X[i],q.push(X[i]);if (sum > money[1] * 1 + money[2] * 5 + money[3] * 10 + money[4] * 50 + money[5] * 100 + money[6] * 500) return cout << "No",0;for (int i = 6;i;i --) while (!q.empty() && money[i] && q.top() >= p[i]) {int t = q.top();q.pop();t -= p[i];money[i] --;
//			cout << i << ' ' << t << ' ' << t + p[i] << ' ' << money[i] << endl;if (t)q.push(t);}if (!q.empty()) cout << "No";else cout << "Yes";return 0;
}

B - Puzzle of Lamps

关灯

有两个选择:

  • A:把排最左边的 0 变成 1
  • B:把排最左边的 1 变成 0

思路

很容易想到先把 A 选择到最右边的位置,然后用 B 把最右边 1 的位置的左边第一个没有 0 的位置,一直重复操作即可。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define N 50
using namespace std;
int n;
string s;
int ans = 0;
string ans_st = "";
signed main(){cin >> n >> s;int k = n - 1;while (k >= 0) {while (k >= 0 && s[k] != '1') k --;ans += k + 1;for (int i = 0;i <= k;i ++) ans_st += "A";while (k >= 0 && s[k] != '0') k --;ans += k + 1;for (int i = 0;i <= k;i ++) ans_st += "B";}cout << ans << endl << ans_st;return 0;
}

C - Routing

题意

有一个 N × N N\times N N×N 的地图,每个格子上标有红色或者蓝色(R 或者 B),现在我们有若干次操作把当前格子变成紫色(P,代表既是 R 的路又是 B 的路)使得:

  • ( 1 , 1 ) → ( N , N ) (1,1)\rightarrow(N,N) (1,1)(N,N) 只走 R 的路能够到达;
  • ( 1 , N ) → ( N , 1 ) (1,N)\rightarrow(N,1) (1,N)(N,1) 只走 B 的路能够到达。

求操作的最小次数。

思路

观察特性,发现这里走的两条路径必定会有一个交点。但是这个交点只会被算一次。

我们可以想到用 BFS 搜索 ( 1 , 1 ) → ( N , N ) (1,1)\rightarrow(N,N) (1,1)(N,N) 以及 ( 1 , N ) → ( N , 1 ) (1,N)\rightarrow(N,1) (1,N)(N,1) 的路径的最少走不合法的格子的数量,最后相加即可。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <vector>
#define N 505using namespace std;
const int INF = 1e9;
int n,vis1[N][N],vis2[N][N],fxy[4][2] = {{1,0},{-1,0},{0,-1},{0,1}};
bool a[N][N]; 
struct pos{int x,y,sp;
};
queue<pos> q;
signed main(){cin >> n;for (int i = 1;i <= n;i ++)for (int j = 1;j <= n;j ++) {char x;cin >> x;a[i][j] = (x == 'R');}for (int i = 0;i <= n + 1;i ++)for (int j = 0;j <= n + 1;j ++)vis1[i][j] = vis2[i][j] = INF;vis1[1][1] = 0;q.push({1,1,0});while(!q.empty()) {pos t = q.front();q.pop();for (int i = 0;i < 4;i ++) {int xx = t.x + fxy[i][0],yy = t.y + fxy[i][1];if (xx < 1 || yy < 1 || xx > n || yy > n) continue;int nt =t.sp;if (!a[xx][yy]) nt ++;if (vis1[xx][yy] <= nt) continue;q.push({xx,yy,nt});vis1[xx][yy] = nt;}}q.push({1,n,0});while(!q.empty()) {pos t = q.front();q.pop();for (int i = 0;i < 4;i ++) {int xx = t.x + fxy[i][0],yy = t.y + fxy[i][1];if (xx < 1 || yy < 1 || xx > n || yy > n) continue;int nt =t.sp;if (a[xx][yy]) nt ++;if (vis2[xx][yy] <= nt) continue;q.push({xx,yy,nt});vis2[xx][yy] = nt;}}cout << vis1[n][n] + vis2[n][1] << endl;return 0;
}

D - Earthquakes(以后更)

题意

n n n 个建筑,高度都为 j j j
n n n 次地震,第 i i i 次地震的两级中的一级会倒下,向左和向右倒的概率为 50 % 50\% 50%,而且当前第 i i i 个建筑的位置为 a i a_i ai,如果说 ∣ a i − a i ± 1 ∣ ≤ h |a_i-a_{i\pm1}|\le h aiai±1h,那么那个建筑也会随着他倒下的方向倒下。
那么:第 i i i 次地震时,建筑全都倒下的概率是多少?请将它乘上 2 n 2^n 2n 后输出,可以证明,输出的是整数。

思路

相关文章:

AtCoder Regular Contest 177

A - Excange 题意 用这些零钱能否不找零地买这些物品 思路 因为 500 5 100 10 50 50 10 500 1 5005\times 10010\times 5050\times 10500\times 1 5005100105050105001。 所以说&#xff0c;我们这道题可以采用贪心算法&#xff0c;优先取大的减去目前零钱最大的…...

【C++】 C++ 编写 鸡兔同笼程序

文章目录 “鸡兔同笼”问题是一个经典的数学问题&#xff0c;要求根据总头数和总腿数来计算鸡和兔的数量。假设鸡有 2 条腿&#xff0c;兔有 4 条腿。可以通过以下步骤求解这个问题&#xff1a; 1 .设鸡的数量为 x&#xff0c;兔的数量为 y。2.根据题意&#xff0c;我们有以下…...

[动画详解]LeetCode151.翻转字符串里的单词

&#x1f496;&#x1f496;&#x1f496;欢迎来到我的博客&#xff0c;我是anmory&#x1f496;&#x1f496;&#x1f496; 又和大家见面了 欢迎来到动画详解LeetCode算法系列 用通俗易懂的动画让算法题不再神秘 先来自我推荐一波 个人网站欢迎访问以及捐款 推荐阅读 如何低成…...

如何使用 ArcGIS Pro 制作地震动画

在做某些汇报的时候&#xff0c;除了图文&#xff0c;如果有动画肯定会成为加分项&#xff0c;这里为大家介绍一下如何使用 ArcGIS Pro 制作地震动画&#xff0c;希望能对你有所帮助。 添加时间 在图层属性内&#xff0c;选择时间选项卡&#xff0c;图层时间选择每个要素具有…...

Unity 初步了解

1.Unity 是啥 Unity是一个实时3D互动内容创作和运营平台。它可以帮助游戏开发、美术、建筑、汽车设计、影视等行业的创作者将创意变为现实。Unity平台提供了一套完善的软件解决方案&#xff0c;用于创作、运营和变现任何实时互动的2D和3D内容&#xff0c;支持的平台包括手机、…...

爬虫学习(4)每日一笑

代码 import requests import re import osif __name__ "__main__":if not os.path.exists("./haha"):os.makedirs(./haha)url https://mlol.qt.qq.com/go/mlol_news/varcache_article?docid6321992422382570537&gameid3&zoneplat&webview…...

生产环境节点扩容方案

datanode节点扩缩容(1人天) 注意:新增节点需要走商务,节点扩容需要申请新的license 制品包下载 #内网下载(环境检查脚本) wget --user=admin --password=Y!bC2hx0TN@21cal http://10.69.71.180:8082/artifactory/product/qiudongyang/precheck/os-check20221127.tar…...

Spring线程池配置

配置Spring线程池,特别是ThreadPoolTaskExecutor,通常涉及设置一些关键参数以控制线程池的行为和性能。以下是一些基本的配置步骤: 定义配置类 首先,需要创建一个配置类,使用@Configuration注解标记,并启用异步执行功能,使用@EnableAsync注解。 @Configuration @Enab…...

Unity学习笔记---物理引擎

RigidBody 刚体 1&#xff0c;Gravity Scale 重力参数&#xff0c;是一个乘量参数&#xff0c;调整为0则不受重力影响。 2&#xff0c;Sleeping Mode 睡眠模式&#xff0c;分为永不睡眠/开始时睡眠/开始时不睡眠3种。如需要一直碰撞检测可以选择永不睡眠。 BoxCollider 碰撞…...

Vue与Java使用AES加密与解密

CBC模式&#xff08;通过偏移值进行加密&#xff0c;更具安全性&#xff09; 一、VUE&#xff1a; 1、安装 npm install crypto-js 2、编写公用js&#xff08;在common文件夹下创建一个crypto.js&#xff09; 注意&#xff1a;key最少要有16个字符&#xff0c;iv最少6个字符…...

B/S版+java开发的医院绩效考核系统maven+Visual Studio Code 医院绩效考核管理系统 提升医疗服务质量的关键

B/S版java开发的医院绩效考核系统mavenVisual Studio Code 医院绩效考核管理系统 提升医疗服务质量的关键 医院绩效评价系统的建设&#xff0c;优化医院绩效管理体系&#xff0c;规范化工作目标的设计、沟通、评价与反馈&#xff0c;改进和提供医院管理人员的管理能力和成效&am…...

汇昌联信科技:拼多多电商的运营流程有哪些?

在当今互联网高速发展的时代&#xff0c;电商平台层出不穷&#xff0c;其中拼多多以其独特的团购模式和低价策略迅速崛起&#xff0c;成为众多消费者和商家的新宠。那么&#xff0c;拼多多电商的运营流程究竟包含哪些环节呢?接下来&#xff0c;我们将从商品上架、营销推广、订…...

AI大模型探索之路-训练篇20:大语言模型预训练-常见微调技术对比

系列篇章&#x1f4a5; AI大模型探索之路-训练篇1&#xff1a;大语言模型微调基础认知 AI大模型探索之路-训练篇2&#xff1a;大语言模型预训练基础认知 AI大模型探索之路-训练篇3&#xff1a;大语言模型全景解读 AI大模型探索之路-训练篇4&#xff1a;大语言模型训练数据集概…...

现代 c++ 一:c++11 ~ c++23 新特性汇总

所谓现代 c&#xff0c;指的是从 c11 开始的 c&#xff0c;从 c11 开始&#xff0c;加入一些比较现代的语言特性和改进了的库实现&#xff0c;使得用 c 开发少了很多心智负担&#xff0c;程序也更加健壮&#xff0c;“看起来像一门新语言”。 从 c11 开始&#xff0c;每 3 年发…...

【c++】全面理解C++多态:虚函数表深度剖析与实践应用

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;c笔记仓 朋友们大家好&#xff0c;通过本篇文章&#xff0c;来详细理解多态的内容 目录 1.多态的定义及实现1.1多态的构成条件1.2虚函数的重写1.3 C11 override 和 final1.4重载、覆盖(重写)、隐藏…...

分享四种免费获取SSL的方式

SSL证书目前需要部署安装的网站很多&#xff0c;主要还是基于国内目前对证书的需求度在不断的升高&#xff0c;网站多了、服务器多了之后。网络安全问题就成为了大家不得不面对的一个重要的问题了。SSL证书的作用有很多&#xff0c;这里就不一一详述了&#xff0c;本期作品主要…...

2024.5.14晚训题解

非线性结构没懂的同学多去看看课程回放。 A题Overall Winner 题解 很基础的题目&#xff0c;输入字符串&#xff0c;用计数器去统计一下就好了。 因为赢的次数一样的时候优先判断前面的那个人赢&#xff0c;所以说两个人赢的次数相同的时候我们不必 去记录胜者。 #include<…...

jQuery的选择器与自带函数详解

在前端开发中&#xff0c;jQuery是一个广泛使用的JavaScript库&#xff0c;它极大地简化了HTML文档遍历、事件处理、动画以及AJAX交互等操作。本文将通过一个示例页面&#xff0c;详细介绍jQuery的选择器和一些常用的自带函数。 示例代码优化 首先&#xff0c;我们来优化和完…...

Next.js与SSR:构建高性能服务器渲染应用

1. 创建项目 通过create-next-app脚手架创建一个新的Next.js项目&#xff1a; npx create-next-app my-app cd my-app2. 自动SSR 在Next.js中&#xff0c;每个.js或.jsx文件的组件都会被自动处理为SSR页面。例如&#xff0c;创建一个pages/index.js文件&#xff1a; // pag…...

什么是MVC?什么是SpringMVC?什么是三层架构?

文章目录 应用分层什么是MVC?什么是 SpringMVC&#xff1f;三层架构三层架构和MVC的关系 应用分层 在讲解什么是MVC之前&#xff0c;先来理解一下什么是应用分层。 应用分层是一种软件开发设计思想&#xff0c;将应用程序划分成N个层次&#xff0c;每个层次都分别负责自己的…...

别再手动传日志了!用Flume+Spark Streaming搭建实时数据管道(附完整配置与避坑记录)

从日志采集到实时分析&#xff1a;FlumeSpark Streaming实战架构解析 凌晨三点&#xff0c;服务器突然告警&#xff0c;而你还在手动拉取日志文件排查问题——这可能是每个运维工程师都经历过的噩梦场景。在用户行为分析、系统监控等实时性要求极高的领域&#xff0c;传统的手…...

别再死磕PI参数了!用MATLAB/Simulink手把手教你搭建永磁同步电机的内模控制器(附仿真模型)

永磁同步电机内模控制实战&#xff1a;从数学模型到Simulink仿真 在电机控制领域&#xff0c;PI控制器就像是一把瑞士军刀——简单实用但需要反复调试。当我在实际项目中遇到永磁同步电机(PMSM)参数变化大、耦合严重的问题时&#xff0c;传统PI控制的表现总是不尽如人意。直到尝…...

1111111111111111111111

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...

NoSleep防休眠工具:彻底解决Windows系统意外休眠的终极方案

NoSleep防休眠工具&#xff1a;彻底解决Windows系统意外休眠的终极方案 【免费下载链接】NoSleep Lightweight Windows utility to prevent screen locking 项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep 在数字化办公时代&#xff0c;电脑意外休眠已成为影响工…...

CUB-200-2011 鸟类数据集的训练及应用 鸟类识别 适用于细粒度分类研究,多种计算机视觉任务

CUB-200-2011 鸟类数据集的训练及应用 鸟类识别 文章目录&#x1f9f0; 一、环境搭建1. 安装 Python 虚拟环境&#xff08;推荐使用 Conda&#xff09;2. 安装必要依赖&#x1f4c1; 二、数据集结构与准备3. 构建 PyTorch Dataset&#x1f3cb;️‍♂️ 三、构建模型并训练1. 使…...

3个维度解锁抖音内容采集:从个人创作到企业运营的效率革命

3个维度解锁抖音内容采集&#xff1a;从个人创作到企业运营的效率革命 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback s…...

读2025世界前沿技术发展报告30海洋技术发展(下)

1. 强化无人及反无人作战能力建设1.1. 英美发布相关战略文件&#xff0c;顶层规划无人、反无人作战能力建设1.1.1. 《无人机战略》文件&#xff0c;分析无人系统对传统战争形态转变的影响1.1.2. 《反无人系统战略》1.1.2.1. ​包括设立联合反小型无人机系统办公室&#xff08;J…...

2025届学术党必备的AI科研助手实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 为要切实有效降低AIGC内容的可被识别程度&#xff0c;我们是能够从生成这个关键阶段以及后处…...

数字化转型架构下的数据安全治理指南:以数据安全为核心的安全立体防御体系、数据安全体系、数据安全现状评估报告···(附相关资料)

微信公众号&#xff1a;木木自由&#xff0c;更多数据分析&#xff0c;经营分析、财务分析、商业分析、数据治理、数据要素、数据资产干货以及资料分享木木自由 数据分析领地Digital Technology Summit在数字经济深度发展的今天&#xff0c;数字化转型已成为企业生存与发展的…...

Wand-Enhancer深度解析:解锁WeMod高级功能的双轨解决方案

Wand-Enhancer深度解析&#xff1a;解锁WeMod高级功能的双轨解决方案 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer 你是否厌倦了WeMod的高级功能限制&…...