hihoCoder.1513.小Hi的烦恼(bitset 五维偏序)
五维偏序,对每一维维护bitset,表示哪儿为1(比它大),然后5个bitset与起来就能得到答案了。
具体实现可以用5*n个bitset,按排名搞个前缀和。
复杂度\(O(n^2/w)\)(本质是暴力的优化)。
//1284ms	565MB
#include <cstdio>
#include <cctype>
#include <bitset>
#include <algorithm>
#define gc() getchar()
const int N=30005;
int rk[N][5],pos[N];
std::bitset<N> bit[5][N];
inline int read()
{
	int now=0;register char c=gc();
	for(;!isdigit(c);c=gc());
	for(;isdigit(c);now=now*10+c-'0',c=gc());
	return now;
}
int main()
{
	int n=read();
	for(int i=1; i<=n; ++i)
		for(int j=0; j<5; ++j) rk[i][j]=read();
	for(int j=0; j<5; ++j)
	{
		for(int i=1; i<=n; ++i) pos[rk[i][j]]=i;
		for(int i=2; i<=n; ++i)
			bit[j][i]=bit[j][i-1], bit[j][i].set(pos[i-1]);
	}
	std::bitset<N> ans;
	for(int i=1; i<=n; ++i)
	{
		ans.set();
		for(int j=0; j<5; ++j) ans&=bit[j][rk[i][j]];
		printf("%d\n",ans.count());
	}
	return 0;
}
hihoCoder.1513.小Hi的烦恼(bitset 五维偏序)的更多相关文章
- hihocoder#1513 : 小Hi的烦恼  bitset
		目录 题目链接 题解 代码 题目链接 hihocoder#1513 : 小Hi的烦恼 题解 cdq 套cdq 套cdq 套cdq就完了呀 对每一科开n个bitset 表示该科目前i个有谁 每次查询都& ... 
- hihocoder 1513 小Hi的烦恼 (bitset优化)
		大意: n个人, 5门课, 给定每个人每门课的排名, 对于每个人输出有多少人5门课都比他差. 明显是个5维偏序问题, 题目有保证排名均不同, 可以用bitset优化为$O(\frac{n^2}{\om ... 
- hihocoder 1513 小Hi的烦恼——bitset
		题目:http://hihocoder.com/problemset/problem/1513 自带的题解写得很好…… #include<cstdio> #include<cstri ... 
- hihoCoder 1513 小Hi的烦恼
		hihoCoder 1513 小Hi的烦恼 思路: 用bitset判断交集个数 代码: #include<bits/stdc++.h> using namespace std; #defi ... 
- HihoCoder#1513 : 小Hi的烦恼(五维数点 bitset 分块)
		题意 题目链接 Sol 五位数点问题,写个cdq分治套cdq分治套cdq分治套cdq分析就完了 可以用bitset搞 对于每一科开\(n\)个bitset,其中\(b[i]\)表示的排名为\(1 - ... 
- hihoCoder 1513 : 小Hi的烦恼 位运算好题
		思路:考虑第i个同学,第一门课排名比他靠前的同学的集合是S1,第二门课是S2...第五门课是S5,很明显比这个同学每门课程都优秀的同学就是S1&S2&S3&S4&S5, ... 
- hiho#1513 : 小Hi的烦恼 五维偏序
		hiho#1513 : 小Hi的烦恼 五维偏序 链接 hiho 思路 高维偏序用bitset,复杂度\((\frac{n^2}{32})\) 代码 #include <bits/stdc++.h ... 
- HihoCoder - 1513 bitset处理五维偏序
		题意:给出\(n<3e4\)个有序组\((a,b,c,d,e)\),求对第\(i\)个有序组有多少个\(j\)满足\((a_j<a_i,b_j<b_i,c_j<c_i,d_j& ... 
- 2015北京网络赛 J Clarke and puzzle  求五维偏序 分块+bitset
		Clarke and puzzle Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc20 ... 
随机推荐
- 求web前端面试题库及答案
			1.对WEB标准以及W3C的理解与认识 标签闭合.标签小写.不乱嵌套.提高搜索机器人搜索几率.使用外 链css和js脚本.结构行为表现的分离.文件下载与页面速度更快.内容能被更多的用户所访问.内容能被 ... 
- python内置模块之collections(六)
			前言 collections是Python内建的一个集合模块,提供了许多有用的集合类. 系列文章 python模块分析之random(一) python模块分析之hashlib加密(二) python ... 
- 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程
			使用vue全家桶制作博客网站 前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ... 
- App调试的几个命令实践【转】
			在Android的应用开发中,我们会用到各种代码调试:其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面 ... 
- 使用 HTTP/2 提升性能的几个建议
			历史悠久的超文本传输协议,即HTTP标准,最近版本升级了.HTTP/2在2015年5月被批准,目前已经在很多Web浏览器和服务器中得到实现(包括NGINX Plus和开源NGINX).大约有三分之二的 ... 
- JUnit单元测试--IntelliJ IDEA
			单元测试的基本使用 一.环境配置 使用idea IDE 进行单元测试,首先需要安装JUnit 插件. 1.安装JUnit插件步骤 File-->settings-->Plguins--&g ... 
- TP5.1:request请求对象(使用四种方式获取)
			准备: 在index/controller下创建一个名为requests.php的文件(注意:不要起名为request,因为它是关键字,不被允许起名) 动态方法和静态方法的区别: 静态方法:publi ... 
- AlexNet
			AlexNet学习笔记 目录 AlexNet整体结构 CNN 全连接 TensorFlow实现 AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevs ... 
- python接口自动化测试十七:使用bs4框架进行简单的爬虫
			安装:beautifulsoup4 from bs4 import BeautifulSoup yoyo = open('yoyo.html', 'r') # 以读的方式打开“yoyo.html” ... 
- 《剑指offer》-找到字符串中第一个只出现一个的字符
			题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出 ... 
