建筑类电商网站,北京 网站建设 京icp,弄一个网站,微信下拉小程序怎么关闭题意#xff1a; 两端分别是一条入口#xff08;Entrance#xff09;轨道和一条出口#xff08;Exit#xff09;轨道#xff0c;它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入#xff0c;最后从出口离开。在图中有9趟列车#xff0c;在入口处按照{… 题意 两端分别是一条入口Entrance轨道和一条出口Exit轨道它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入最后从出口离开。在图中有9趟列车在入口处按照{842539167}的顺序排队等待进入。如果要求它们必须按序号递减的顺序从出口离开则至少需要多少条平行铁轨用于调度 思路 这题如果直接用队列模拟会内存超限并超时没有必要存储每个队列的所有值事实上只要存储每个队列的队尾值即可但是这样做还是会超时所以用set存储所有队列的队尾值并每次查找第一个大于新值的的位置进行操作即可一开始先插入0每次set的rbegin()是当前最大值直接与新值比较节约很多时间。 #includebits/stdc.h
using namespace std;
setint s;int main(){int n,t;scanf(%d,n);s.insert(0);for(int i0;in;i){scanf(%d,t);if(t*s.rbegin()){s.erase(s.upper_bound(t));}s.insert(t);}couts.size()-1endl;return 0;
}转载于:https://www.cnblogs.com/seasonal/p/10343591.html