$n^2$ 过百万

P3168 [CQOI2015] 任务查询系统

不开O都能过
by OIer_FY @ 2023-03-22 12:26:26


十万 2s,很难卡掉吧。
by Daniel_lele @ 2023-03-22 12:36:50


@[Daniel_lele](/user/116664) 1e10 为啥难卡
by Sky390 @ 2023-03-22 12:43:57


@[Sky390](/user/806835) 2s 啊,这种题一般都是小常数,一秒 $10^9\sim2\times10^9$ 和小常数卡卡可过。
by Daniel_lele @ 2023-03-22 12:45:46


难绷
by TernaryTree @ 2023-03-22 12:46:13


这是红名蓝钩说出的话?
by _Karasu_ @ 2023-03-22 14:39:49


如果带剪枝的小常数n^2,跑过去比较正常 如果跑满的n^2冲过去了,那就属于是造数据的比较逆天。
by zztqwq @ 2023-03-22 14:41:29


我猜楼主应该是第一种,合理的剪枝下啥玩意跑过去了其实都正常(
by zztqwq @ 2023-03-22 14:44:58


弱弱地问一句:怎么剪
by danielqf @ 2023-03-22 20:45:23


```c++ #include<bits/stdc++.h> #define ll long long using namespace std; const int N=1e5+5; int n,m; struct lr { int l,r,v; }a[N]; bool cmp(lr a,lr b) { return a.v<b.v; } int main() { // freopen("query.in","r",stdin),freopen("query.out","w",stdout); scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d%d%d",&a[i].l,&a[i].r,&a[i].v); sort(a+1,a+n+1,cmp); ll pre=1; while(m--) { int x; ll A,B,C,ans=0; scanf("%d%lld%lld%lld",&x,&A,&B,&C); int k=(A*pre+B)%C+1,vpp=0; for(int i=1;i<=n;i++) { if(a[i].l<=x&&x<=a[i].r) { vpp++; ans+=a[i].v; } if(vpp==k) break; } pre=ans; printf("%lld\n",ans); } } ``` 能过 虽然准确来说是 $n^2$ 过十万
by OIer_FY @ 2023-03-22 20:45:28


| 下一页