原创 Tarjan縮點算法的簡單應用

前言 這破題目害老子寫了一下午,還好總算寫出來了,用到的是Tarjan算法 不懂Tarjan算法的童鞋,強烈安利B站一位UP主的講解視頻,大神請繞路 像我這種蒟蒻只有看視頻聽人家講解才能會,自學算法好苦逼,看博客講解真他媽費勁   視頻鏈

原创 求最長上升子序列LIS(兩種解法)+ LCS向LIS問題的轉化

概念  Loggest Increasing Subsequence:最長上升子序列 Loggest Common Subsequnce: 最長公共子序列(兩個或多個序列的問題) 概念就不解釋了,,,大家應該都懂 解法 O(nlog(n)

原创 二分查找算法經典案列!!!

題目背景 一年一度的“跳石頭”比賽又要開始了! 題目描述 這項比賽將在一條筆直的河道中進行,河道中分佈着一些巨大岩石。組委會已經選擇好了兩塊岩石作爲比賽起點和終點。在起點和終點之間,有 NN 塊岩石(不含起點和終點的岩石)。在比賽過程中,

原创 藍橋杯 算法訓練 冪方分解 非遞歸解法

看到很多大佬用遞歸寫的。這裏小弟嘗試非遞歸解法   問題描述   任何一個正整數都可以用2的冪次方表示。例如:   137=27+23+20   同時約定方次用括號來表示,即ab 可表示爲a(b)。   由此可知,137可表示爲:   2

原创 用矩陣冪運算計算N的階乘

我採用矩陣冪運算的思想,計算了N的階乘。N小於1000都可計算   問題描述   輸入一個正整數n,輸出n!的值。   其中n!=1*2*3*…*n。 輸入格式   輸入包含一個正整數n,n<=1000。 輸出格式   輸出n!的準確值。

原创 C語言版 函數實現創建隨機單鏈表

不多廢話,先上代碼,原創。 #include<stdio.h> #include<stdlib.h> #include<time.h> //生成隨機鏈表 typedef struct node { int value; str

原创 C語言藍橋杯算法訓練--最大的最小公倍數

  問題描述 已知一個正整數N,問從1~N中任選出三個數,他們的最小公倍數最大可以爲多少。 輸入格式 輸入一個正整數N。 輸出格式 輸出一個整數,表示你找到的最小公倍數。 樣例輸入 9 樣例輸出 504 數據規模與約定 1 <= N <=

原创 歸併排序和無序數組的歸併排序

一、將兩個有序數組歸併排序 #include <stdio.h> #include <stdlib.h> int main() { int a[5],b[8],c[13]; //不失一般性,兩個數組的長度不一樣長 int i

原创 基礎算法—-輾轉相除求最大公約數

題目背景 約數 如果數 a 能被數 b 整除,a 就叫做 b 的倍數,b 就叫做 a 的約數。 最大公約數 最大公約數就是兩個數中,大家都能相約且最大的數。 輾轉相除法 輾轉相除法又名歐幾里得算法(Euclidean algorithm)

原创 代碼規範

一、空格和空行     1、空格         1)函數名後面不留空格,緊跟括號         2)關鍵字if、for、while等要跟一個空格再接括號         3)‘,’之後要留空格,for中的分號要接空格         

原创 《Python3.5從零開始學》

入門Python的一本好書:《Python3.5從零開始學》 之前在網上找了好久,包括CSDN其他博主的分享,發現都是假的。 於是就買了電子版