hihoCoder 1513 小Hi的烦恼
思路:
用bitset判断交集个数
代码:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a)) const int N=3e4+;
int rnk[N][];
int num[N][];//在第j门课排名为i的同学的编号
bitset<N>s[N][],tmp;//在第j门课小于排名i的状态
int main(){
/*ios::sync_with_stdio(false);
cin.tie(0);*/
int n;
scanf("%d",&n);
for(int i=;i<=n;i++){
for(int j=;j<;j++){
scanf("%d",&rnk[i][j]);
num[rnk[i][j]][j]=i;
}
}
for(int j=;j<;j++){
for(int i=;i<=n;i++){
s[i][j]=s[i-][j];
s[i][j].set(num[i-][j]);
}
}
for(int i=;i<=n;i++){
tmp=s[rnk[i][]][];
for(int j=;j<;j++){
tmp&=s[rnk[i][j]][j];
}
printf("%d\n",tmp.count());
}
return ;
}
参考:http://www.cnblogs.com/hua-dong/p/8196081.html
hihoCoder 1513 小Hi的烦恼的更多相关文章
- hihocoder#1513 : 小Hi的烦恼 bitset
目录 题目链接 题解 代码 题目链接 hihocoder#1513 : 小Hi的烦恼 题解 cdq 套cdq 套cdq 套cdq就完了呀 对每一科开n个bitset 表示该科目前i个有谁 每次查询都& ...
- hihocoder 1513 小Hi的烦恼——bitset
题目:http://hihocoder.com/problemset/problem/1513 自带的题解写得很好…… #include<cstdio> #include<cstri ...
- hihoCoder 1513 : 小Hi的烦恼 位运算好题
思路:考虑第i个同学,第一门课排名比他靠前的同学的集合是S1,第二门课是S2...第五门课是S5,很明显比这个同学每门课程都优秀的同学就是S1&S2&S3&S4&S5, ...
- hihoCoder.1513.小Hi的烦恼(bitset 五维偏序)
题目链接 五维偏序,对每一维维护bitset,表示哪儿为1(比它大),然后5个bitset与起来就能得到答案了. 具体实现可以用5*n个bitset,按排名搞个前缀和. 复杂度\(O(n^2/w)\) ...
- hihocoder 1513 小Hi的烦恼 (bitset优化)
大意: n个人, 5门课, 给定每个人每门课的排名, 对于每个人输出有多少人5门课都比他差. 明显是个5维偏序问题, 题目有保证排名均不同, 可以用bitset优化为$O(\frac{n^2}{\om ...
- HihoCoder#1513 : 小Hi的烦恼(五维数点 bitset 分块)
题意 题目链接 Sol 五位数点问题,写个cdq分治套cdq分治套cdq分治套cdq分析就完了 可以用bitset搞 对于每一科开\(n\)个bitset,其中\(b[i]\)表示的排名为\(1 - ...
- hiho#1513 : 小Hi的烦恼 五维偏序
hiho#1513 : 小Hi的烦恼 五维偏序 链接 hiho 思路 高维偏序用bitset,复杂度\((\frac{n^2}{32})\) 代码 #include <bits/stdc++.h ...
- 【hihoCoder】#1513 : 小Hi的烦恼
题解 我会五维数点辣 只要用个bitset乱搞就好了 记录一下rk[i][j]表示第j科排名为i的是谁 用30000 * 5个大小为30000的bitset s[i][j]是一个bitset表示第j科 ...
- HiHoCoder1513:小Hi的烦恼——题解
https://hihocoder.com/problemset/problem/1513 小Hi从小的一大兴趣爱好就是学习,但是他发现尽管他认真学习,依旧有学神考的比他好. 小Hi在高中期间参加了市 ...
随机推荐
- LeetCode7.反转整数
给定一个 32 位有符号整数,将整数中的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假 ...
- linuxbash 父进程 子进程
linux登陆linux,就获得一个bash,之后你的bash就是一个独立的进程,被称为pid的就是,之后你在bash下面执行的任何命令都是由这个bash所衍生的,那些被执行的命令被称为子进程.子进程 ...
- 去n的第一个出现的1
实例十八:去n的第一个出现的1 方法:result=n & (n-1) 与实例十七 思路类似.实例十七是不断取1,本例只去最低位. 解释:n 0000 1111n-1 0000 1110&am ...
- JsonPath的使用
语法: JsonPath 描述 $ 根节点 @ 当前节点 .or[] 子节点 .. 选择所有符合条件的节点 * 所有节点 [] 迭代器标示,如数组下标 [,] 支持迭代器中做多选 [start:end ...
- Python: re.compile()
compile(pattern,flags=0) 1.编译一个正则表达式模式,返回一个模式对象 2.第二个参数flags是匹配模式,可以使用按位或‘|'表示同时生效,也可以在正则表达式字符串中指定 P ...
- C/C++之全局、static对象/变量的初始化问题
关于全局.static对象/变量的初始化问题 1. 全局变量.static变量的初始化时机:main()函数执行之前(或者说main中第一个用户语句执行之前). 2. 初始化顺序. 1)全局对象.外部 ...
- JSP输出HTML时产生的大量空格和换行的去除方法
在WEB应用中,如果使用jsp作为view层的显示模板,都会被空格/空换行问题所困扰. 这个问题当年也困扰了我比较长的时间.因为在jsp内使用的EL标签和其他标签时,会产生大量的空格和换行符. ...
- awk之match函数
功能:match函数是用于个性化定制搜索模式. 例子: 文件内容: this is wang ,not wan that is chen, not che this is chen ,and wang ...
- 基于qml创建最简单的图像处理程序(1)-基于qml创建界面
<基于qml创建最简单的图像处理程序>系列课程及配套代码基于qml创建最简单的图像处理程序(1)-基于qml创建界面http://www.cnblogs.com/jsxyhelu/p/83 ...
- WordPress REST API 内容注入漏洞
1 WordPress REST API 内容注入漏洞 1.1 摘要 1.1.1 漏洞介绍 WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统.在4.7.0版本后,R ...