AtcoderABC309场

news2024/11/23 17:02:45

A - NineA - Nine

在这里插入图片描述在这里插入图片描述

题目大意

判断两个数是否相邻且水平排列,即它们在同一行并且相邻。可以直接打印或者找规律

思路分析

可以直接打印或者找规律

时间复杂度

O(1)

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b;
  cin>>a>>b;
  if(a%3!=0&&a+1==b) cout<<"Yes"<<endl;
  else cout<<"No"<<endl;
}

B - Rotate(B - Rotate)[https://atcoder.jp/contests/abc309/tasks/abc309_b]

在这里插入图片描述在这里插入图片描述在这里插入图片描述

题目大意

给定一个N×N的方格矩阵,每个方格上放置一个整数。顺时针对最外边界方格进行移动1格操作,而内部的方格保持不变。最后输出移动后的方格矩阵。

思路分析

可以使用一个二维数组来表示方格矩阵,然后遍历每个方格,判断是否为边界方格,如果是,则按规则进行移动,否则保持不变。
创建一个大小为N×N的二维数组a,用于存储输入的方格矩阵
创建一个大小为N×N的二维数组ans,用于存储移动后的方格矩阵

时间复杂度

O(N2)

题解代码

#include <iostream>
#include <vector>
using namespace std;

int main() {
  int N;
  cin >> N;

  vector<vector<int>> a(N, vector<int>(N));
  for (int i = 0; i < N; i++) {
    string s;
    cin >> s;
    for (int j = 0; j < N; j++) {
      if (s[j] == '0')
        a[i][j] = 0;
      else
        a[i][j] = 1;
    }
  }

  vector<vector<int>> ans(N, vector<int>(N));
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++) {
      if (i == 0 || j == 0 || i == N - 1 || j == N - 1) {
        if (i == 0 && j < N - 1)
          ans[i][j + 1] = a[i][j];
        if (i < N - 1 && j == N - 1)
          ans[i + 1][j] = a[i][j];
        if (i == N - 1 && j > 0)
          ans[i][j - 1] = a[i][j];
        if (i > 0 && j == 0)
          ans[i - 1][j] = a[i][j];
      } else {
        ans[i][j] = a[i][j];
      }
    }
  }

  for (int i = 0; i < N; i++) {
    for (int j = 0; j < N; j++)
      cout << ans[i][j];
    cout << endl;
  }

  return 0;
}

#C - MedicineC - Medicine
在这里插入图片描述在这里插入图片描述在这里插入图片描述

题目大意

Snuke医生给Takahashi开了N种药物,从第一天(开药当天)开始,每天需要服用相应种类的药物。需要找到第一天或之后,他需要服用K颗或更少药丸的日期。

思路分析

用贪心算法。

  • 将药物按照数量升序排序。
  • 计算所有药物的总数量(即第一天)sum。
  • 如果总数量sum不超过K,则输出1。
  • 否则,遍历排序后的药物列表:
    每次减去当前药物的数量sum -= p[i].second。
  • 如果此时总数量sum不超过K,则说明找到了满足条件的日期,输出p[i-1].first+1。
  • 如果遍历结束仍未找到满足条件的日期,则输出p.back().first+1。

时间复杂度

O(NlogN)

代码

#include <bits/stdc++.h>
using namespace std;

int main() {
    
	int N,K;
	cin>>N>>K;
	
	vector<pair<int,int>> p(N);
	
	for(int i=0;i<N;i++){
		cin>>p[i].first>>p[i].second;
	}
	
	sort(p.begin(),p.end());
	
	long long sum = 0;
	
	for(int i=0;i<N;i++){
		sum += p[i].second;
	}
	
	if(sum<=K)cout<<1<<endl;
	else{
		for(int i=0;i<p.size();i++){
			if(sum<=K){
				cout<<p[i-1].first+1<<endl;
				return 0;
			}
			sum -= p[i].second;
		}
		cout<<p.back().first+1<<endl;
	}
	
	return 0;
}

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

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

相关文章

学术英语UNIT1~UNIT4知识点总结

目录 UNIT 1 1.Deciding on topic --AMI 2.Writing a working title 3.Literacy Skills--Avoiding plagiarism 4.Literacy Skills--citation and referring skills 5.Literacy Skills--quoting 6.Literacy Skills--summarizing UNIT2 1.Academic Writing -searching…

FreeRTOS(任务的创建和删除)

1. 什么是任务&#xff1f; 任务可以理解为进程/线程&#xff0c;创建一个任务&#xff0c;就会在内存开辟一个空间。 比如&#xff1a; 玩游戏、陪女朋友&#xff0c;都可以视为任务 Windows 系统中的 MarkText 、谷歌浏览器、记事本&#xff0c;都是任务。 任务通常都含有…

考虑储能的电价收益模型研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

D. Pairs of Segments

Problem - D - Codeforces 思路&#xff1a;其实它求的就是不相交区间的最大数量&#xff0c;但是它的区间是两个区间合并得到&#xff0c;所以我们可以直接将所有能合并的区间直接合并&#xff0c;然后做一遍不相交区间的最大数量&#xff0c;这样存在一种问题就是一个区间会不…

【力扣算法04】之合并 K 个升序链表- python

文章目录 问题描述示例1示例2示例3提示思路分析 代码分析完整代码额外讲解 完结 问题描述 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例1 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]…

简要介绍 | 融合深度学习与符号逻辑:神经符号结合的探索

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对神经符号结合进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 融合深度学习与符号逻辑&#xff1a;神经符号结合的探索 Neuro-Symbolic AI 本文将探讨神经符号结合的概念、原理、研究现状、挑战…

推荐分布式系统案例课

你将获得 一线大厂分布式系统设计方法论&#xff1b; 分布式核心技术详解&#xff1b; 系统架构师面试技巧&#xff1b; 百万年薪架构师成长路径。 演示地址&#xff1a;www.runruncode.com/houduankaifa/19452.html 课程介绍 是否具备分布式系统的架构和设计能力&#xff0c;是…

typescript helloword

创建文件夹 创建ch01文件夹 新建tsconfig.json {"compilerOptions": {"strict": true,"target": "ES5"} }“tsconfig.json”是TypeScript编译器默认使⽤的配置⽂件。此例中的配置⽂件启⽤了所有的严格类型检查编译选项&#xff0c;…

经过半年的努力,终于成为了谷歌开发者专家(GDE)

大家好&#xff0c;我是拭心。 几天前&#xff0c;我终于收到了一封心心念念的邮件&#xff1a; 邮件的意思是&#xff1a;我正式成为了一名 GDE&#xff01; 这封邮件来之不易&#xff0c;背后是半年多的准备、三次公开分享和两轮英文面试&#xff0c;我想有必要做一个总结&…

VMware vSphere 7 Update 3n 下载

VMware vSphere 7 Update 3n 下载 vCenter Server & ESXi, DellEMC, HPE, Cisco, LENOVO, FUJITSU, NEC, Inspur, Hitachi Custom Image 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-vsphere-7-u3/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留…

存储函数和存储过程的简单应用

创建存储函数 使用select调用 创建存储过程avg_sai 去调用他

stm32 ->HAL库重定向printf,实现串口打印

步骤 在CubeMX中初始化uart引脚 MX_USART1_UART_Init();包含printf函数的头文件stdio.h 重定义printf函数 int fputc(int ch, FILE *f) {HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff); return ch; }勾选Use MicroLIB 编译烧录 实现代码 /* Private i…

redis实现相关分布式锁

为什么需要分布式锁 我们知道&#xff0c;当多个线程并发操作某个对象时&#xff0c;可以通过synchronized来保证同一时刻只能有一个线程获取到对象锁进而处理synchronized关键字修饰的代码块或方法。既然已经有了synchronized锁&#xff0c;为什么这里又要引入分布式锁呢&…

vue打包、网站运行速度优化

最近在做公司的官网&#xff0c;遇到的首要问题就是初次进入网站时&#xff0c;加载很慢&#xff0c;首页的视频和字体甚至需要30秒才能完全展示出来&#xff0c;用户体验可以说时很差了。接下来说几个优化的点。 一、减小图片的体积 如果项目中的图片过于多&#xff0c;并且体…

Set up the compilation environment for ESP8266-RTOS-SDK using Git on Windows

Software to be installed&#xff1a; Git BashPython Environment&#xff0c;ESP8266 Master require Python v3 environment. Please check “add to PATH” while installing Open Git Bash&#xff0c;Enter a local disk&#xff0c;create an empty folder, enter the …

【雕爷学编程】Arduino动手做(159)---RCWL-0515微波检测模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

十大经典排序算法(代码实现),建议收藏

兜兜转转&#xff0c;一晃年关将至。时间证明了一个道理&#xff0c;学啥忘啥&#xff0c;学的越快忘得越快&#xff0c;还不如踏踏实实写点笔记心得来的实在。 编程初学期间&#xff0c;排序算法是让人抓头最多的一块。为什么我连最简单的冒泡排序都理解不了&#xff0c;我是…

webpack基础知识

webpack基础知识 1、定义2、环境安装3、初始化项目4、简单使用 1、定义 webpack的本质是一个第三方模块包&#xff0c;用于分析&#xff0c;并打包代码 支持所有类型的文件打包支持less/sass> css支持ES6/7/8>ES5压缩代码&#xff0c;提高加载速度 2、环境安装 yarn安…

Java并发编程中的HashMap、HashTable、ConcurrentHashMap

1、HashMap 1.1、为什么HashMap非线程安全的 &#xff08;1&#xff09;竞态条件 当多个线程同时对 HashMap 进行写操作&#xff08;如插入、删除、修改&#xff09;&#xff0c;由于没有同步控制&#xff0c;可能会导致数据不一致的情况。例如&#xff0c;两个线程同时向同…

LLM 生成视频 - pika

文章目录 关于 pika申请试用2023-07-12 关于 pika A powerful Text-to-Video platform that can unleash your creativity simply by typing. 官网: https://www.pika.art/官方 twitter : https://twitter.com/pika_labs相关功能介绍 相关报道/博客: 图片生成视频 from : h…