AtCoder Beginner Contest 333 A~D(E,F更新中...)

A.Three Threes(循环)

题意:

给出一个正整数 N N N,要求输出 N N N N N N

分析:

按要求输出即可

代码:

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

void solve() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cout << n;
    }
    cout << endl;
}

int main() {
    solve();
    return 0;
}

B.Pentagon(判断)

题意:

给出正五边形上四个顶点 S 1 , S 2 , T 1 , T 2 ( S 1 ≠ S 2 , T 1 ≠ T 2 ) S_1,S_2, T_1,T_2(S_1 \ne S_2, T_1 \ne T2) S1,S2,T1,T2(S1=S2,T1=T2),问 S 1 S_1 S1 S 2 S_2 S2连成的线端长度与 T 1 T_1 T1 T 2 T_2 T2之间连成的线段长度是否相等。

分析:

正五边形任意两点之间的距离分以下两种:

  • 两点相邻

  • 两点不相邻

判断两条线段是否属于同一类型即可。

代码:

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

void solve() {
    string s, t;
    cin >> s >> t;
    int s1 = s[0] - 'A';
    int s2 = s[1] - 'A';
    int t1 = t[0] - 'A';
    int t2 = t[1] - 'A';
    int len1 = 0, len2 = 0;
    if (abs(s2 - s1) != 1 && abs(s2 - s1) != 4) len1 = 1;
    if (abs(t2 - t1) != 1 && abs(t2 - t1) != 4) len2 = 1;
    if (len1 == len2) {
        cout << "Yes" << endl; 
    } else {
        cout << "No" << endl;
    }
}

int main() {
    solve();
    return 0;
}

C.Repunit Trio(预处理)

题意:

有一个序列,里面每个数字均由若干个 1 1 1组成,如 1 , 11 , 111 , . . . 1, 11, 111,... 1,11,111,...,问任取该序列中的三个数字(每个数字可重复取)加在一起组成的所有数字中第 N N N小的数字是多少?

分析:

先预处理由 1 1 1组成的数字。

然后使用三场循环枚举能组成的数字。

枚举结束后排序去重,并输出第 N N N小的数字即可。

代码:

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

vector<LL> ans, num;

void solve() {
    LL val = 0;
    for (int i = 1; i <= 15; i++) {
        val = val * 10 + 1;
        num.push_back(val);
    }
    for (int i = 0; i <= 14; i++) {
        for (int j = 0; j <= 14; j++) {
            for (int k = 0; k <= 14; k++) {
                ans.push_back(num[i] + num[j] + num[k]);
            }
        }
    }
    ans.push_back(0);//加个0,把存储答案的下标修改为从1开始
    sort(ans.begin(), ans.end());
    int len = unique(ans.begin(), ans.end()) - ans.begin();
    int n;
    cin >> n;
    cout << ans[n] << endl;
}

int main() {
    solve();
    return 0;
}

D.Erase Leaves(贪心)

题意:

给出一棵树,允许进行若干次如下操作:

  • 选择一个叶节点,并将该叶节点删除

问:至少需要操作多少次,才能将节点 1 1 1删除。

分析:

想要让 1 1 1成为叶节点,那么必然需要将1连着的边删除到只剩一条。而想要删除每一条边实际上需要将该边连接的整棵子树全部删除才行,那么最后留下的那条边连接的子树一定为 1 1 1的最大子树。

1 1 1为根节点进行遍历,记录每个节点的子树大小,最后的答案就是连接 1 1 1 k k k棵子树中除最大的子树外的所有子树节点之和,再加上最后删除节点 1 1 1的操作次数。

代码:

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

const int N = 3e5 + 5e2;

vector<int> G[N];
int sz[N];

void dfs(int root, int pre) {
    sz[root] = 1;
    int len = G[root].size();
    for (int i = 0; i < len; i++) {
        int v = G[root][i];
        if (v != pre) {
            dfs(v, root);
            sz[root] += sz[v];
        }
    }
}

vector<int> child;

void solve() {
    int n;
    cin >> n;
    for (int i = 1; i < n; i++) {
        int u, v;
        cin >> u >> v;
        G[u].push_back(v);
        G[v].push_back(u);
    }
    dfs(1, -1);
    int len = G[1].size();
    for (int i = 0; i < len; i++) {
        child.push_back(sz[G[1][i]]);
    }
    sort(child.begin(), child.end());
    int ans = 0;
    for (int i = 0; i < len - 1; i++) {
        ans += child[i];
    }
    cout << ans + 1 << endl;
}

int main() {
    solve();
    return 0;
}

E.F 更新中…

学习交流

以下为学习交流QQ群,群号: 546235402,每周题解完成后都会转发到群中,大家可以加群一起交流做题思路,分享做题技巧,欢迎大家的加入。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】自定义类型:结构体深入解析(一)

&#x1f308;write in front :&#x1f50d;个人主页 &#xff1a; 啊森要自信的主页 ✏️真正相信奇迹的家伙&#xff0c;本身和奇迹一样了不起啊&#xff01; 欢迎大家关注&#x1f50d;点赞&#x1f44d;收藏⭐️留言&#x1f4dd;>希望看完我的文章对你有小小的帮助&am…

springboot 学生信息管理

介绍 一个学生信息管理后台&#xff0c;适用于大作业&#xff0c;课设等 软件架构 springbootmybatisthymeleaf &#xff08;前后端未分离&#xff09; 安装教程 注&#xff1a;mysql数据库要8.0以上&#xff0c;&#xff0c;本地mysql新建一个名为 student 的空数据库&am…

open3d bug:pcd转txt前后位姿发生改变

1、open3d bug&#xff1a;pcd转txt前后位姿发生改变 open3d会对原有结果进行一个微小位姿变换 import open3d as o3d import numpy as np# 读取PCD点云文件 pcd o3d.io.read_point_cloud(/newdisk/darren_pty/zoom_centered_s2.pcd)# 获取点云坐标 points pcd.points# 指定…

4.1 媒资管理模块 - Nacos与Gateway搭建

文章目录 媒资管理模块 - 媒资项目搭建一、需求分析1.1 介绍1.2 数据模型1.3 分析网关 二、 搭建Nacos2.1 服务发现中心2.2.1 Maven2.2.2 配置Nacos 2.2 配置中心2.2.1 介绍2.2.2 Maven 坐标2.2.3 配置 content-api 工程2.2.4 配置 content-service 工程2.2.5 配置 system-api …

如何安装运行Wagtail并结合cpolar内网穿透实现公网访问网站界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS&#xff0c;建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

grafana基本使用

一、安装grafana 1.下载 官网下载地址&#xff1a; https://grafana.com/grafana/download官网包的下载地址&#xff1a; yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.2-1.x86_64.rpm官网下载速度非常慢&#xff0c;这里选择清华大…

Zotero 7 安装并彻底解决“无法安装插件。它可能无法与该版本的 Zotero 兼容“。以及解决“此翻译引擎不可用,可能是密钥错误“的问题

Zotero 7 安装并彻底解决"无法安装插件。它可能无法与该版本的 Zotero 兼容"。以及解决"此翻译引擎不可用&#xff0c;可能是密钥错误"的问题 &#xff01;&#xff01;&#xff01;不要直接在Zotero 6上安装翻译插件&#xff0c;将会版本不兼容&#xff0…

【python】飞机大战

import pygame import random# 敌机出现事件 ENEMY_EVENT pygame.USEREVENT # 发射子弹事件 FIRE pygame.USEREVENT 1class GameSprite(pygame.sprite.Sprite):def __init__(self, image_name, speed1):super().__init__()# 定义对象的属性self.image pygame.image.load(im…

使用IDEA创建springboot依赖下载很慢,解决方法

显示一直在resolving dependencies&#xff0c;速度很慢 原因&#xff1a;maven会使用远程仓库来加载依赖&#xff0c;是一个国外的网站&#xff0c;所以会很慢。应该使用阿里云的镜像&#xff0c;这样速度会提升很多。 步骤&#xff1a;1.右击pom.xml&#xff0c;选择"m…

MFC 窗口创建过程与消息处理

目录 钩子简介 代码编写 窗口创建过程分析 消息处理 钩子简介 介绍几个钩子函数&#xff0c;因为它们与窗口创建工程有关 安装钩子函数 HHOOK SetWindowsHookExA([in] int idHook,[in] HOOKPROC lpfn,[in] HINSTANCE hmod,[in] DWORD dwThreadId ); 参数说明…

前端常见面试题之html和css篇

文章目录 一、html1. 如何理解html语义化2. 说说块级元素和内联元素的区别 二、css1. 盒模型的宽度offsetWidth如何计算2. box-sizing:border-box有什么用3. margin的纵向重叠问题4. 谈谈你对BFC的理解和应用5. 清除浮动有哪些方式6. 使用flex布局实现骰子37.position的absolut…

喜报!巨蟹数科荣获国家“高新技术企业”认定!

根据《高新技术企业认定管理办法》&#xff08;国科发火〔2016〕32 号&#xff09;和《高新技术企业认定管理工作指引》&#xff08;国科发火〔 2016〕195号&#xff09;有关规定&#xff0c;经省高新技术企业认定管理机构组织企业申请、专家评审等程序&#xff0c;并经全国高新…

Linux汇编语言编程-机器语言

机器语言是处理器看到的语言。 在获取-执行周期【fetch-execute cycle 】中获取的字节是机器码的字节。汇编语言可以定义为一种使程序员能够控制机器码的语言。汇编语言指定机器码。如果不熟悉机器语言&#xff0c;汇编语言的这一特性是不明显的。本章介绍 x86 机器码的主要特征…

一句话木马是什么?代码实例及绕过方法

一句话木马是指一种短小的、通常只有一行代码的恶意软件&#xff0c;它被用来在目标系统中执行攻击者的命令或代码。这种类型的木马通常通过各种途径被注入到目标系统中&#xff0c;一旦成功运行&#xff0c;攻击者就可以远程控制受感染的系统。一句话木马的目的包括窃取敏感信…

RPC(3):HttpClient实现RPC之GET请求

1HttpClient简介 在JDK中java.net包下提供了用户HTTP访问的基本功能&#xff0c;但是它缺少灵活性或许多应用所需要的功能。 HttpClient起初是Apache Jakarta Common 的子项目。用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且它支持 H…

关于“Python”的核心知识点整理大全27

目录 10.5 小结 第&#xff11;1 章 测试代码 11.1 测试函数 name_function.py 函数get_formatted_name()将名和姓合并成姓名&#xff0c;在名和姓之间加上一个空格&#xff0c;并将它们的 首字母都大写&#xff0c;再返回结果。为核实get_formatted_name()像期望的那样工…

【超图】SuperMap iClient3D for WebGL/WebGPU ——地形影像

作者&#xff1a;taco 号外&#xff01;号外&#xff01;开新坑了&#xff01;开新坑了&#xff01;对于一个代码小白来讲&#xff0c;设置可能是刚接触开发的人&#xff08;还没接触准备接触&#xff09;的人来说。对于读代码或是在对产品的使用上会存在许许多多的疑惑。接下来…

uniapp笔记

/pages/component/swiper/swiper /pages/component/button/button navigator image 设置界面标题 页面跳转 设置TabBar 发起一个请求 网络请求

计算机组成原理——中央处理器cpu1-20

1、中央处理器&#xff08;CPU&#xff09;是指什么。C A、 运算器 B、 控制器 C、 运算器和控制器 D、 运算器、控制器和主存储器 2、在CPU中跟踪指令后继地址的寄存器是什么。B A、 主存地址寄存器 B、 程序计数器 C、 指令寄存器 D、 状态条件寄存器 3、操作控制器的…

VR党建:VR全景技术如何助力党建知识传播

导语&#xff1a; 随着科技的不断发展&#xff0c;虚拟现实技术逐渐深入人们生活的方方面面。VR全景技术作为一种全新的沉浸式体验方式&#xff0c;被广泛应用于娱乐、教育、医疗等领域。而在党建学习中&#xff0c;VR全景技术也展现出了巨大的潜力&#xff0c;成为了一种创新…