社区讨论

90分求助

P3957[NOIP 2017 普及组] 跳房子参与者 3已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@mi7yxa3v
此快照首次捕获于
2025/11/21 05:53
4 个月前
此快照最后确认于
2025/11/21 05:53
4 个月前
查看原帖
CPP
#pragma GCC optimize(2)//硬核优化,可以忽略
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
%:pragma GCC optimize("Ofast")
%:pragma GCC optimize("inline")
%:pragma GCC optimize("-fgcse")
%:pragma GCC optimize("-fgcse-lm")
%:pragma GCC optimize("-fipa-sra")
%:pragma GCC optimize("-ftree-pre")
%:pragma GCC optimize("-ftree-vrp")
%:pragma GCC optimize("-fpeephole2")
%:pragma GCC optimize("-ffast-math")
%:pragma GCC optimize("-fsched-spec")
%:pragma GCC optimize("unroll-loops")
%:pragma GCC optimize("-falign-jumps")
%:pragma GCC optimize("-falign-loops")
%:pragma GCC optimize("-falign-labels")
%:pragma GCC optimize("-fdevirtualize")
%:pragma GCC optimize("-fcaller-saves")
%:pragma GCC optimize("-fcrossjumping")
%:pragma GCC optimize("-fthread-jumps")
%:pragma GCC optimize("-funroll-loops")
%:pragma GCC optimize("-fwhole-program")
%:pragma GCC optimize("-freorder-blocks")
%:pragma GCC optimize("-fschedule-insns")
%:pragma GCC optimize("inline-functions")
%:pragma GCC optimize("-ftree-tail-merge")
%:pragma GCC optimize("-fschedule-insns2")
%:pragma GCC optimize("-fstrict-aliasing")
%:pragma GCC optimize("-fstrict-overflow")
%:pragma GCC optimize("-falign-functions")
%:pragma GCC optimize("-fcse-skip-blocks")
%:pragma GCC optimize("-fcse-follow-jumps")
%:pragma GCC optimize("-fsched-interblock")
%:pragma GCC optimize("-fpartial-inlining")
%:pragma GCC optimize("no-stack-protector")
%:pragma GCC optimize("-freorder-functions")
%:pragma GCC optimize("-findirect-inlining")
%:pragma GCC optimize("-fhoist-adjacent-loads")
%:pragma GCC optimize("-frerun-cse-after-loop")
%:pragma GCC optimize("inline-small-functions")
%:pragma GCC optimize("-finline-small-functions")
%:pragma GCC optimize("-ftree-switch-conversion")
%:pragma GCC optimize("-foptimize-sibling-calls")
%:pragma GCC optimize("-fexpensive-optimizations")
%:pragma GCC optimize("-funsafe-loop-optimizations")
%:pragma GCC optimize("inline-functions-called-once")
%:pragma GCC optimize("-fdelete-null-pointer-checks")
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,d,k,g,l,r,f[500010],v[500010],s[500010],maxs,ans=-1;
int rj(int g){
	for(int i=1;i<=n;i++)s[i]=-1e9;s[0]=0;
	for(int i=0;i<n;i++)
	  for(int j=i+1;j<=n;j++){
	  	if(f[j]-f[i]>d+g)break;
	  	if(f[j]-f[i]<max(d-g,(ll)1))continue;
	  	s[j]=max(s[j],s[i]+v[j]);
	  	if(s[j]>=k)return 1;
	  }
	return 0;
}
int main(){
	cin>>n>>d>>k;
	for(int i=1;i<=n;i++){cin>>f[i]>>v[i];r=max(r,f[i]-f[i-1]);}
	r=r+d;
	while(l<=r){
	  g=(l+r)/2;
	  if(rj(g)==1){
	  	ans=g;r=g-1;
	  }
	  else l=g+1;
	}
    cout<<ans<<endl;
    return 0;
} 

回复

5 条回复,欢迎继续交流。

正在加载回复...