02 2019 档案
摘要:思路: 排序后依次进行贪心选择;
阅读全文
摘要:题意:在正整数集合中每次选2个数相加,加n-1次,加后把结果放入集合,把两个数除去,输出每次加的总和; 思路:用优先队列存集合,greater是小顶堆,每次取出最小的两个数就行了。
阅读全文
摘要:思路:递增排序后比较,核心是如果最快没有别人快,一定会输,就用最慢的去比,这样留下较好的; 找到对面最慢的比自己最慢的还慢,一定会赢,就用最慢的去比,留下较好的。 5.1.2
阅读全文
摘要:思路: 因为小球落下后,开关的状态就会改变,所以一个节点上的小球的去向,跟这个小球是第几个到达此节点 有关系,也就是说,如果到达时是第奇数个,往左走,偶数个,就要往右走; 比如,如果是节点1,那么我们可以知道,第一个小球(I=1)肯定是往左走,第二个小球(I=2)则是往右走; 也就是球到达的编号为奇
阅读全文
摘要:解释来自:https://www.cnblogs.com/GeniusYang/p/5176454.html
阅读全文
摘要:题意: 思路:来自:https://blog.csdn.net/guozlh/article/details/53209339利用map<pair<char,int>,int>模拟数组,map<char,int>用于存放定义数组的长度定义语句不用考虑,直接模拟存放其长度即可赋值语句要分别计算等号左边
阅读全文
摘要:思路: 用结构体book存作者的名字和状态,vector存所有书的名字,利用map<string,book>books(string是书名)联系书名和作者、状态; 存下来后按要求排序,输入命令进行操作 ,比如 SHELVE 操作:从前往后找还了没有上架的书, 然后从此书往前找有没有在架的书,有就放到
阅读全文
摘要:题意:求关注位置的元素被打印后,所花费的总时间。 思路: 用一个普通队列 p 和优先队列 pq 存优先级,因为优先队列队首肯定是要被打印的元素; 如果p,pq队首相等,表示可以打印,不然就丢到后面去。
阅读全文
摘要:思路: 这道题和 UVA221 Urban Elevations 思路一样的;用结构体pot存x,y的值; 用double数组x存下每一个可以做对称轴的点,然后sort,unique,然后遍历每一个对称轴, 写一个函数看看这个对称轴可不可以完成折叠;怎么看可不可以完成折叠呢? 首先把一个坐标轴上的点
阅读全文
摘要:思路: 遍历拼接会超限,但是可以往下拆解;用一个map<string,bool>存一个单词是否是输入的(true), 遍历拆解单词,寻找它拆分出的两个词s1,s2有没有在map里面值为true;如果是,就装到 set里面(因为题目要求字典序输出),最后输出结果。
阅读全文
摘要:思路: 用两个整型数组a,b,分别存每个学生的原始位置和目标位置,然后排序,必须是一一对应才可以进行交换。
阅读全文
摘要:思路: 用两倍大的整型数组存从1到n,那么会扔掉n-1个数,即遍历n-1次; 多设一个变量j,从0开始,每次修改值的时候加2,接下来是处理: 先把第j个元素丢出去,然后值改为-1,再把第j+1个元素的值放到最后, · 此时的最后是第 j+n-i 的的位置,再改为-1。 注意: 如果输入1,那么扔出的
阅读全文
摘要:题意: 输入后对齐输出。 思路: ①用一个vector数组装每行的字符。 ②用整型数组len存每列最大的长度加一(多算一个空格),比如在样例输入中,第一列最大的是start:。
阅读全文
摘要:思路: 一些解释: ①:建筑的排序: 下面是以输入顺序为标号,在数组bd中的顺序: 排序后在数组bd中的顺序: 以后我们比较就按这个顺序 ②:x坐标的排序 x的内容是每一个建筑的左边界和右边界,我们把他去重排序后,就是一个一个的坐标,相邻的x形成一个区间, 取它的中点来判断,比如,样例输入的bd[1
阅读全文
摘要:大致翻译: 对于电子邮件应用程序,您需要描述发生在成对mta之间的基于smtp的通信。发送方的用户代理向发送消息传输代理(MTA)提供格式化的消息。发送MTA使用SimpleMail传输协议(SMTP)与接收MTA通信。接收MTA将邮件发送到接收方的用户代理。初始化通信链路后,发送MTA将命令行(每
阅读全文
摘要:知识补充: ①:ssprintf: int sprintf(char *str, const char *format, ...) 发送格式化输出到 str 所指向的字符串。 char str[80]; sprintf(str, "Pi 的值 = %f", M_PI); puts(str); ②:s
阅读全文
摘要:思路: 知识补充: ①make_pair和pair: /*pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员
阅读全文
摘要:题意:把输入的字符串排序后,竖着按顺序输出(按列)。 思路: ①计算最大的M、行数、列数,然后逐行逐列输出。 ②行数的计算: ③列数的计算: 求得了行数列数也就得到了,注意利用技巧:rows = (n - 1) / cols + 1 ④输出的顺序: /* 举例,有三行时下标如下: 0 3 6 9 -
阅读全文
摘要:题意:求第1500个丑数(不能被2,3,5以外的其他素数整除的数)。 思路:从小到大生成各个丑数,最小的丑数是1,对于任意丑数x,2x,3x,5x都是丑数; 因此利用优先队列保存已经生成的丑数,每次取出最小的丑数,生成3个新的丑数; 但要注意去重,比如2,3都会生成6,于是用set来存、判断重复。
阅读全文
摘要:1 #include "cstdio" 2 #include "queue" 3 #include "map" 4 using namespace std; 5 int main() 6 { 7 int t,kase=0;//t团队数目 8 while (scanf("%d",&t)==1&&t) 9 { 10 printf("Scena...
阅读全文
摘要:1 #include "iostream" 2 #include "vector" 3 #include "set" 4 #include "map" 5 #include "stack" 6 #include "string" 7 #include "algorithm" 8 #include "iterator" 9 using namespace std; 10 #def...
阅读全文
摘要:把每个单词“标准化“,即全部转化为小写再排序,然后放到map中统计。
阅读全文
摘要:题意:来自:https://blog.csdn.net/lecholin/article/details/70186673 思路: ①数组存每个网格的高度,然后排序,做题时想象为上面的柱状图。 ②注意对淹没的处理。 ③注意每个输出都有空行。
阅读全文
摘要:思路: ①用结构体stu,属性有清醒时间,睡眠时间,开始处于的时间,状态(醒着还是睡着), 还有计数器。 ②二维数组存表格。 ③在确定接下来要进入的状态之后,就一次把表格里持续状态的数据都修改掉,比如: 第一个学生的数据是2 3 1,那么开始的时候他要进入2t的清醒期,此时就把data[0][0]和
阅读全文