Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333)

A - Three Threes

题目大意:给你一个整数n,将这个数n输出n次。

呃呃

B - Pentagon

题目大意:给你一个正五边形ABCDE,给你任意两条边,判断是否相等

主要问题要判断一下内边:AD,AC,EB,EC,DB之间的关系,因为内边的夹角都相等,边也都相等(正五边形),所以内边都相等。要证明也可以画辅助线来证明,但是这显而易见,就不证明了。

#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define fr first
#define se second
#define endl '\n'
using namespace std;string s1,s2;void yes(){cout<<"Yes"<<endl;
}
void no(){cout<<"No"<<endl;
}void solve(){cin>>s1>>s2;if(s1[1]<s1[0])swap(s1[0],s1[1]);//线段表示模式改成前面小端点后面大端点if(s2[1]<s2[0])swap(s2[0],s2[1]);//可以少判断一半if(s1=="AB" or s1=="BC" or s1=="CD" or s1=="DE" or s1=="AE"){//任意外边相等if(s2=="AB" or s2=="BC" or s2=="CD" or s2=="DE" or s2=="AE")return yes();return no();}if(s1=="AC" or s1=="AD" or s1=="BE" or s1=="CE" or s1=="BD"){//任意内边相等if(s2=="AC" or s2=="AD" or s2=="BE" or s2=="CE" or s2=="BD")return yes();return no();}
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;while(t--)solve();return 0;
}

C - Repunit Trio

题目大意:对于序列{1,11,111,1111,...},后面类推。你可以任意选取三个相加(选取的数可以重复,但是选取的方案不能重复)来组成一个数x,对于新序列(升序){x1,x2,x3,x4,...},给你一个n,输出xn。

思路:因为n的范围只有333,所以可以直接暴力枚举所有相加方案,防止重复枚举开个set来存。

#include <bits/stdc++.h>
#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define fr first
#define se second
#define endl '\n'
using namespace std;vector<int>v;
set<int>s;
int cnt=1,n;void solve(){cin>>n;v.push_back(1);v.push_back(11);v.push_back(111);v.push_back(1111);v.push_back(11111);v.push_back(111111);v.push_back(1111111);v.push_back(11111111);v.push_back(111111111);v.push_back(1111111111);v.push_back(11111111111);v.push_back(111111111111);for(int i=0;i<v.size();++i)for(int j=0;j<v.size();++j)for(int k=0;k<v.size();++k)s.insert(v[i]+v[j]+v[k]);for(auto i:s){if(cnt==n){cout<<i;break;}cnt++;}
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;while(t--)solve();return 0;
}

D - Erase Leaves

题目大意:给你一颗树,每次你可以删去一个叶子节点,把节点1删掉至少要删掉多少个节点。

思路:因为只能删叶子节点,所以要把节点1删掉的话,要把节点1先变成叶子节点。

假设节点1的儿子有:2,3,4

那么只要删掉任意两个儿子,节点1就可以变成叶子节点了。

所以我们只需要删掉节点1周围的所有子树,然后加回最多节点数的子树即可。

#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define fr first
#define se second
#define endl '\n'
using namespace std;const int N=3e5+5;
int n,u,v,f[N],maxx=INT_MIN,ans=1;//注意此处ans=1,初始化默认节点1已经被删了
vector<int>e[N];void dfs(int now,int fa){//求出每个节点下面都有多少个节点(包含自己)for(auto son:e[now])if(son!=fa){dfs(son,now);f[now]+=f[son];}
}void solve(){cin>>n;per(i,1,n-1){cin>>u>>v;e[u].push_back(v);e[v].push_back(u);}per(i,1,n)f[i]=1;//初始化为1(即包含自己)dfs(1,1);for(auto son:e[1]){//遍历节点1的儿子maxx=max(maxx,f[son]);//记录最大的子树ans+=f[son];//全部删了}cout<<ans-maxx<<endl;//加回最大的子树
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;while(t--)solve();return 0;
}

E - Takahashi Quest

吐槽:看到这种题目格式还以为是dp题,实际上没那么难

题目大意:高桥将会经历n个事件,每个事件可以描述为ti,xi。

如果ti=1,那么这里有一瓶xi药,可以用来对付xi怪

如果ti=2,那么这里有一个xi怪

在所有怪都被干掉的情况下,希望任意时刻高桥包里带的药的数量的最大值尽可能小

最大值尽可能小:比如高桥可以带10瓶药来干掉5个怪,但是实际上只要5瓶药就可以了。

任意时刻:1药 1药 1怪 1药 1怪 1药,我们可以拿前面两个药来解决后面两个怪,但是这样任意时刻的最大值会变成2,然而实际上这个值为1就可以过关,每次拿一个药来干一个怪。

思路:贪心,带后悔的贪心。

因为任意时刻的最大值要尽可能小,所以我们能不带药就不带药,因为可能还会遇到怪,所以我们需要后悔前面某个不带药的时间节点,来干掉怪。

这个某个节点要尽可能选后面的,如果选前面的就会出现题目大意中说到的那个问题。

因为需要后悔,所以要保留所有药。因为尽可能要选后面的,可以开栈来维护所有药。

#include <bits/stdc++.h>
//#define int long long
#define per(i,j,k) for(int (i)=(j);(i)<=(k);++(i))
#define rep(i,j,k) for(int (i)=(j);(i)>=(k);--(i))
#define fr first
#define se second
#define endl '\n'
using namespace std;const int N=2e5+5;
int n,t[N],x[N],ans,tmp;
bool take[N];
stack<int>q[N];//q[i]={j},药效为i的药{j}void no(){cout<<-1<<endl;
}void solve(){cin>>n;per(i,1,n)cin>>t[i]>>x[i];per(i,1,n){if(t[i]==1)q[x[i]].push(i);else{if(q[x[i]].empty())return no();else{take[q[x[i]].top()]=true;q[x[i]].pop();}}}per(i,1,n){if(t[i]==1 and take[i])tmp++;else if(t[i]==2)tmp--;ans=max(ans,tmp);}cout<<ans<<endl;per(i,1,n){if(t[i]==1)cout<<take[i]<<" ";}
}signed main(){ios::sync_with_stdio(false),cin.tie(nullptr);int t=1;while(t--)solve();return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIT6.5840-2023-Lab2C: Raft-Persistence

前置知识 见上一篇 Lab2A。 实验内容 实现 RAFT&#xff0c;分为四个 part&#xff1a;leader election、log、persistence、log compaction。 实验环境 OS&#xff1a;WSL-Ubuntu-18.04 golang&#xff1a;go1.17.6 linux/amd64 Part 2C: persistence 大部分的bug都与这…

KubeKey 离线部署 KubeSphere v3.4.1 和 K8s v1.26 实战指南

作者&#xff1a;运维有术 前言 知识点 定级&#xff1a;入门级了解清单 (manifest) 和制品 (artifact) 的概念掌握 manifest 清单的编写方法根据 manifest 清单制作 artifactKubeKey 离线集群配置文件编写KubeKey 离线部署 HarborKubeKey 离线部署 KubeSphere 和 K8sKubeKey…

C++初阶-list类的模拟实现

list类的模拟实现 一、基本框架1.1 节点类1.2 迭代器类1.3 list类 二、构造函数和析构函数2.1 构造函数2.2 析构函数 三、operator的重载和拷贝构造3.1 operator的重载3.2 拷贝构造 四、迭代器的实现4.1 迭代器类中的各种操作4.1 list类中的迭代器 五、list的增容和删除5.1 尾插…

javacv的视频截图功能

之前做了一个资源库的小项目&#xff0c;因为上传资源文件包含视频等附件&#xff0c;所以就需要时用到这个功能。通过对视频截图&#xff0c;然后作为封面缩略图&#xff0c;达到美观效果。 首先呢&#xff0c;需要准备相关的jar包&#xff0c;之前我用的是低版本的1.4.2&…

Tomcat-安装部署(源码包安装)

一、简介 Tomcat 是由 Apache 开发的一个 Servlet 容器&#xff0c;实现了对 Servlet 和 JSP 的支持&#xff0c;并提供了作为Web服务器的一些特有功能&#xff0c;如Tomcat管理和控制平台、安全域管理和Tomcat阀等。 简单来说&#xff0c;Tomcat是一个WEB应用程序的托管平台…

基于Nexus搭建Maven私服基础入门

什么是Nexus&#xff1f;它有什么优势&#xff1f; 要了解为什么需要nexus的存在&#xff0c;我们不妨从以下几个问题来简单了解一下: 为什么需要搭建私服&#xff1f;如果没有私服会出现什么问题&#xff1f; 对于企业开发而言&#xff0c;如果没有私服&#xff0c;我们所有…

十九)Stable Diffusion使用教程:ai室内设计案例

今天我们聊聊如何通过SD进行室内设计装修。 方式一:controlnet的seg模型 基础起手式: 选择常用算法,抽卡: 抽到喜欢的图片之后,拖到controlnet里: 选择seg的ade20k预处理器,点击爆炸按钮,得到seg语义分割图,下载下来: 根据语义分割表里的颜色值,到PS里进行修改: 语…

SoloLinker第一次使用记录,解决新手拿到板子的无所适从

本文目录 一、简介二、进群获取资料2.1 需要下载资料2.2 SDK 包解压 三、SDK 编译3.1 依赖安装3.2 编译配置3.3 启动编译3.4 编译后的固件目录 四、固件烧录4.1 RV1106 驱动安装4.2 打开烧录工具4.3 进入boot 模式&#xff08;烧录模式&#xff09;4.4 烧录启动固件4.5 烧录升级…

大型网站架构演进过程

架构演进 大型网站的技术挑战主要来自于庞大的用户&#xff0c;高并发的访问和海量的数据&#xff0c;任何简单的业务一旦需要处理数以P计的数据和面对数以亿计的用户&#xff0c;问题就会变得很棘手。大型网站架构主要就是解决这类问题。 架构选型是根据当前业务需要来的&…

RRC下的NAS层

无线资源控制&#xff08;Radio Resource Control&#xff0c;RRC&#xff09;&#xff0c;又称为无线资源管理&#xff08;RRM&#xff09;或者无线资源分配&#xff08;RRA&#xff09;&#xff0c;是指通过一定的策略和手段进行无线资源管理、控制和调度&#xff0c;在满足服…

数据库 02-03 补充 SQL的子查询(where,from),子查询作为集合来比较some,exists,all(某一个,存在,所有)

子查询&#xff1a; where字句的子查询&#xff1a; 通常用in关键字&#xff1a; 举个例子&#xff1a; in关键字&#xff1a; not in 关键字&#xff1a; in 也可以用于枚举集合&#xff1a; where中可以用子查询来作为集合来筛选元祖。 some&#xff0c;all的运算符号…

Spring cloud - 断路器 Resilience4J

其实文章的标题应该叫 Resilience4J&#xff0c;而不是Spring Cloud Resilience4J&#xff0c;不过由于正在对Spring cloud的一系列组件进行学习&#xff0c;为了统一&#xff0c;就这样吧。 概念区分 首先区分几个概念 Spring cloud 断路器&#xff1a;Spring Cloud的官网对…

elementui + vue2实现表格行的上下移动

场景&#xff1a; 如上&#xff0c;要实现表格行的上下移动 实现&#xff1a; <el-dialogappend-to-bodytitle"条件编辑":visible.sync"dialogVisible"width"60%"><el-table :data"data1" border style"width: 100%&q…

Flutter在Visual Studio Code上首次创建运行应用

一、创建Flutter应用 1、前提条件 安装Visual Studio Code并配置好运行环境 2、开始创建Flutter应用 1)、打开Visual Studio Code 2)、打开 View > Command Palette。 3)、在搜索框中输入“flutter”&#xff0c;弹出内容如下图所示&#xff0c;选择“ Flutter: New Pr…

12345、ABCDE项目符号列表文字视频怎么制作?重点内容介绍PR标题模板项目工程文件

Premiere模板&#xff0c;包含10个要点标题12345、ABCDE项目符号列表文字模板PR项目工程文件。可以根据自己的需要定制颜色。在视频的开头、中间和结尾使用。包括视频教程。 适用软件&#xff1a;Premiere Pro 2019 | 分辨率&#xff1a;19201080 (HD) | 文件大小&#xff1a;9…

Visual Studio 2022封装C代码为x64和x86平台动态库

1.引言 本文介绍如何使用Visual Studio 2022将C语言函数封装成x64和x86平台上使用的动态链接库(dll文件)并生成对应的静态链接库(lib文件)&#xff0c;以及如何在C程序中调用生成的dll。 程序下载&#xff1a; 2.示例C语言程序 假设需要开发一个动态链接库&#xff0c;实现复…

CleanMyMac X2024(Mac优化清理工具)v4.14.5中文版

CleanMyMac X是一款颇受欢迎的专业清理软件&#xff0c;拥有十多项强大的功能&#xff0c;可以进行系统清理、清空废纸篓、清除大旧型文件、程序卸载、除恶意软件、系统维护等等&#xff0c;并且这款清理软件操作简易&#xff0c;非常好上手&#xff0c;特别适用于那些刚入手苹…

提升英语学习效率,尽在Eudic欧路词典 for Mac

Eudic欧路词典 for Mac是一款专为英语学习者打造的强大工具。无论您是初学者还是高级学习者&#xff0c;这款词典都能满足您的需求。 首先&#xff0c;Eudic欧路词典 for Mac具备丰富的词库&#xff0c;涵盖了各个领域的单词和释义。您可以轻松查询并学习单词的意思、用法和例…

数据泄露警报:不同行业危机解析与迅软DSE的拯救之道

在如今全球信息数字化不断加速的时代里&#xff0c;数据资料的价值更为突出&#xff0c;根据IBM数据显示&#xff0c;数据泄露的平均成本接近440万美元。一旦泄露可能意味着丢失信息、声誉受损&#xff0c;并可能导致延误和生产力损失。那么不同行业一旦发生了数据泄露将会面临…

大 O 表示法在机器学习中的重要性

一、介绍 在不断发展的机器学习领域&#xff0c;算法的效率至关重要。大 O 表示法成为这方面的一个关键工具&#xff0c;它提供了一种描述算法性能或复杂性的语言&#xff0c;特别是在时间和空间方面。本文探讨了 Big O 表示法在机器学习中的重要性&#xff0c;阐明了它在算法选…