- 博客(6)
- 资源 (15)
- 收藏
- 关注
原创 【NOI题解】 3.1数据结构之结构
NOI题目地址(3.1数据结构之结构):http://noi.openjudge.cn/ch0301/ 较为复杂的用户自定义数据类型的排序与遍历6377:生日相同 2.0解法一: 按照生日日期和名字长短与字母序对班级里所有的同学进行排序,然后遍历输出#include <iostream> #include <vector> #include <set> #include <algorithm>
2017-12-22 17:52:39 933
原创 【NOI题解】 3.2数据结构之指针和链表
NOI题目地址(3.2数据结构之指针和链表):http://noi.openjudge.cn/ch0302/ 这部分的题解出于练习指针和链表的目的,我都是自定义的链表结构。实际上C++提供了STL list链表容器,对于链表元素的增删查反转等操作都有封装好的接口,直接使用将会得到非常简洁的代码。1748:约瑟夫问题分析:用循环链表解决约瑟夫环问题 关键在于: - 删除链表结点的操作 -
2017-12-21 19:57:19 1664
原创 【NOI题解】 3.3数据结构之栈
NOI题目地址( 3.3数据结构之栈 ):http://noi.openjudge.cn/ch0303/ 1696:逆波兰表达式分析:逆波兰表达式计算用一个栈来存储数字,从右向左遍历表达式 遇到数字就压栈 遇到操作符就弹出栈中的两个数字计算并压栈 最后栈中剩余的数字就是我们要的结果 - Tip 这里计算的是前缀表达式,如果计算后缀表达式,将从右向左遍历改为从左向右遍历,修改带有次序的运算符如’
2017-12-19 20:15:15 1165
原创 【NOI题解】 3.7数据结构之堆
NOI题目地址( 3.7数据结构之堆 ):http://noi.openjudge.cn/ch0307/【NOI 2726:集合问题】分析:将K个数放到N个集合中,使得偏差值之和最小。 算法n个数可能有1~n个集合,假设最优解有k个集合,那么构造一个k个节点的小根堆,小根堆的每个节点代表对应集合中的负荷值,每次取一个数据累加到堆顶,当所有的数据分配完成,由小根堆节点数据计算出的偏差值之和一定是所有
2017-12-18 18:08:54 544
原创 【STL】 map
概述Map可以插入键值对,并根据键值自动将所有的元素进行排序,根据键值进行元素的检索与删除。使用1. 头文件头文件:#include <map>2. 常用构造函数map<int,string> m1; //创建一个空的map map<int,string,cmp> m2; //创建一个自定义排列顺序的map map<int,string> m3(m2);
2017-12-17 21:59:25 253
原创 【STL】 priority_queue
概述priority_queue是一个拥有权值观念的queue,其内元素并非依照推入的次序排序而是自动依照元素的权值排列。priority_queue仍遵照queue的规则,只能在底端加入元素,并从顶端取出元素,除此之外别无其他存取元素的途径。操作构造函数 priority_queue c0; //空的优先队列 priority_queue c1(5,2); //建一个含五个元素的
2017-12-15 17:32:31 413
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人