原创 C++矩陣及其加速—————求斐波拉契數列第n項講解

前言: 也許你只是不小心點入了此博客,爲了不眛自己的良心,首先我們會介紹什麼是矩陣。 概念: 在數學中,矩陣(Matrix)是一個按照長方陣列排列的實數或複數集合,最早來自於方程組的係數及常數所構成的方陣。 由m×n個數aij排成的m行n

原创 C++樹形DP—————二叉蘋果樹

題目描述: 有一棵蘋果樹,如果樹枝有分叉,一定是分 2 叉(就是說沒有隻有 1 個兒子的結點)。這棵樹共有 N 個結點(葉子點或者樹枝分叉點),編號爲1-N,樹根編號一定是 1。 我們用一根樹枝兩端連接的結點的編號來描述一根樹枝的位置。下

原创 C++容斥原理—————表達式計數

題目描述: 給出n個數,b1,b2,b3……bn,構造n個數,a1,a2,……an(ai>1),使得a1*a2*a3……an=b1*b2……bn; 問一共有多少種數列a1,a2,……an滿足上述條件。 輸入: 包含多組輸入數據 每組數據第

原创 C++數論容斥原理————無關的元素

題目描述; 對於給定的n個數a1,a2,...,an,依次求出相鄰兩數之和,將得到一個新數列。重複上述操作,最後結果將變成一個數。問這個數除以m的餘數與哪些數無關? 例如n=3,m=2時,第一次求和得到a1+a2,a2+a3,再次求和得到