随笔分类 - 数组
摘要:解题思路 这道题目要求我们找到一种最优的攻击顺序,使得游戏结束时剩余的怪兽数量最少。通过分析题目规则,我们可以发现关键在于如何最大化消灭怪兽的数量。 方法思路 统计频率:统计每个攻击力/防御力值的出现次数 找出最大值:剩余怪兽的最小数量等于出现次数最多的那个攻击力/防御力值的出现次数 数学推导:因为
阅读全文
摘要:#include<bits/stdc++.h> using namespace std; int vis[1010],a[1010]; int n,d; int main() { cin >> n >> d; for(int i = 1; i <= d; i++) { cin >> a[i]; //
阅读全文
摘要:解题思路 这道题目要求找出未到达集合地点的同学编号。已知班级有N位同学,编号从0到N-1,M次报数中可能包含重复报数,需要确定哪些编号从未被报出过。 方法思路 标记数组法:使用一个标记数组vis来记录哪些编号已经被报出过。数组的索引代表同学编号,数组的值表示该编号是否被报出过(1表示已报出,0表示未
阅读全文
摘要:解题思路 这道题目要求根据输入的学号查询对应的分数,如果学号不存在则输出"Not found"。关键在于如何高效地存储和查询学号与分数的对应关系。 方法思路 标记数组法:使用一个标记数组vis来存储学号和分数的对应关系。数组的索引代表学号,数组的值表示该学号对应的分数。 输入处理: 首先读取学生人数
阅读全文
摘要:解题思路 这道题目要求找出数组中出现次数最多的数字(众数),如果有多个数字出现次数相同且都是最多,则输出其中最小的那个数字。 方法思路 标记数组法:使用一个标记数组vis来记录每个数字出现的次数。数组的索引代表数字本身,数组的值表示该数字出现的次数。 输入处理:读取数组长度n,然后读取n个数字,每读
阅读全文
摘要:解题思路 这道题目要求判断一个数字m是否在一个给定的数组中出现过。解题的关键在于如何高效地进行查询。 方法思路 标记数组法:我们可以使用一个标记数组vis来记录哪些数字出现过。数组的索引代表数字本身,数组的值表示该数字是否出现过(1表示出现过,0表示未出现过)。 输入处理:首先读取数组长度n,然后读
阅读全文
摘要:解决思路 计算总和:首先计算所有神秘物品的神秘指数和 sum。 枚举分组数:从 n 开始枚举分组数 i,尝试将神秘物品分成 i 组。 检查分组可行性:对于每个分组数 i,检查是否可以将神秘物品分成 i 组且每组的神秘指数和相同。 输出结果:找到最小的可行分组数 i,输出每组的神秘指数和。 #incl
阅读全文
摘要:一、第一种类型题,普遍是简单运算 计算球的体积V=4/3πr^3,输入球的半径r,求出体积保留3位小数 #include<bits/stdc++.h> using namespace std; int main() { double pi = 3.14,r,v; cin>>r; v = 4/3.0*
阅读全文
摘要:一、C++基本语法 变量名是由字母、数字和下划线字符组成,并且开头不能是数字。大小写不同的变量是不同的。变量名不能是关键字,如for、if等都是不能作为变量名的 C++基本的数据类型是整型int、浮点型float/double、字符型char、字符串string、bool布尔型,除此外还有长整型lo
阅读全文
摘要:一维数组 前言: 在前面的课程中其实已经学习过将数据通过等于号赋值到变量中,甚至还可以通过循环来实现多次重复地输入不同的数据到变量中,但是,从始至终,我们能存储下来的数据只有那几个变量而已,例如 int a,b,c; for(int i=1;i<=10000;i++) cin>>a>>b>>c; 可
阅读全文

浙公网安备 33010602011771号