AtCoder Beginner Contest 367 A~D

news2024/9/21 12:36:42

本期封面原图 画师えびら

A - Shout Everyday

题意

b点睡觉c点起床,问你a点是不是醒着的

思路

直接判断即可,注意处理跨天的情况

代码

#include <bits/stdc++.h>
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;

int main()
{
    int a,b,c;
    cin >> a >> b >> c;
    if(b>c)
    {
        if(a>=b or a<=c)
            cout << "No";
        else
            cout << "Yes";
        return 0;
    }
    if(b<=a && a<=c)
        cout << "No";
    else
        cout << "Yes";
    return 0;
}

B - Cut .0

题意

给你一个数,去掉他的无效0,也就是小数点右边末尾的和小数点左边最前面的

思路

直接模拟即可

代码

#include <bits/stdc++.h>
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;

int main()
{
    string s;
    cin >> s;
    //给一个数字,去掉无效0
    int n=s.length();
    string ans="";
    int flag=0;
    int i;
    for (i=0;i<n;i++)
    {
        if(s[i]=='.')
            break;
        if(flag==0 and s[i]=='0')
            continue;
        else
        {
            flag=1;
            ans+=s[i];
        }
    }
    ans+='.';
    int j;
    for(j=n-1;j>i;j--)
    {
        if(s[j]=='0')
            continue;
        else
            break;
    }
    for(int k=i+1;k<=j;k++)
        ans+=s[k];
    if(ans[0]=='.')
        ans="0"+ans;
    if(ans[ans.length()-1]=='.')
        ans=ans.substr(0,ans.length()-1);
    cout << ans << endl;
    return 0;
}

C - Enumerate Sequences

题意

按升序排列打印所有满足以下条件的长度为 N N N 的整数序列。

  • i i i 个元素介于 1 1 1 R i R_i Ri 之间(包括首尾两个元素)。
  • 所有元素之和是 K K K 的倍数。

思路

数据范围很小,所以直接dfs遍历即可

代码

#include <bits/stdc++.h>
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
int n,k;
int r[10];
vector<int> ans(10);
void dfs(int dpt,int sum)
{
    if(dpt==n)
    {
        if(sum%k==0)
        {
            for (int i=0;i<n;i++) cout << ans[i] << " ";
            cout << endl;
        }
        return ;
    }
    for(int i=1;i<=r[dpt];i++)
    {
        ans[dpt]=i;
        dfs(dpt+1,sum+i);
    }
}

int main()
{
    cin >> n >> k;
    for (int i=0;i<n;i++) cin >> r[i];
    dfs(0,0);
    return 0;
}

D - Pedometer

题意

一个湖周围有 N N N 个休息区。
休息区按顺时针顺序编号为 1 1 1 2 2 2 、…、 N N N
从休息区 i i i 顺时针走到休息区 i + 1 i+1 i+1 需要 A i A_i Ai 步(其中休息区 N + 1 N+1 N+1 指的是休息区 1 1 1 )。
从休息区 s s s 顺时针走到休息区 t t t s ≠ t s \neq t s=t )所需的最小步数是 M M M 的倍数。
( s , t ) (s,t) (s,t) 的可能对数。

思路

我们可以直接前缀和,然后对前缀和每一个位置取模,模相等的那就说明从前面那个点走到右边那个点算是一对合法对。
然后考虑转了好几圈的情况,我们把这个湖拉直,然后继续往后加,也就是到1之后我还继续走下一轮,无限地往后计算前缀和
在这里插入图片描述
那么现在问题是什么时候结束呢?自然就是某一个点1的前缀和取模后刚好为0,这样就算是完成了一整次循环,最后计算即可

代码

#include <bits/stdc++.h>
#define mod 998244353
using namespace std;
typedef long long ll;
typedef double db;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
const int N=4e5+5;
const int M=1e6+5;
ll n,m;
ll a[N];
ll pre[N];
ll cnt[M];
ll ans;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin >> n >> m;
    for (int i = 1; i <= n; i++) cin >> a[i];
    for (int i = 1; i <= n; i++) {
        a[i+n] = a[i];
    }
    for (int i=1; i <= 2*n; i++) {
        pre[i] = pre[i-1]+a[i];
    }
    for (int i = 1; i <= 2*n; i++) {
        if (i <= n) {
            ans += cnt[pre[i]%m];
            cnt[pre[i]%m]++;
        } else {
            cnt[pre[i-n]%m]--;
            ans += cnt[pre[i]%m];
        }
    }
    cout << ans;
    return 0;
}

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

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

相关文章

推荐 4 款知名免费的思维导图软件,强大跨平台好用,效率大大提升

TreeMind TreeMind树图是一款基于AI人工智能的在线思维导图工具&#xff0c;旨在通过简单的操作快速生成专业详尽的思维导图。它具有多种创新功能和丰富的资源库&#xff0c;能够极大地提高用户的学习和工作效率。 TreeMind树图的主要功能包括&#xff1a; AI一句话生成思维导…

汇编语言:div指令和mul指令

1. div指令 div 是除法指令&#xff0c;在8086CPU中&#xff0c;使用div做除法时&#xff0c;遵循以下规则&#xff1a; &#xff08;1&#xff09;除数&#xff1a;有8位&#xff08;1字节&#xff09;和16位&#xff08;2字节&#xff09;两种&#xff0c;放在一个寄存器&am…

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——5.string(模拟实现)

1.存储结构 namespace zone {class string{public:private: //设置私有&#xff0c;不允许随便访问底层数据char* _str; //字符串存储空间首地址指针size_t _size; //当前字符数量size_t _capaicty; //可用容量static const size_t npos;}const size_t string::nops -1;//在类…

MATLAB中ichol函数用法

目录 语法 说明 示例 不完全 Cholesky 分解 使用 ichol 作为预条件子 使用 diagcomp 选项 ichol函数的功能是对矩阵进行不完全 Cholesky 分解。 语法 L ichol(A) L ichol(A,options) 说明 L ichol(A) 通过零填充执行 A 的不完全 Cholesky 分解。A 必须为稀疏方阵。…

西瓜书学习笔记三 归纳偏好

1.4 归纳偏好 通过学习得到的模型对应了假设空间中的一个假设。于是&#xff0c;图1. 2的西瓜版本空间给我们带来一个麻烦:现在有三个与训练集一致的假设&#xff0c;但与它们对应的模型在面临新样本的时候&#xff0c;却会产生不同的输出。现在有一个新瓜&#xff0c;一个模型…

希腊字母大写、小写、音标

▪Αα ▪Ββ ▪Γγ ▪Δδ ▪Εε或ϵ ▪Ϝϝ ▪Ζζ ▪Ηη ▪Θθ ▪Ιι ▪Κκ ▪Λλ ▪Μμ ▪Νν ▪Ξξ ▪Οο ▪Ππ ▪Ρρ ▪Σσ或ς ▪Ττ ▪Υυ ▪Φφ或ϕ ▪Χχ ▪Ψψ ▪Ωω

C语言学习——指针(定义、变量的指针和指向变量的指针变量)

目录 十、指针 10.1地址和指针的概念 10.2变量的指针和指向变量的指针变量 定义一个指针变量 指针变量的引用 指针变量作为函数参数 十、指针 10.1地址和指针的概念 我们要想了解什么是指针&#xff0c;就必须弄清楚数据在内存中是如何存储的&#xff0c;又是如何读取的…

利用EditPlus进行Json数据格式化

利用EditPlus进行Json数据格式化 git下载地址&#xff1a;https://github.com/michael-deve/CommonData-EditPlusTools.git (安装过editplus的直接将里面的json.js文件复制走就行) 命令&#xff1a;Cscript.exe /nologo “D:\Program Files (x86)\EditPlus 3\json.js” D:\P…

代码随想录算法训练营第三十天| 01背包问题 二维, 01背包问题 一维 , 416. 分割等和子集

今天是动态规划学习的第三天&#xff0c;主要的学习内容包括&#xff1a;01背包问题二维数组解法和一维数组解法&#xff0c;以及01背包问题的应用。 01背包问题 二维 题目链接&#xff1a;46. 携带研究材料&#xff08;第六期模拟笔试&#xff09; (kamacoder.com) 首先我们…

胡姓名人伟人有哪些?胡姓最厉害三个名人是谁

胡姓名人伟人有哪些?胡姓最厉害三个名人是谁? 在中国悠久的历史长河中,胡姓不仅承载着丰富的文化遗产,更是孕育出无数杰出的历史人物。这些人物以其独特的贡献和影响力,成为中华文明的重要组成部分。以下是根据历史影响力和文化贡献精心挑选的十大胡姓名人,他们的故事和成就展…

GNU/Linux - systemd介绍

systemd官网&#xff1a; System and Service Manager systemd systemd Github地址&#xff1a; https://github.com/systemd/systemd 首次发布 2010年3月30日 System and Service Manager systemd 是一套 Linux 系统的基本构件。它提供了一个系统和服务管理器&#xff0c;作为…

USB 2.0 协议专栏之 USB 配置描述符(四)

前言&#xff1a;本篇博客为手把手教学的 USB 2.0 协议栈类精品博客&#xff0c;该专栏博客侧重针对 USB 2.0 协议进行讲解。第 4 篇重点为 USB 2.0 协议中的配置描述符 Configuration Descriptors 进行讲解&#xff0c;并结合 CH32V307 与 STM32 代码进行 Configuration Descr…

【工业机器人】工业异常检测大模型AnomalyGPT

AnomalyGPT 工业异常检测视觉大模型AnomalyGPT AnomalyGPT: Detecting Industrial Anomalies using Large Vision-Language Models AnomalyGPT是一种基于大视觉语言模型&#xff08;LVLM&#xff09;的新型工业异常检测&#xff08;IAD&#xff09;方法。它利用LVLM的能力来理…

Oracle VM VirtualBox虚拟机内存不够用的解决方案

一、 前言 在使用Oracle VM VirtualBox虚拟机的过程中&#xff0c;随着时间的推移&#xff0c;我们会感觉我们的内存越来越不够用&#xff0c;今天就来给大家分享一下我们如何解决虚拟机内存不够用的问题。 二、解决方法 1.虚拟机碎片化整理 我们第一步要做的是碎片整理&…

【protobuf】ProtoBuf——proto3语法详解、enum类型、enum类型的使用和注意事项、Any类型、通讯录录入号码类型和地址的功能实现

文章目录 ProtoBuf5. proto3语法详解5.3 enum类型5.4 Any类型 ProtoBuf 5. proto3语法详解 5.3 enum类型 定义规则&#xff1a; proto3支持我们定义枚举类型并使用&#xff1a; 枚举类型的名称采用驼峰命名法且首字母大写&#xff0c;如 MyEnum &#xff0c;这样的命名方式符合…

重启人生计划-且随风行

&#x1f973;&#x1f973;&#x1f973; 茫茫人海千千万万&#xff0c;感谢这一刻你看到了我的文章&#xff0c;感谢观赏&#xff0c;大家好呀&#xff0c;我是最爱吃鱼罐头&#xff0c;大家可以叫鱼罐头呦~&#x1f973;&#x1f973;&#x1f973; 如果你觉得这个【重启人生…

Element UI详解

目录 Element UIElement UI 简介开发使用开发指南概述总结 设计原则组件使用特性使用场景优势不足 Element UI Element UI 简介 Element UI 是由饿了么前端团队开发的一套基于 Vue.js 的桌面端组件库。它提供了一系列丰富的 UI 组件&#xff0c;用于快速搭建企业级的 Web 应用…

RCE编码绕过--php://filter妙用

目录 代码 如何绕过 payload构造 代码 <?php $content <?php exit; ?>; $content . $_POST[txt]; file_put_contents($_POST[filename],$content); 当你想要输入代码的时候前面会有<?php exit;?>;&#xff0c;代码没有办法执行下去&#xff0c;所以…

day32+学习记录

一.算法练习 509.斐波那契数 斐波那契数 &#xff08;通常用 F(n) 表示&#xff09;形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始&#xff0c;后面的每一项数字都是前面两项数字的和。也就是&#xff1a; F(0) 0&#xff0c;F(1) 1 F(n) F(n - 1) F(n - 2)&#xf…

(待会删)分享9款一键生成原创论文在线使用软件

在当前的学术研究和写作环境中&#xff0c;AI技术的应用已经变得越来越普遍。其中&#xff0c;一键生成原创论文的在线软件更是为学者们提供了极大的便利。本文将重点介绍一款备受推荐的AI原创论文写作平台——千笔-AIPassPaPer&#xff0c;并分享其他几款优秀的同类软件。 千…