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