hiho 1236 Scores 五维偏序 分块+bitset优化
来源:互联网 发布:人工智能观后感5中英文 编辑:程序博客网 时间:2024/06/06 16:32
题目链接点这里
这题,,卿学姐讲的很清楚了,,传送门
#include<algorithm>#include<iostream>#include<bitset>#include<stdio.h>#include<cstring>#include<cmath>using namespace std;#define mem(x,y) memset(x,y,sizeof(x))#define FIN freopen("input.txt","r",stdin)#define fuck(x) cout<<x<<endlconst double eps=1e-7;const int MX=50005;#define INF 0x3f3f3f3f#define INFLL 0x3f3f3f3f3f3f3f3ftypedef long long LL;typedef pair<LL,LL> PLL;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1int n,m;struct Nod{ int grade,id; bool operator <(const Nod a)const { return grade<a.grade; }} arr[5][MX+5];int belong[MX+5],l[250],r[250];bitset<MX> bit[5][250];int main(){ FIN; int T; cin>>T; while(T--) { scanf("%d%d",&n,&m); for(int i=0; i<n; i++) { for(int j=0; j<5; j++) { scanf("%d",&arr[j][i].grade); arr[j][i].id=i; } } for(int i=0; i<5; i++)sort(arr[i],arr[i]+n); int num,block=(int)sqrt(n+0.5); num=(n+block-1)/block; for(int i=0; i<5; i++) for(int j=0; j<num; j++) bit[i][j].reset(); for(int i=0; i<n; i++)belong[i]=i/block; for(int i=0; i<num; i++) l[i]=i*block,r[i]=i*block+block-1; for(int i=0; i<5; i++) for(int j=0; j<num; j++) { if(j)bit[i][j]|=bit[i][j-1]; for(int k=l[j]; k<=r[j]; k++)bit[i][j][arr[i][k].id]=1; } int pre=0,now[5],q; scanf("%d",&q); for(int i=1; i<=q; i++) { for(int j=0; j<5; j++)scanf("%d",&now[j]); for(int j=0; j<5; j++)now[j]^=pre; bitset<MX> b[5]; for(int j=0; j<5; j++) { int ll=0,rr=n-1,m; while(ll<rr) { m=((ll+rr)>>1)+1; if(arr[j][m].grade>now[j]) rr=m-1; else ll=m; } if(arr[j][ll].grade>now[j]) continue; if(belong[ll]) b[j]=bit[j][belong[ll]-1]; for(int k=l[belong[ll]]; k<=ll; k++) b[j][arr[j][k].id]=1; } bitset<MX> ans; ans.set(); for(int j=0; j<5; j++) ans&=b[j]; cout<<ans.count()<<endl; pre=ans.count(); } } return 0;}
0 0
- hiho 1236 Scores 五维偏序 分块+bitset优化
- hihoCoder 1236 Scores 五维偏序 (分块 + bitset)
- HihoCoder 1236 Scores (五维偏序bitset+分块)
- Hihocoder 1236 Scores【分块+bitset】
- hihoCoder 1236 Scores(bitset+分块)
- hihoCoder 1236:Scores(bitset+分块)
- HihoCoder-1236-Scores【bitset】【五维偏序】
- [五维偏序 分块 bitset] HihoCoder #1236 2015北京网络赛 J Scores
- 解题报告:hihoCoder_1236 Scores 分块bitset暴力
- 2015北京网络赛 J Scores bitset+分块
- hihoCoder 1236 bitset + 分块
- hihoCoder 1236 Scores 解题报告(bitset + 分段暴力)
- hihocoder 1236 (分块+bitset乱搞)
- bitset优化
- hihocoder #1236 : Scores
- bitset优化背包...
- hdu5890 bitset优化dp
- hdu5890 bitset 优化dp
- Java设计模式笔记之状态模式
- 离散小波变换(DWT)
- Caterpillar found to eat shopping bags, suggesting biodegradable solution to plastic pollution
- opencv cvtColor dtype issue(error: (-215) )
- 7688用mplayer播放音乐有卡顿
- hiho 1236 Scores 五维偏序 分块+bitset优化
- ForgottenHope Linux无GUI量化交易工具
- ArrayList的实现
- Cmder简单使用小结
- clipboard使用总结
- 利用Socket serverSocket实现文件上传
- 静态数组队列(循环队列)基本操作
- Swing布局管理器介绍
- Glide – How Yelp’s Android App Loads Images