摘要:
题目:点此 优先队列思路:{ 先读入,读入的数据放入优先队列,再循环:{ 取出两个数,把这两堆果子合并,记录耗费体力并保存合并后果子的重量。 } 输出。 } 暴力思路:{ 与优先队列没什么区别,只是放入优先队列改成了用插入排序或冒泡排序确定放的位置。 } 犯的错误:{ 1.函数内要改变的值做参数时应 阅读全文
摘要:
题目:点此 单调队列思路:{ 先读入,再排序,然后循环{ 两个单调队列记端点,来一个数据,先维护,然后一边弹即将过时的数据,一边记录(万一这次是最优解,下次不是最优解(过时)),如果比最小值小就更新,最后进队。两单调队列同思路。 } 如果最小值没变就输出-1,否则输出最小值。 } 暴力思路:{ 按x 阅读全文
摘要:
题目:点此 思路:{ 利用单调递减栈,每压一个元素,弹出的元素都向它发射过能量,弹完后的栈顶接受过它的能量。 把每个元素收集的能量统计起来,找最大值输出。 } 犯的错误:{ 1.偷懒搞文件输入输出后没去掉。 2.一些类型用错了(应long long用int)。 3.没考虑栈空的情况。 } 收获:{ 阅读全文
摘要:
题目:点此 思路:{ 利用两个栈,一个存数据(v、f),一个存运算符(&&、||、!、(、))。 读到数据压入数据栈。 读到!:直接压栈。 读到运算符:{ 如果符号栈栈顶的优先级没此运算符高,直接压栈。 否则取出数据栈栈顶和数据栈新的栈顶进行运算,符号栈出栈,再判断一遍栈顶优先级有没有此运算符高。 阅读全文
摘要:
float和double都是C++中的浮点型数据类型,三者的区别是:1、精度是不同的。float类型是单精度浮点数,double类型是双精度浮点数。2、分配存储空间。c++编译器为flaot类型分配4字节,为double类型分配8字节。3、有效位的个数是不同的。float可以提供6位有效数字,dou 阅读全文
摘要:
1.读入string 需包含头文件:iostream(iostream中包含string)。 #include <iostream> 方法: 1.读到空格、tab、回车中任意一个结束:直接cin。 string a; cin >> a; 2.读一行:getline。 string a; getlin 阅读全文
摘要:
2020年11月4日,博客装修时更新 阅读全文