北京第四天
北京第四天
上午T1,我把
#include<iostream>
using namespace std;
for(int i strlen())
return 0;
写到for里了,zzzzz.然后T掉了40分,这可是noip的D1T1啊。
第2题想错了,我按左端点拍的序,实际上要按右端点,还是基础不行,当时就没彻底弄懂,后来就忘了,实际是线段树。
T3我打的暴力啦,40分。想到正解,或者说是优化了,但是写不出来啦。
中午怕麻烦没回去,也就没睡觉,真不行,下午困毁了。一开始怎么都听不进去,最后才缓过来,晚上让老师又讲了一遍,这回理解得差不多了。单调队列优化dp主要适用于转移时,要从一段区间里求最大值,比如:
dp[i]=max{dp[j]},i*q<j<i*p
主要是一个插入和删除操作
void Insert(int x)
{
while (l<=r && s[r]<=x) r--;
s[++r]=x; t[r]=++cnt;
}
int Query()
{
return s[l];
}
void Delete()
{
CNT++;
if (t[l]==CNT) l++;
}
cin>>Q;
l=1; r=0; //单调队列中没有元素
while (Q--)
{
cin>>A;
if (A==1) //Insert
{
cin>>x;
Insert(x);
}
if (A==2)
{
cout<<Query()<<endl;
}
if (A==3)
{
Delete();
}
}
比赛的时候我忘了重载运算符怎么写,QAQ。
浪费了近20分钟,我怎么不先写一个
bool cmp()
明天的题貌似是noip day2的难度,继续努力。