原创 快速尋找第k大元素

一個好的算法往往是在樸素的想法上進行加工改造,我們要求數組中的第k大元素,往往最先想到的想法是先進行降序排序,可以很快的達到答案。但排序在序列元素很多時,無疑是一個浩大的工程。要至少耗費O(logn)的時間複雜度,如果想在線性時間O(n)

原创 安卓等待子線程~

找了一天可算找到解決方法 了 - -,吃了沒系統學過安卓的虧,博客第一次更新acm以外的內容 public class MainActivity extends Activity {     private Handler uiHandl

原创 P1308 統計單詞數

很不熟悉字符串處理,我的acm之旅也是跪在了字符串上,這次比賽碰巧字符串的題這麼多。。。 無所謂了,已經退役了,專心考研,刷題只是慣性和興趣,刷刷簡單的題開心開心就好~ 這道題是一道水題,但是如果能對c++的自帶函數比較熟悉寫起來會簡單的

原创 洛谷p1047樹狀數組

看到有樹狀數組的解法就以爲是用區間更新區間查詢做的,結果怎麼都想不到怎麼樣來實現樹最多割一次。 看了一下別人的題解,才頓悟:不是題目有區間更新區間查詢就必須維護一個區間更區間查的樹狀數組。。 這道題應該用區間更單點查的樹狀數組。太不靈活了

原创 poj3666 dp + 離散化

題目大意: 農夫約翰想修一條儘量平緩的路,路的每一段海拔是A_i,修理後是B_i,花費|A_i – B_i|,求最小花費。   最小花費有可能是單調非降,也有可能是單調非增,因爲題目數據比較水,只求單調非降就可以   第一步 定義dp

原创 poj3181 完全揹包三維轉二維優化 + 滾動數組 + 高精度數處理

好久沒寫博客,感覺寫題還是用博客總結效果好一點。以後會堅持寫下去的 題意:給你兩個整數 N和K,讓求利用1到k這些數(每個數的數量不限),拼成N有多少種方案。   顯而易見這是一個完全揹包問題。我們將dp[i][j]定義如下:由前i個數拼

原创 sss

package com.example.yueboyang.jggl; /** * Created by yueboyang on 2018/11/21. */ import android.content.I

原创 用歐幾里得擴展求不定方程的一組整數解

用歐幾里德擴展求解不定方程的整數解:   上回說到輾轉相除法也就是歐幾里德算法:鏈接 https://blog.csdn.net/qq_39652552/article/details/84073880 其中有個重要的性質 gcd(a,b

原创 o(n)時間判斷素數的歐拉篩法

篩選素數,埃氏篩法雖然時間複雜度可以到達o(logn)的時間複雜度 ,但是仍有優化的空間,因爲像6會被2篩出來一次,3篩出來一次,重複篩選,想要進一步提高就是解決這些重複篩選的情況。 一個合數,可以由兩個數相乘得到,同樣的,也可以表示成爲

原创 輾轉相除法(求最大公約數)

樸素的求最大公約數方法是 對於所要求最大公約數的a,b,枚舉從 min(a,b) 到 1的數,看看那個數滿足 a % x && b% x == 0 輾轉相除法對其起到了極大的優化,它的核心依據是 a和b的最大公約數是也是 b和a%b 的最

原创 快速冪運算和快速冪取模運算

如果我們要求一個數x的n次冪,樸素的想法是讓n個x相乘。對與n很大的情況,會造成一定的時間浪費。 這裏講解一下o(nlogn)的快速冪解法 我們考察a^11 次方。我們將它的冪用二進制形式表示(11轉化爲二進制是1011)也就是a^101

原创 貪心算法——任務安排

給定一臺有m個儲存空間的單進程機器; 現有n個 請求:第i個請求計算時需要佔用R[i]個空間,計算完成後,儲存計算結果需要佔用O[i]個空間(其中O[i]<R[i])。問如何安排 這n個請求的順序,使得所有請求都能完成。 如:m=14,n

原创 用O(nlogn)求特定的最長公共子序列

時間限制:1 sec 空間限制:256 MB 問題描述 給定兩個 1 到 n 的排列 A,B (即長度爲 n 的序列,其中 [1,n] 之間的所有數都出現了恰好一次)。 求它們的最長公共子序列長度。 輸入格式 第一行一個整數 n ,意義見

原创 揹包問題拓展(前綴揹包後綴揹包)

描述 n個物品,每個物品有一個體積v和價值w。現在你要回答,把一個物品丟棄後,剩下的物品裝進一個大小爲V的揹包裏能得到的最大價值是多少。 輸入 輸入的第一行包含一個正整數n(n ≤ 5000)。 接下來n行,每行包含兩個正整數v和w(v,

原创 單調棧應用POJ3250 + 單調序列

參考:https://blog.csdn.net/zuzhiang/article/details/78134247 單調棧,顧名思義,是棧內元素保持一定單調性(單調遞增或單調遞減或是其他性質)的棧。 我們假如有這樣一個問題(poj325