![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
Jancoyan
天真的理想主义者。
展开
-
1.1.5 蚂蚁。一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。
蚂蚁题目来源 :《算法竞赛入门经典——训练指南》/刘汝佳,陈锋编著一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。当两只蚂蚁相撞时,二者同时掉头(掉头时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂蚁的位置。【输入格式】输入的第一行为数据组数。每组数据的第一行为3个正整数L,T,n(0≤n≤10000);以下n行每行描述一只蚂蚁的初始位置,其中,整数x为蚂蚁距离木棍左端的距离(单位:厘米),字母表示初始朝向(L表示朝左,R表示朝右)。【输原创 2020-06-05 23:02:22 · 1776 阅读 · 1 评论 -
1.1.1 勇者斗恶龙。你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。
勇者斗恶龙来源 :《算法竞赛入门经典——训练指南》/刘汝佳,陈锋编著你的王国里有一条n个头的恶龙,你希望雇一些骑士把它杀死(即砍掉所有头)。村里有m个骑士可以雇佣,一个能力值为x的骑士可以砍掉恶龙一个直径不超过x的头,且需要支付x个金币。如何雇佣骑士才能砍掉恶龙的所有头,且需要支付的金币最少?注意,一个骑士只能砍一个头(且不能被雇佣两次)。【输入格式】输入包含多组数据。每组数据的第一行为正整数n和m(1≤n,m≤20000);以下n行每行为一个整数,即恶龙每个头的直径;以下m行每行为一个整数,即原创 2020-05-18 21:33:24 · 1881 阅读 · 1 评论 -
1.1.4 墓地雕塑。在一个周长为10000的圆上等距分布着n个雕塑。现在又有m个新雕塑加入,希望所有n+m个雕塑在圆周上均匀分布。
墓地雕塑题目来源 :《算法竞赛入门经典——训练指南》/刘汝佳,陈锋编著在一个周长为10000的圆上等距分布着n个雕塑。现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周上均匀分布。这就需要移动其中一些原有的雕塑。要求n个雕塑移动的总距离尽量小。【输入格式】输入包含若干组数据。每组数据仅一行,包含两个整数n和m(2≤n≤1000,1≤m≤1000),即原始的雕塑数量和新加的雕塑数量。输入结束标志为文件结束符(EOF)。【输出格式】输入仅一行,为最小总距离,精确到10^-4。原创 2020-06-05 20:02:27 · 600 阅读 · 0 评论 -
1.1.3 分金币。圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除。
分金币圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除。每个人可以给他左右相邻的人一些金币,最终使得每个人的金币数目相等。你的任务是求出被转手的金币数量的最小值。比如,n=4,且4个人的金币数量分别为1,2,5,4时,只需转移4枚金币(第3个人给第2个人两枚金币,第2个人和第4个人分别给第1个人1枚金币)即可实现每人手中的金币数目相等。【输入格式】输入包含多组数据。每组数据第一行为整数n(n≤1000000),以下n行每行为一个整数,按逆时针顺序给出每个人拥有的金币数。输入结束标志为文件结束原创 2020-05-19 17:56:18 · 655 阅读 · 0 评论 -
1.1.2 突击战。你有n个部下,每个部下需要完成一项任务。
突击战你有n个部下,每个部下需要完成一项任务。第i个部下需要你花Bi分钟交待任务,然后他会立刻独立地、无间断地执行J分钟后完成任务。你需要选择交待任务的顺序,使得所有任务尽早执行完毕(即最后一个执行完的任务应尽早结束)。注意,不能同时给两个部下交待任务,但部下们可以同时执行他们各自的任务。【输入格式】输入包含多组数据,每组数据的第一行为部下的个数N(1≤N≤1000);以下N行每行两个正整数B和J(1≤B≤10000,1≤J≤10000),即交待任务的时间和执行任务的时间。输入结束标志为N=0。【输原创 2020-05-18 21:36:09 · 648 阅读 · 0 评论 -
数据结构与算法 -- 队列 -- 循环队列
数据结构与算法 – 队列 – 循环队列部分内容来自于<<数据结构(C语言版)>>(清华大学出版社, 严蔚敏/吴伟民 编著)目录数据结构与算法 -- 队列 -- 循环队列循环队列(顺序队列)表示初始化入队出队销毁清空判空长度队头元素循环队列(顺序队列)如果我们将队列设置为顺序存储结构, 那么, 因为出队的时候是从队首出队, 入队的时候是从队尾入队, 而入队需要在后...原创 2020-04-26 16:31:50 · 489 阅读 · 0 评论 -
数据结构与算法 -- 队列 -- 链式队列
数据结构与算法 – 队列 – 链式队列部分内容来自于清华大学出版社<<数据结构(C语言版)>>目录数据结构与算法 -- 队列 -- 链式队列定义链式队列表示初始化入队出队销毁清空判断是否为空返回长度获得队头元素遍历输出定义只能在队首进行删除, 队尾进行插入的线性表特征 : FIFO (先进先出)从图中我们可以看出, 一个队列有一个队头和一个队尾, 入队从队...原创 2020-04-24 17:24:14 · 336 阅读 · 0 评论 -
数据结构与算法 -- 栈 -- 进制转换/简单括号匹配/汉诺塔
栈的有关应用:进制转换/简单括号匹配/汉诺塔本文为作者学习b站上交版<<数据结构与算法>>, 结合清华大学出版社<<数据结构(C语言版)>> 的学习笔记, 部分内容来自于视频中的的PPT文章目录栈的有关应用:进制转换/简单括号匹配/汉诺塔进制转换定义栈结构/实现初始化/入栈/出栈/判空函数非负十进制数转化为八进制数非负十进制数转化为二进制数简...原创 2020-03-29 20:41:38 · 538 阅读 · 0 评论 -
数据结构与算法 -- 栈 -- 顺序栈&&链栈
栈本文为作者学习b站上交版<<数据结构与算法>>, 结合清华大学出版社<<数据结构(C语言版)>> 的学习笔记, 部分内容来自于视频中的的PPT目录栈栈的定义堆栈的表示和实现栈的表示顺序栈操作初始化销毁判断是否为空长度获得栈顶元素入栈出栈遍历输出链栈操作初始化判断是否为空入栈弹出栈销毁长度获得栈顶元素遍历输出栈的定义栈 : 一个只能在栈顶...原创 2020-03-28 22:03:07 · 189 阅读 · 0 评论 -
数据结构与算法 -- 表 -- 线性表的链式表示
数据结构与算法 – 表 – 线性表的链式表示文章目录数据结构与算法 -- 表 -- 线性表的链式表示线性表的简单操作声明获得第 i 个节点插入前置节点删除第 i 个节点返回值为 e 的节点的地址线性链表的复杂操作有序链表的归并法一法二循环链表双向链表声明在第 i 个节点前面插入线性表的简单操作声明typedef struct LNode { ElemType data; struct ...原创 2020-03-24 22:53:13 · 218 阅读 · 0 评论 -
数据结构与算法 -- 表 -- 线性表的顺序表示
数据结构与算法 – 表文章目录数据结构与算法 -- 表线性表的顺序结构与实现前提向线性表中插入元素合并两个线性表线性表的应用比较两个线性表的大小线性表的顺序结构与实现前提#define TRUE 1 //正确#define FALSE 0 //错误#define OK 1 //执行成功#define ERROR 0 //执行有误#define INFEASIBLE -1 //不可执...原创 2020-03-20 00:29:21 · 366 阅读 · 0 评论