AtcoderABC256场

news2025/4/9 0:30:39

A - 2^NA - 2^N

在这里插入图片描述

题目大意

给n,计算2n

思路分析

可以直接使用幂运算进行计算,也可以利用位运算来快速计算。

  • 使用幂运算:将2连乘N次。
  • 利用位运算:2的N次方等于1左移N位(即将1的二进制表示中的1向左移N位)。

时间复杂度

O(N)

代码

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

int main() {
    int N;
    cin >> N;
    long long result = pow(2, N); // 幂运算方法
    // 或者 long long result = 1 << N; // 位运算方法
    cout << result << endl;
    return 0;
}

B - BattersB - Batters

在这里插入图片描述加粗样式在这里插入图片描述

题目大意

Takahashi正在尝试创建一个受棒球启发的游戏。有4个方格称为Square 0、Square 1、Square 2和Square 3,初始时都是空的。还有一个整数P,初始时P=0。给定一个正整数序列A = (A1, A2, …, AN),按照一定顺序执行操作。操作包括:在Square 0上放置一个棋子,将每个方格上的棋子向前移动Ai个方格,并根据条件移除目标方格不存在的棋子并将被移除的棋子数量添加到P中。最后打印P的值。

思路分析

可以使用动态规划来解决这个问题。定义一个大小为4的数组fi,表示当前棋子所在方格的状态(0表示没有棋子,1表示有棋子)。在每次操作中,根据当前棋子所在的方格,更新下一个操作中棋子所在方格的状态。具体地,对于当前棋子所在的每个方格,如果棋子存在于该方格上,根据该方格上的数字确定下一个操作中棋子所在方格的状态。如果下一个操作中棋子所在的方格超出了棋盘范围,则将计数器P加1;否则,将下一个操作中棋子所在方格的状态设置为1。

时间复杂度

O(N)

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
vector<int> a(n);
for(int i=0;i<n;i++)cin>>a[i];
int p=0;
vector<int> fi(4,0);
for(int x:a)
{
vector<int> next_fi(4,0);
fi[0]=1;
for(int  i=0;i<4;i++)//在每一个位置找棋子
{if(fi[i]==1){//遍历每一颗棋子
if(x+i>=4) p++;
else  next_fi[i+x]=1;
}
}
fi=next_fi;
}
cout<<p<<endl;
return 0;
}

C - Filling 3x3 arrayC - Filling 3x3 array

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

题目大意

给定三个整数数组h和w,以及一个范围在1到30之间的正整数N。需要找到满足以下条件的组合数量:

  • 每行数字相加=h[i];
  • 每列数字相加=w[i];
    给出h1, h2, h3, w1, w2, w3

思路分析

最简单的解决方案是朴素的穷举法。由于每个方格可以包含1到N之间的整数,我们实际上可以将方格中的整数分配为1到N,并检查网格是否满足条件。使用9重循环来实现。
优化:降低时间复杂度
因为这个问题的一个特性是,一旦某一行或某一列中的两个方格被填满,其他方格就会自动确定。所以只需要枚举左上角的2×2网格。时间复杂度降低为O(N^4)

时间复杂度

O(N4)

代码

#include<iostream>
#include<algorithm>
using namespace std;
int h[3],w[3];
long long ans=0;
int main()
{
  for(int i=0;i<3;i++) cin>>h[i];
for(int i=0;i<3;i++) cin>>w[i];
for(int a=1;a<=30;a++){
for(int b=1;b<=30;b++){
for(int d=1;d<=30;d++){
for(int e=1;e<=30;e++){
int c=h[0]-a-b;
int f=h[1]-d-e;
int g=w[0]-a-d;
int H=w[1]-b-e;
int  i=w[2]-c-f;
if((i==h[2]-g-H)&&min({c,f,i,g,H})>0)
ans++;
}
}
}
}cout<<ans<<endl;
return 0;
}

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

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

相关文章

Redis数据结构 — SDS

目录 C 语言字符串的缺陷 简单动态字符串SDS 扩容机制 SDS优点 字符串在 Redis 中是很常用的&#xff0c;Key-Value中的Key是字符串类型&#xff0c;Value有时也是字符串类型 Redis 是用 C 语言实现的&#xff0c;但是它没有直接使用 C 语言的 char* 字符数组来实现字符串…

如何激励员工跟踪时间?

正确跟踪工作时间对有效的企业管理和盈利能力起到重要作用。企业通过跟踪时间&#xff0c;监控出勤情况&#xff0c;确保员工收到应得的工资&#xff0c;保护企业的利益。 时间跟踪对企业来说和其他指标一样重要&#xff0c;但他们往往难以说服员工将其视为一种有益的活动。那…

windows 下载安装Redis,并配置开机自启动

windows 下载安装Redis&#xff0c;并配置开机自启动 1. 下载 地址&#xff1a;https://github.com/tporadowski/redis/releases Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择&#xff0c;这里我们下载 Redis-x64-xxx.zip压缩包&#xff0c;之后解压 打…

园区水电能源管理系统平台

园区水电能源管理系统平台是一种集成了水电能源监测、管理和优化功能的平台&#xff0c;旨在帮助园区管理者实现对水电资源的实时监测、合理节能和优化使用。随着能源需求的不断增长和能源价格的不断攀升&#xff0c;园区管理者面临着越来越大的节能减排压力。因此&#xff0c;…

selenium查找svg元素

目录 如何为SVG元素编写XPath 使用local-name&#xff08;&#xff09;的语法 需要记住的一点 将“and”与SVG元素一起使用 如何定位嵌套的SVG元素&#xff1f; XPath是一种用于定位XML文档中的web元素的语言&#xff0c;包括构成网页的HTML文档。在Selenium中&#xff0…

001 Jetpack Compose入门

目录 1.前提准备 2.新建项目 1.前提准备 下载最新版本的AndroidStudio&#xff0c;我目前的版本如下&#xff1a; 注意要将kotlin环境配置好 2.新建项目 新建项目中空Activity就是新建的Compose项目 然后就会得到一个Compose界面的应用 为何要学Compose可以看郭霖的文章&…

拉丁语翻译软件分享-收藏这几个备用

在当今全球化的时代&#xff0c;语言交流变得更加重要。虽然英语已经成为国际通用语言&#xff0c;但依旧有一些古老的语言在特定领域和文化中仍然得到广泛使用。其中&#xff0c;拉丁语作为古代罗马帝国的官方语言&#xff0c;对欧洲语言起了重要的影响。在本文中&#xff0c;…

el-select组件如何在页面一加载时就根据数据选中el-option中的数据

页面一加载就要选中下拉中的数据&#xff0c;要和下拉数组中的value的类型一致&#xff0c;value是number,select的v-model就不能是字符串&#xff0c;必须是number.不然就会显示字符串

【C语言】【数据结构初阶】 快排变慢排?怎么个事儿?

一.为何“快排”变“慢排” 我们知道&#xff0c;快排是一种很好的排序算法。但是在极少数的一些情况下&#xff0c;“快速排序”好像名不副实了。比如&#xff1a;1&#xff0c;2&#xff0c;1&#xff0c;2&#xff0c;1&#xff0c;2&#xff0c;1。。。。。。这样的数列。 …

十七、web网页像素知识

目录&#xff1a; 像素视口 一、像素 像素&#xff1a;- 屏幕是由一个个发光的小点构成&#xff0c;这一个个的小点就是像素- 分辨率&#xff1a;1920 x 1080 说的就是屏幕中小点的数量- 在前端开发中像素要分成两种情况讨论&#xff1a;css像素和物理像素- 物理像素&#xff…

具有电动驱动的四足机器人模型研究(SimulinkMatlab代码)

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

Mac的docker安装redis

Mac的docker安装redis 1、docker search redis NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis Redis is an open source key-value store that… 12205 …

unity 2018.4.0+SteamVR1.2.2+VRTK3.2.1报错解决

开发案例参考 07-游乐设备选择场景搭建_哔哩哔哩_bilibili 导入之后代码报错Assets/SteamVR/Editor/SteamVR_Settings.cs(135,49): error CS0117: UnityEditorInternal.VR.VREditor does not contain a definition for GetVREnabledDevices 解决方法 打开SteamVR_Settings 脚…

深入了解C语言中scanf()函数的用法

目录 正文 一、基本用法 二、格式化字符串 三、多个输入值 四、错误处理 五、总结 正文 在C语言中&#xff0c;scanf()函数是一个非常有用的输入函数&#xff0c;它允许我们从用户那里获取输入&#xff0c;并将输入存储到指定的变量中。本文将详细介绍scanf()函数的使用方…

【ELK企业级日志分析系统】部署Filebeat+Kafka+Logstash+Elasticsearch+Kibana集群详解(EFLFK)

部署FilebeatKafkaLogstashElasticsearchKibana集群详解 1. Kafka1.1 Kafka概述1.1.1 为什么需要消息队列&#xff08;MQ&#xff09;1.1.2 使用消息队列的好处 1.2 消息队列的两种模式1.3 Kafka定义1.3.1 Kafka简介1.3.2 Kafka的特性1.3.3 Kafka系统架构1.3.4 Partation数据路…

微信消息延迟怎么办?

微信是我们常用的聊天工具&#xff0c;那在微信聊天中&#xff0c;相信有很多朋友都遇到过&#xff0c;明明对方的消息已经发过来了&#xff0c;可微信就是没有显示。这就很容易发生误会或者耽误很多事情。 那么微信消息延迟是什么原因导致的呢&#xff1f; 网络信号差 当我们的…

PostgerSQL证书长什么样子

PostgerSQL证书长什么样子 一、证书样式&#xff1a; 重点请看公章&#xff1a;工业和信息化部教育与考试中心 仿冒、假借、诋毁公章&#xff0c;可向工信部和当地公安机关举报 二、发证单位 证书由工业和信息化部教育与考试中心进行制作。 PostgerSQL证书发证单位&…

数据可视化:揭开数据的视觉奇迹

随着大数据时代的到来&#xff0c;我们面临着海量的数据&#xff0c;如何从中获取有价值的信息成为一项重要的挑战。数据可视化作为一种强大的工具&#xff0c;通过图表、图形和交互界面&#xff0c;将数据转化为可视化的形式&#xff0c;帮助我们更好地理解和分析数据。 数据可…

特斯拉降价阴影下,智己如何「登高」?

作者 | 刘然 来源 | 洞见新研社 都说背靠大树好乘凉&#xff0c;但背靠上汽集团的智己汽车&#xff0c;反而水深火热。 2021年&#xff0c;在智己正式向外界公布了“豪华纯电智能轿车”智己L7之后&#xff0c;其CEO刘涛曾放出豪言&#xff1a;“我们在未来的很多年后再回顾今…

工作--输入文档

知识点&#xff1a; 1、find 返回的是对象&#xff0c;找到第一个满足条件的 就停止遍历&#xff0c;返回此对象 &#xff01;2、async...await 使用场景&#xff1a; 1、一般循环中 不给方法加async...await 2、then里面 的一块是整体 3、watch监听&#xff1a; 数组&…