原创 openjudge1.11編程基礎之二分查找 04:網線主管

04:網線主管 總時間限制: 1000ms 內存限制: 65536kB 描述 仙境的居民們決定舉辦一場程序設計區域賽。裁判委員會完全由自願組成,他們承諾要組織一次史上最公正的比賽。他們決定將選手的電腦用星形拓撲結構連接在一起,即將

原创 木板

《高級數據結構》p95 例3-4 【算法提點】 樸素想法 貪心的算法,每次插入木板使木板右端儘量靠左。 設每次插入木板後最右端位置爲pre 考慮每一塊木板右端的值=max(p[i],pre+l[i]) 如果max=p[i] |    

原创 樹上倍增實現lca

LCA實現方法 1.dfs搜索樹形成歐拉序列用st算法維護區間最值 2.tarjan離線求lca 3.樹上倍增實現lca(方法如下) 模板代碼 #include<bits/stdc++.h> #define maxn

原创 次小生成樹——轉載於張鵬飛博客

一.理論準備 需要讀者事先懂得prime算法,不太瞭解的請看博主這一篇http://www.cnblogs.com/hxsyl/p/3286956.html,也需要讀者對DP瞭解一些。 先看一個結論:次小生成樹可由最小生成樹換一條

原创 銷售員

題目描述 阿明是一名推銷員,他奉命到螺絲街推銷他們公司的產品。螺絲街是一條死衚衕,出口與入口是同一個,街道的一側是圍牆,另一側是住戶。螺絲街一共有N家住戶,第i家住戶到入口的距離爲Si米。由於同一棟房子裏可以有多家住戶,所以可能有多家

原创 Gray碼生成

方法一: (1) 1階Gray碼是 0, 1; (2) 設n>1, 且n-1階Gray碼已定義好,       將n-1階Gray碼順序列一遍, 接下來       將n-1階Gray碼反序列一遍,       順序列的碼每個前面添0,

原创 有序表的最小和

有序表的最小和 【問題描述】 給出長度爲n得有序表A和B,在A和B中各取一個元素,可以得到n^2個和,求這些和中最小的n個 【輸入格式】 第一行包含一個整數n(n<=400000) 第二行與第三行分別n個整數,從小到大排列 【輸入樣例】

原创 RMQ問題之ST算法

ST算法的基本原理百度一下就可以知道   RMQ(Range Minimum/Maximum Query)問題是求區間最值問題。可以寫一個線段樹,但是預處理和查詢的複雜度都是O(logn)。這裏有更牛的算法,就是ST算法,它可以做到O

原创 Tarjan算法

定義 在有向圖G中,如果兩個頂點間至少存在一條路徑,稱兩個頂點強連通(strongly connected)。如果有向圖G的每兩個頂點都強連通,稱G是一個強連通圖。非強連通圖有向圖的極大強連通子圖,稱爲強連通分量(strongly con

原创 排列組合基本公式

基本原理 1.加法原理  集合S=s1∪s2∪s3..sm且si∩sj=∅(i<>j) 則s=s1+s2+s3..sm 2.乘法原理    s(a,b)    取a有p種,取b有q種    s=p*q 公式 1.對於集合s(沒有重複元