我會五維數點辣
只要用個bitset亂搞就好了
記錄一下rk[i][j]表示第j科排名為i的是誰
用30000 * 5個大小為30000的bitset
s[i][j]是乙個bitset表示第j科,排名為1 - i的人是多少
最後只要對於每個人,把每一維小於它的集合and起來,然後用count()函式輸出裡面1的個數
#include #include #include #include #include #include #include #include #define enter putchar('\n')
#define space putchar(' ')
//#define ivorysi
#define pb push_back
#define maxn 30005
#define mo 974711
#define pii pair#define mp make_pair
#define fi first
#define se second
using namespace std;
typedef long long int64;
typedef double db;
templatevoid read(t &res)
while(c >= '0' && c <= '9')
res = res * f;
}templatevoid out(t x)
if(x >= 10) out(x / 10);
putchar('0' + x % 10);
}int n;
bitset s[maxn][6];
int a[maxn][6],rk[maxn][6];
void solve()
}for(int j = 1 ; j <= 5 ; ++j)
}for(int i = 1 ; i <= n ; ++i)
}int main()
HihoCoder 1513 小Hi的煩惱
小hi從小的一大興趣愛好就是學習,但是他發現儘管他認真學習,依舊有學神考的比他好。小hi在高中期間參加了市裡的期末考試,一共五門 語文 數學 英語 物理 化學。成績出來之後,小hi發現有些同學,所有科目都考的比他好,他很煩惱。所以他想知道所有科目都比自己名次靠前的同學的人數。為了方便,可以認為不存在...
hihoCoder1345 小h的朋友們
小h很多朋友。他給第i個朋友分配了乙個代號ai,並使代號序列滿足如下關係 ai k 1 a i 1 k2 ai 2 mod 1,000,000,007 現在小h忘記了第z個朋友的代號az,但是他記得第x個朋友和第y個朋友的代號ax和ay。小h很著急,向小y求助。小y很忙,把任務交給了你,希望你求出第...
Hihocoder 小Hi的煩惱
解題思路 其實題目自帶的題解已經交代的比較清楚了。但是如果完全按照題目自帶的解法來計算,肯定是會超時的。因為無論如何還是o n 2 的解法,當然也可能是彩筆我比較菜只能寫出這樣的。所以需要一些轉換。這個題目給的記憶體空間為1024m,顯然我們要用空間換時間了。就以單個科目為例吧。假設a i 表示第i...