第六届 传智杯初赛B组
文章目录
- A. 字符串拼接
- 🍻 AC code
- B. 最小差值
- 🍻 AC code
- C. 红色和紫色
- 🍻 AC code
- D. abb
- 🍻 AC code
- E. kotori和素因子
- 🍻 AC code
- F. 红和蓝
- 🍻 AC code
🥰 Tips:AI可以把代码从 java 转成其他语言的版本,思路比语言更重要。
A. 字符串拼接
👨🏫 题目地址

🍻 AC code
#include <iostream>
using namespace std;int main() {string a, b;getline(cin,a);getline(cin,b);cout << a + b << endl;return 0;
}
B. 最小差值
👨🏫 参考地址
🍻 AC code
import java.util.*;
import java.io.*;public class Main {static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));public static void main(String[] args) throws NumberFormatException, IOException {int n = Integer.parseInt(in.readLine());int[] a = new int[n];String[] ss = in.readLine().split(" ");for(int i =0; i < n; i++)a[i] = Integer.parseInt(ss[i]);Arrays.sort(a);//排序int min = Integer.MAX_VALUE;for(int i =1; i < n; i++)min = Math.min(min, a[i]-a[i-1]);//算差值out.write(min + "");out.flush();}
}
C. 红色和紫色
👨🏫 题目地址

🍻 AC code
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();long ans = (long)n*m;if(ans % 2 == 0)System.out.println("yukari");else {System.out.println("akai");}}
}
D. abb
👨🏫 题目地址
🐷 思路:统计字符串中 a~z 每个字符出现的次数存在 cnt 数组中,根据题意,从前往后枚举 abb中的 a,没枚举一位就减去当前位上的字符数量,这样 cnt[ ] 的字符数量就是当前位往后的字符出现次数了,根据 cnt[ ] 来计算 abb中的bb的情况,使用组合数公式即可
C n m = n ! ( n − m ) ! × m ! C_n^m = \frac{n!}{(n-m)!\times m!} Cnm=(n−m)!×m!n!
🍻 AC code
import java.util.*;
import java.io.*;public class Main {static long mod = (int)1e9+7;static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));static int N = (int)1e5+10;static int[] cnt = new int[256];//统计字母出现次数// C(x,2) = x! / 2! (引以为戒)
// C(x,2) = x! / (2! * (x-2)!) = x * x -1 / 2private static long cal(int x) {long ans = x*(x-1)/2;return ans;}public static void main(String[] args) throws IOException {int n = Integer.parseInt(in.readLine());String s = in.readLine();char[] a = s.toCharArray();n = a.length;long ans = 0;for(int i = 0; i < n; i++)cnt[a[i]]++;for(int i = 0; i < n-1; i++){char c = a[i];cnt[c]--;for(int j = 'a'; j <= 'z'; j++){if(j == c)continue;if(cnt[j] >= 2) {{long t = cal(cnt[j]) % mod;ans += t;}}}}out.write(ans+"\n");out.flush();}
}
E. kotori和素因子
👨🏫 题目地址
🐷 思路:先预处理出 0 到 1000 的所有质数,接着找到每个整数的所有质数因子存在因子数组中。根据题意,每个整数需要选出独一无二质因子,由于数据范围比较小 1 ≤ n ≤ 10 1 \le n \le 10 1≤n≤10,所以可以直接 dfs 枚举每个整数选取哪个质因子。
🍻 AC code
import java.util.*;public class Main {static int N = 15,n,INF = 0x3f3f3f3f;static int[] a = new int[N];//整数数组static int[] p = new int[300];//存2~1000的质数static int cnt = 0;//2~1000的质数个数static ArrayList[] factors = new ArrayList[N];//存每个整数的质因数
// static boolean[] st = new boolean[N];static HashSet<Integer> st = new HashSet<>();//记录已经使用过的质数(st:state 状态)static int ans = INF;//答案public static void main(String[] args) {getPrimes();Scanner sc = new Scanner(System.in);n = sc.nextInt();for(int i =0; i < n; i++){factors[i] = new ArrayList<Integer>();a[i] = sc.nextInt();ArrayList<Integer> t = cal(a[i]);factors[i] = t;}dfs(0,0);if(ans != INF)System.out.println(ans);else {System.out.println(-1);}}// x 表示当前搜索到的第几个整数private static void dfs(int x,int sum) {if(x == n){ans = Math.min(sum, ans);return;}ArrayList<Integer> ls = factors[x];boolean flag = false;for(Integer xx : ls){if(st.contains(xx))continue;flag = true;st.add(xx);dfs(x+1, sum + xx);st.remove(xx);}if(!flag)return;}// 返回 x 的所有质因数private static ArrayList<Integer> cal(int x) {ArrayList<Integer> ans = new ArrayList<Integer>();for(int i = 0; i < cnt; i++)if(x % p[i] == 0)ans.add(p[i]);return ans; }// 预处理质数数组private static void getPrimes() {p[cnt++] = 2;for (int i = 3; i <= 1000; i++)if (isP(i))p[cnt++] = i;}// 判断x是否为质数private static boolean isP(int x) {for(int i = 2; i*i <= x; i++)if(x % i == 0)return false;return true;}
}
F. 红和蓝
👨🏫 题目地址
🐷 思路:如果叶子结点为一种颜色时,它的周围只有其父亲结点,所以父亲结点必须和它同色
🍻 AC code
import java.util.*;
import java.io.*;public class Main {static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));static int N = 200010,n,idx;
// 以无向图的邻接表形式存树static int[] h = new int[N];static int[] e = new int[N];static int[] ne = new int[N];static int[] cnt = new int[N];//存储每个节点包含多少个叶子节点(要求当前节点同色的节点)static int[] sz = new int[N];//存储每个节点所包含的子树的节点数量// 加边函数static void add(int a,int b){e[idx] = b;ne[idx] = h[a];h[a] = idx++;}// u表示当前节点,p表示父结点static boolean dfs(int u,int p){sz[u] = 1;//初始化为1,表示当前节点自身for(int i = h[u]; i != -1; i = ne[i]){int j = e[i];if(j == p)continue;//存的是无向边,特判 父 --> 子 --> 父 的情况if(!dfs(j, u))return false;sz[u] += sz[j];//子树节点数量累加到当前节点的sz值上if((sz[j] & 1 )== 1)//当子树j的结点数为奇数时,当前节点u必须与节点j同色cnt[u]++;}if(cnt[u] > 1 )//两个叶子节点要求同色,无解return false;return true;}static int[] ans = new int[N];//答案数组
// 再跑一次搜索染色,0表示红色R,1表示蓝色B
// u表示当前节点,p表示父结点, c表示颜色static void dfs2(int u,int p,int c){ans[u] = c;for(int i = h[u]; i != -1; i = ne[i]){int j = e[i];if(j == p)continue;if((sz[j] & 1) == 1)dfs2(j, u, c);else {dfs2(j, u, 1-c);}}}public static void main(String[] args) throws Exception {Arrays.fill(h, -1);n = Integer.parseInt(in.readLine());for(int i = 1; i < n; i++){String[] ss = in.readLine().split(" ");int a = Integer.parseInt(ss[0]);int b = Integer.parseInt(ss[1]);add(a, b);add(b, a);}if(n % 2 == 1){System.out.println(-1);System.exit(0);}if(!dfs(1, -1)){System.out.println(-1);return;}dfs2(1, -1, 0);for(int i = 1; i <= n; i++)System.out.print(ans[i] == 0 ? "R" : "B");
// if(ans[i] != 0)
// System.out.print("B");
// else {
// System.out.print("R");
// }}
}相关文章:
第六届 传智杯初赛B组
文章目录 A. 字符串拼接🍻 AC code B. 最小差值🍻 AC code C. 红色和紫色🍻 AC code D. abb🍻 AC code E. kotori和素因子🍻 AC code F. 红和蓝🍻 AC code 🥰 Tips:AI可以把代码从 j…...
文档向量化工具(二):text2vec介绍
目录 前言 text2vec开源项目 核心能力 文本向量表示模型 本地试用 安装依赖 下载模型到本地(如果你的网络能直接从huggingface上拉取文件,可跳过) 运行试验代码 前言 在上一篇文章中介绍了,如何从不同格式的文件里提取…...
vscode中pylance无法显示outline无法跳转
当打开的workspce中有较多的文件时,pylance需要分析的文件太多,导致卡住,无法分析到对应的python文件 常见的情况是,当我们在workspace中包含了data文件夹(通常是通过软连接方式把数据集链接过来)…...
番外篇之通讯录
前言:用到的知识点有枚举、结构体、数组,快速排序(用的名字排序) 下面是测试函数: test.c #define _CRT_SECURE_NO_WARNINGS 1 #include"contact.h" void menu() {printf("*************************…...
学生信息管理系统程序Python
系统主界面 在该界面中可以选择要使用功能对应的菜单进行不同的操作。在选择功能菜单时,有两种方法, 一种是输入1,另一种是按下键盘上的↑或↓方向键进行选择。这两种方法的结果是一样的,所以使用哪种方法都可以。 (…...
[js] for forEach for of 循环里await关键字的用法
1、for:循环中使用await的写法(生效) async function loop(){for( let i0; i<array.length; i ){let datas await getDatas()break} }2、forEach:循环中使用await的写法(不生效): array.f…...
Linux面试题(二)
目录 17、怎么使一个命令在后台运行? 18、利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息? 19、哪个命令专门用来查看后台任务? 20、把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令? 21、终止进程用什么命令…...
电源控制系统架构(PCSA)之系统控制处理器组件
目录 6.4 系统控制处理器 6.4.1 SCP组件 SCP处理器Core SCP处理器Core选择 SCP处理器核内存 系统计数器和通用计时器 看门狗 电压调节器控制 时钟控制 系统控制 信息接口 电源策略单元 传感器控制 外设访问 系统访问 6.4 系统控制处理器 系统控制处理器(SCP)是…...
《已解决: ImportError: Keras requires TensorFlow 2.2 or higher 问题》
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂🦖…...
在 CentOS 7 上安装 MySQL 8
在 CentOS 7 上安装 MySQL 8 步骤 1: 添加 MySQL Yum 存储库 首先,我们需要添加 MySQL Yum 存储库。打开终端并执行以下命令: sudo yum install -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm步骤 2: 导入 MySQL GPG 公钥 …...
从二极管到linux服务器
软件设计: os: 批处理系统: 轮询系统:单片机裸机开发 实时系统:ucosii,rtos,rt-thread、风和系统、liteos(主要是海思系列soc在用)等 非实时系统:linux 对os任务切换时寄存器的功能有理解。 对ipc机制有理解。 bsp: 需要对寄存器、单片机内部总线、iic、spi、uart、c…...
设计模式-16-Spring源码中的设计模式
1-Spring之观察者模式 Java、Google Guava都提供了观察者模式的实现框架。Java提供的框架比较简单,只包含java.util.Observable和java.util.Observer两个类。Google Guava提供的框架功能比较完善和强大:通过EventBus事件总线来实现观察者模式。实际上&am…...
Leetcode 2948. Make Lexicographically Smallest Array by Swapping Elements
Leetcode 2948. Make Lexicographically Smallest Array by Swapping Elements 1. 解题思路2. 代码实现 题目链接:2948. Make Lexicographically Smallest Array by Swapping Elements 1. 解题思路 这一题其实思路上就是分组排序,显然,对于…...
[计算机网络]应用层概述
0.写在前面: 该层为教学模型的最后一层,某种意义上来说是最接近各位开发者的一层,正因如此,这层中的很多定义和概念大家都有属于自己的理解, 完全按照书本反而才是异类,因此在这里我会去结合我做前端开发的一些经验,来处理和讲解一些概念,另外本层中的部分协议也不会过多阐述了…...
《已解决:TypeError: unhashable type: ‘slice‘ 问题》
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂🦖…...
Rust UI开发(二):iced中如何为窗口添加icon图标
注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 想要了解如何构建简单窗口的可以看本系列的第一篇: Rust UI开发:使用iced构建UI时,如何在界面显示中文字符 本篇是系…...
Django(十一、auth认证模块)
文章目录 一、auth介绍auth认证相关模块及操作扩展auth_user表 一、auth介绍 Django自带一个admin路由,但是需要我们提供管理员账户和密码,如果想要使用admin后台管理,需要先创建表,然后创建管理员账户。 直接执行数据类迁移命令…...
WebSocket了解
一.什么是WebSocket WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议 二.websocket的原理 web…...
深度学习基础概念
1. 神经网络基础 神经元(Neuron): 了解神经网络的基本组成单元。激活函数(Activation Function): 学习常见的激活函数,如Sigmoid、ReLU等,以及它们在神经网络中的作用。前馈神经网络…...
vatee万腾科技先锋之选:vatee创新力驱动着未来发展
在科技潮流的浩荡前行中,Vatee万腾崭新的科技先锋之选正以强大的创新力引领着未来的发展。Vatee万腾凭借其前瞻性的技术理念和卓越的创新实践,成为业界的引领者,为整个科技行业树立了标杆。 Vatee万腾不仅仅是一家科技公司,更是一…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
HTML前端开发:JavaScript 常用事件详解
作为前端开发的核心,JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例: 1. onclick - 点击事件 当元素被单击时触发(左键点击) button.onclick function() {alert("按钮被点击了!&…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
