关于 ABCG 的决策单调性
  • 板块学术版
  • 楼主_Ad_Astra_
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/4/6 21:45
  • 上次更新2024/4/7 12:35:27
查看原帖
关于 ABCG 的决策单调性
317622
_Ad_Astra_楼主2024/4/6 21:45

RT,想知道对于 kk 从 11 到 NN 每次选取的 max⁡Bi\max B_i 是否具有单调性。

如果有,求调/kk

int n,ans[200010],id[200010];
pii a[200010];
void main_solve(int test_id)
{
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i].sec>>a[i].fir;
	sort(a+1,a+n+1);
	for(int i=n-1;i>=0;i--) 
		if(!id[i+1]||a[i+1].sec-a[i+1].fir>a[id[i+1]].sec-a[id[i+1]].fir)id[i]=i+1;
		else id[i]=id[i+1];
	int l=0;
	priority_queue<pii>q;
	for(int i=1;i<=n;i++)
		if(i>l||l!=n&&q.top().fir<=a[id[l]].sec-a[id[l]].fir+a[id[l]].fir)
		{
			int k=id[l];
			ans[i]=ans[i-1]+a[k].sec-a[k].fir+a[l].fir;
//			cout<<" "<<i<<" "<<l<<" "<<k<<endl;
			for(int j=l+1;j<k;j++)q.push(pii(a[j].sec,j));
			l=k;
		}
		else
		{
			pii p=q.top();
			ans[i]=ans[i-1]+p.fir;
			q.pop();
		}
	for(int i=1;i<=n;i++)cout<<ans[i]<<endl;
	return;
}

已开 long long。

2024/4/6 21:45
加载中...