- 博客(24)
- 收藏
- 关注
原创 2023 RoboCom 世界机器人开发者大赛-本科组(省赛) CAIP 完整版题解
第一题:模拟第二题:模拟第三题:手算第四题:bfs第五题:dp
2023-07-15 17:42:28
7656
19
原创 2023第十四届蓝桥杯C/C++B组省赛题解
这个炉子有一个称作转换率的属性V,V 是一个正整数,这意味着消耗V 个普通金属O 恰好可以冶炼出一个特殊金属X,当普通金属O 的数目不足V 时,无法继续冶炼。所以在地图周围一圈, 我们增加一圈0作为外海, dfs遍历外海每一个方格, 若与外海方格相邻的岛屿未被遍历过,那么这就是一个新的岛屿, 再用一个dfs去遍历这个岛。地图外的方格我们全部视为海, 与地图外的海连通的海都视为外海, 可以发现, 接触到了外海的岛屿, 就一定不是其它岛屿的子岛。对于每一条记录, 都可以求出转换率V的一个取值范围。
2023-04-09 16:29:18
9573
10
原创 字符串哈希
不难分析得到, 由于PQ是回文字符串, 则P中长度等于Q的前缀应该与Q成倒序关系, 设这个前缀为P1, P中除去P1的后半部分为P2。在上述哈希函数中, P选取为131(此质数在先人的实验中表现最好, 不容易发生冲突), 而hashCode更是以幂级增长的, 因此很容易就溢出, 需要对其进行取模。,其中n为串长,与暴力匹配没有区别,如果需要多次询问一个字符串的子串的哈希值,每次重新计算效率非常低下。因此可以用两个字符串的。因此可以使用特别的哈希函数, 使用字符串前缀的哈希值而推出任一连续子串的哈希值。
2022-09-08 16:47:15
2002
1
原创 有点学问的缩进风格
缩进风格是代码风格的一部分, 是自发形成的一种约定, 用控制代码块缩进的方式传达程序的结构。缩进大小和大括号位置。永远不存在所谓正确的缩进风格, 最重要的事情是在整个程序中都保持一致的代码风格。
2022-08-19 18:21:10
732
原创 2022 RoboCom 世界机器人开发者大赛-本科组(省赛) CAIP 完整版题解
哲哲最近在玩一个游戏,击杀怪物能获得金币 —— 这里记击杀第 i 个怪物获得的金币数量为 Pi。然而这个游戏允许拥有的金币数量是有上限的,当超过时,超过上限的部分就会被系统光明正大地吃掉,哲哲就拿不到了。为了不浪费金币,哲哲决定,当下一个要击杀的怪物可获得的金币会导致自己拥有的金币数量超过上限时,就去消费一次,把自己已有的金币全部用完。现在给定哲哲将要击杀的一系列怪物对应的金币数量,请你计算一下哲哲去消费了几次。输入格式:输入第一行是两个整数 N,M (1≤N≤1e3 ,1≤M≤1e6),表示击杀的怪物数
2022-07-13 21:17:57
8236
19
原创 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)RC-u4 攻略分队 (已完结)
副本是游戏里的一个特色玩法,主要为玩家带来装备、道具、游戏资源的产出,满足玩家的游戏进程。在 MMORPG《最终幻想14》里,有一个攻略人数最大达到 56 人的副本“巴尔德西昂兵武塔”,因为有在副本里死亡不能复活、机制比较整蛊等特点,一度被玩家视作洪水猛兽。在副本的开始,我们会遇到第一个难关:攻略的玩家要分为两组,同时讨伐副本 BOSS “欧文”和“亚特”。已知以下信息:我们的任务是合理安排玩家的分组,以最大程度增加副本通过概率。分组的原则如下:如果满足上述原则的分组方案不唯一,则按照下列规则确定唯一解:注
2022-07-13 20:46:38
1060
4
原创 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-- 第五题 树与二分图 (已完结)
现在给定一棵树 T,要求选择树中两个没有边相连的结点 i 和 j,使得将无向边 (i,j) 加进 T 后能够构成二分图。你的任务是计算满足这个要求的选择方案有多少种。输入格式:输入第一行给出一个正整数 N (2≤N≤1e6),表示树中结点的个数。接下来 N−1 行,每行给出树中一条边的两端结点编号,以空格分隔。结点编号从 1 开始。题目保证输入给出的是一棵树中所有的边。输出格式:在一行中输出方案数。注意:连接 (1,2) 和 (2,1) 视作同一个方案。输入样例:71 22 32 42 52
2022-07-12 10:51:43
1040
3
原创 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-- 第三题 跑团机器人 (已完结)
在桌面角色扮演游戏(TRPG,俗称“跑团”)中,玩家需要掷出若干个骰子,根据掷出的结果推进游戏进度。在线上同样可以跑团,方法是由玩家们向机器人发出指令,由机器人随机产生每个需要掷出的骰子的结果。玩家向机器人发出的指令是一个仅涉及加法和减法的表达式,即对若干个数字进行一系列加法或减法计算。这些数字可以是直接给出的非负整数(数字不超过 1000),也可以是若干个骰子掷出的结果。“掷骰子”这个动作对应的指令格式为 xdy,表示摇动 x 个 y 面的骰子(1≤x≤1000,2≤y≤1000)。当 x 为 1 时,1
2022-07-12 10:50:07
2138
4
原创 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)-- 第二题 智能服药助手 (已完结)
智能看护中很重要的环节是安排需要服药的老年人的服药计划。已知机器人需要照顾的某位老年人需要服用 N 种药物,但某些药物不宜间隔过短服用 —— 比如降糖药一般遵医嘱日服 3 次,两次之间需要间隔至少 4 小时。当需要服用的药物比较多,医嘱比较复杂时,如何保证每位老人的服药计划是安全合理的,就成为一个挑战。本题给定一套服药计划,请你检查一下计划是否存在问题。输入格式:输入第一行给出两个整数 N,M(1≤N,M≤1e3),表示老人需要服用 N 种药物(药物种类从 1 到 N 编号),对应的服药计划有 M 条记录
2022-07-12 10:46:59
1728
2
原创 2022 RoboCom 世界机器人开发者大赛-本科组(省赛)---第一题 不要浪费金币 (已完结)
哲哲最近在玩一个游戏,击杀怪物能获得金币 —— 这里记击杀第 i 个怪物获得的金币数量为 Pi。然而这个游戏允许拥有的金币数量是有上限的,当超过时,超过上限的部分就会被系统光明正大地吃掉,哲哲就拿不到了。为了不浪费金币,哲哲决定,当下一个要击杀的怪物可获得的金币会导致自己拥有的金币数量超过上限时,就去消费一次,把自己已有的金币全部用完。现在给定哲哲将要击杀的一系列怪物对应的金币数量,请你计算一下哲哲去消费了几次。输入格式:输入第一行是两个整数 N,M (1≤N≤1e3 ,1≤M≤1e6),表示击杀的怪物数
2022-07-12 10:45:13
1551
8
原创 2021 RoboCom机器人开发者大赛 CAIP 本科组初赛 第三题
2021RoboCom机器人开发者大赛 本科组初赛 第三题多源单权最短路径问题和单源多权最短路径问题使用floyd算法和dijkstra算法
2022-07-08 18:34:55
1633
原创 C++输入输出优化及其副作用
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
2022-06-28 23:16:09
519
原创 Clion项目中运行多个main函数
被clion默认不支持多main函数问题困扰许久, 今天终于彻底解决, 做个记录也希望能帮到有类似问题的朋友。
2022-06-18 22:53:29
5282
2
原创 C语言非void函数却没有return会怎么样
C语言非void函数却没有return会怎么样问题引出前几天学习栈, 写了一个创建栈的函数typedef struct{ int data[STACKSIZE]; int top;}stack, *Stack;Stack NewStack(void){ Stack s = (Stack)malloc(sizeof(stack)); s->top = -1;}代码的作用很简单, 就是动态分配一个栈变量的内存, 并将其指针返回; 很显然的是在函数NewSt
2022-05-19 17:03:35
3903
1
原创 为什么多数编程语言的数组从“0”开始
以C语言举例,数组本质上就是一块连续的内存,由一个首地址和地址增量实现对数组元素的读写。假设一个数组arr,我们知道arr就是数组第一个元素的地址。那么第一个元素:arr[0] = *(arr + 0)第二个元素:arr[1] = *(arr + 1)…第i+1个元素:arr[i] = *(arr + i)因此我们可以得出结论:索引并不是数组元素的编号,而是元素地址相对于首地址的增量那么如果强行让索引满足人类的习惯,即从1开始,会发生什么呢?第一个元素:arr[1] = *(arr +
2022-03-22 12:40:05
869
原创 C语言string库strcpy、strcmp、strcat函数详解
strcpy即string copy语法格式为strcpy(str1, str2), 作用是将str2赋值给str1使用方法类似char str1[10], str2[] = "abc";strcpy(str1, "bcd");strcpy(str1, str2);printf("%s", str1); // abcstr2可以是字符串, 也可以是字符串首地址(指针)。strcpy会从传入的地址开始写入, 如代码为strcpy(str1+1, str2),程序会从str1第二个元素开始
2022-03-10 15:16:39
7243
原创 围圈报数问题
问题描述:有n个人围成一圈,顺序排号(从1排到n)。 从第一个人开始报数(从1报到m(m<=9)),凡报到m的人退出圈子, 问最后留下的是原来第几号的那位?先上答案# include <stdio.h>int main(void){ int n, m, i, j ,count; scanf("%d %d", &n, &m); int arr[n]; for(i=0; i<n; i++) arr[i
2022-03-08 22:03:13
1681
原创 整数逆序输出
整数逆序输出(C语言)要求输入任意一正整数,把这个正整数以逆序的方式输出。如输入:123输出:321我们以上面这对数据举例,输入数123,输出数321。通过观察,我们可以发现,输入数和输出数的位数相同,输入数的百位1在输出数中作为个位,输入数的个位3作为输出数的个位。也就是说整数逆序本质上是数位的颠倒所以我们只需要判断输入数是几位数,然后获取输入数各数位的值,拼凑出输出数就可以了。以三位数举例:int i; //用于存放输入数int units, tens, hundreds;
2022-02-18 18:25:30
40205
3
原创 numpy笔记
python科学计算基础库——numpynumpy库的主要内容为一个强大的多维数组对象ndarray广播功能函数整合C/C++/Fortran代码的工具线性代数、傅里叶变换、随机数生成等功能常用一维及二维数组对象,故不对三维及以上数组进行说明导入import numpy as np 关于数组数组中所有数据的类型必须相同数组的运算效率远高于列表多维数组可以表现为多重嵌套列表数组可以理解为一系列容纳元素的小格子一维数组就是一排小格子二维数组是有n行、m列的长方形格子阵
2022-01-01 22:58:10
376
原创 python绘图库——Matplotlib
matplotlib是python的一个强大的绘图工具,能将数据可视化,更直观的呈现数据。matplotlib的功能繁多,在此只介绍其基本功能。导入importmatplotlib.pyplot as pltfrommatplotlibimportfont_manager折线图import randomx=range(100)y=[random.random() for i in x]plt.plot(x,y)#x,y一一对应、长度相同p...
2021-12-31 09:11:26
952
原创 random模块
random[ˈrændəm]:随机的 random 模块是 Python的内置模块 random 主要用来生成随机数 常用方法:random.randrange(start, stop, step)返回一个range(start, stop, step)数组中随机一个数等价于random.choice(range(start, stop, step))random.randint(start, stop)返回[start, stop]内随机一个整数即r.
2021-12-25 09:09:45
936
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人