排列組合 HNOI

2021-06-10 17:36:53 字數 1742 閱讀 7504

我這方面比較水就只提供兩道題吧

1. hnoi2008 prison

監獄有連續編號為1...n的n個房間,每個房間關押乙個犯人,有m種宗教,每個犯人可能信仰其中一種。如果相鄰房間的犯人的宗教相同,就可能發生越獄,求有多少種狀態可能發生越獄
此題略水,屬於hnoi送分題系列,用補集的思想可以輕鬆過。

可能越獄的 = 總 - 不可能越獄的

code

#include #include #include #include #include #include #include #include #include #include using namespace std;

const int mo = 100000 + 3;

typedef unsigned int uint;

typedef long long int64;

typedef unsigned long long uint64;

template inline t sqr(t x)

template inline t abs(t x)

template inline t min(t a, t b)

template inline t max(t a, t b)

template inline void swap(t & a, t & b)

template inline t ksm(t a, t b, t m)

int64 n, m;

int main()

2. hnoi2012 queue

某中學有 n 名男同學,m 名女同學和兩名老師要排隊參加體檢。他們排成一條直線,並且任意兩名女同學不能相鄰,兩名老師也不能相鄰,那麼一共有多少種排法呢?(注意:任意兩個人都是不同的)
網上一大堆人說此題是day1最水的,不過我還是推了一兩個多小時

公式如下

int64比較慢, 0.15s左右乙個點,如果將最後的mult分開乘再高精加會快一點

c 排列組合排序 排列組合 組合數專題

書接上回,本期正男老師將帶大家梳理排列組合中組合數的相關考點,組合數考點可以細分為4類,分別為 分類數數問題 分組排序問題 塗色問題以及插棍問題。近六年高考真題中,組合數考點共涉及5道。組合數專題高考真題分布 組合數的定義以及公式如下圖所示。組合數定義 分類數數問題與排列問題中的窮舉問題相似,但分類...

排列組合實現

演算法 與網際網路 組合演算法 本程式的思路是開乙個陣列,其下標表示1到m個數,陣列元素的值為1表示其下標 代表的數被選中,為0則沒選中。首先初始化,將陣列前n個元素置1,表示第乙個組合為前n個數。然後從左到右掃瞄陣列元素值的 10 組合,找到第乙個 10 組合後將其變為 01 組合,同時將其左邊的...

排列組合解法

最近做題遇到了排列組合的題,發現這種問題還挺經典的,以前也沒有總結過,乾脆現在總結一下這一類問題的解法。這類問題的核心思想就是遞迴與回溯,我們只要把遞迴的方式與回溯的狀態儲存搞清楚了,這類問題基本上都可以用同樣的套路去求解,當然,可能對於某個具體的問題可能會有其他的更優的解法,本文暫且不討論,本文只...