Codeforces Lucky Permutation Triple

構造類問題,打表找規律題意:輸入n,產生一個n的全排列a,產生一個n的全排列b,從第1位到第n位,每個位上的對應的(ai+bi)%n=ci,然後得到n位的序列c,看看c是不是也是一個n的全排列,是的話就成功了,輸出。如果無論怎樣都找不到合適的a和b去構造出c,那麼就輸出-1這題一想通了,僅是那麼的水,但是自己還是很長時間去思考說說思考的過程1.很容易想到,題目是想我們我們構造一個合適的a,b,進而產生合適的c,雖然題目讓我們輸出任意一個合法的排列就可以了,但其實要我們找的不是排列方案,而是匹配方

《大話資料結構》第9章 排序 9.8 歸併排序(上)

9.8.1 歸併排序介紹        前面我們講了堆排序,因為它用到了完全二叉樹,充分利用了完全二叉樹的深度是⌊log2n⌋+1的特性,所以效率比較高。不過堆結構的設計本身是比較複雜的,老實說,能想出這樣的結構就挺不容易,有沒有更直接簡單的辦法利用完全二叉樹來排序呢?當然是有。        先來舉一個例子。你們知道高考一本、二本、專科分數線是如何劃分出來的嗎?       

夜鶯與玫瑰–王爾德(林徽因 譯)

“她說過只要我送給她一些紅玫瑰,她就願意與我跳舞,”一位年輕的學生大聲說道, “可是在我的花園裡,連一朵紅玫瑰也沒有。” 這番話給在聖櫟樹上自己巢中的夜鶯聽見了,她從綠葉叢中探出頭來,四處張望著。 “我的花園裡哪兒都找不到紅玫瑰,”他哭著說,一雙美麗的眼睛充滿了淚水。“唉, 難道幸福竟依賴於這麼細小的東西!我讀過智者們寫的所有文章,知識的一切奧秘也都裝在我的頭腦中,然而就因缺少一朵紅玫瑰我卻要過痛苦的生活。” “這兒總算有一位真正的戀人了,”夜鶯對自己說,“雖然我不認識他,但我會每夜每 夜地為他

Codeforces Continued Fractions

http://codeforces.com/contest/305/problem/B數學,類比題意:略這題,可以按照後面Hint那樣逆回來類比,但是long long會溢出,case 40#中的溢出,讓人沒了脾氣,剛好溢出又剛好能輸出YES,所以就正著類比,可以避開溢出問題,但是要注意一點為了敘述,我們就舉n=2的例子對於等式可以寫成  a1 + (1/x) = p/q , 如果它們相等,那麼我們先算出 p / q的整數部分 Int = p / q (電腦做除法自動取整)若Int  <

poj 1064 Cable master

二分題意:給出n條線段,以米的單位給出,小數點後兩位(精確到厘米),要你對這些線段裁剪,裁剪出m條等長的線段,並且讓這些線段儘可能長另外線段的長度不能小於1厘米,如果籌不夠m條,輸出0.00做法就是二分答案,但是二分的區間有講究一開始我認為長度的上限應該是  min { len[i] },即最短的那條線段,後來才想到是錯的,應該是max{ len[i] },因為有一點想當然了,認為裁剪線段,就是每條線段都要裁剪,其實不是的,並不是每條線段都要裁剪好像4

poj 1063 Flip and Shift

數學,規律,構造類問題題意,就是以任意一個點為中心,交換它左右兩個點的位置。一開始想這題,有個地方錯了,所以一直想不到,就是把所有黑子當成一樣的,白子當成一樣,這樣想也不是說錯,但是這樣想會限制了思維然後換一種思維,給所有棋子按1到n編號,就算顏色相同,編號也不同,是不同的棋子。然後我們看看交換的時候會發生什麼事情以點a為中心,那麼a-1和a+1發生交換,那麼也就是說,編號a-1的點去了a+1的位置,如果繼續交換的話,它還可以去到a+3,a+5……的位置,這裡有一個突破點就是,它所在的位置的奇偶

《大話資料結構》第9章 排序 9.7 堆排序(下)

9.7.2 堆排序演算法        堆排序(Heap Sort)就是利用堆(假設利用大頂堆)進行排序的方法。它的基本思想是,將待排序的序列構造成一個大頂堆。此時,整個序列的最大值就是堆頂的根結點。將它移走(其實就是將其與堆數組的末尾元素交換,此時末尾元素就是最大值),然後將剩餘的n-1個序列重新構造成一個堆,這樣就會得到n個元素中的次小值。如此反覆執行,便能得到一個有序序列了。        

《大話資料結構》第9章 排序 9.9 快速排序(上)

9.9.1 快速排序介紹        終於我們的高手要登場了,如果將來你工作後,你的老闆要讓你寫個排序演算法,而你會的演算法中竟然沒有快速排序,我想你還是不要聲張,偷偷去把快速排序演算法找來敲進電腦,這樣至少你不至於被大伙兒取笑。        事實上,不論是C++ STL、Java SDK或者.NET FrameWork SDK等開發套件中的原始碼裡都能找到它的某種實現版本。         快速排序演算法最早由圖靈獎獲得者Tony Hoare設計出來的,他在形式化方法理論,以及ALGOL6

從 tadalist 遷移到 remember the milk

大四實習的時候,因為找工作瀏覽招聘資訊知道了《Getting Real》這本書。當時沒有看,但既然有公司明確提出希望員工讀這本書,想必是一本不錯吧。這本書不是以某個個人名義寫的,書的封面上赫然寫著:by 37signals 。因此知道了37signals這家小巧卻優秀的公司。嘗試使用他們的產品還是去年(2011)在看完了《REWORK》這本書之後。我知道他們的大部分產品都是需要付費的,所以較少關注他們的產品,主要關注點還是在他們開發過程中的一些經驗心得,正如他們在《Getting Real》和《

解決Win7無法將程式附到工作列

windows系統有一個惹人討厭的地方,就是案頭上的捷徑左下角會有一個小箭頭,看著頗為不爽。以前用xp的時候,用最佳化大師或者類似的軟體都可以解決這個問題,把該死的箭頭去掉,或者你還可以自己直接進註冊表進行修改。現在用win7了,發現同樣可以使用上面的方法去掉小箭頭。但是win7還新增了一個功能,就是可以把捷徑鎖定到工作列,對於那些我們經常會用到的軟體,這樣就很是方便了。我也特別鐘愛win7提供的這個功能,它能改變我的習慣或者讓我堅持習慣!就在我為通過修改註冊表成功去掉小箭頭之後的某一天,發現我

hdu 3078 Network

LCA題意:單case,一棵無根樹,輸入焦點數和運算元,下面一行n個值代表每個點的權。下面n-1行是樹邊操作分為0 x w ,表示把點x的權改為wk a b , 求出,從a到b的路徑中,第k大的點權這題,沒什麼太特別的地方,一開始寫怕會逾時,最後沒有,就是直接按照題意來就可以了對於修改操作就直接修改對於查詢第k個權的操作,先求出a,b的lca,然後將a到b路徑上的點權都儲存在一個數組中,然後降序排序,輸出第k個元素即可 #include <iostream>#include <

ural 1779. The Great Team

圖論構造類問題題意:輸入n個點,要求你串連一些邊,使其變為無向圖,並且,在圖中任選3個點,這3個點的度都不會完全相等構造方法是對於奇數個點,第n/2+1個點不要連線,將點集分為相等的兩部分,1到n/2為一部分,n/2+2到n為一部分,從第一部分開始連線,都指向第二部分,1號點連n/2條,2號點連n/2-1條,3號點連n/2-2條………………n/2號點連1條對於偶數個點是一樣的,剛好能將點分為兩個部分,兩個部分的連線方法一樣(這構造太巧妙了,很容易就能看到不會有3個點的度相同) #include

hdu 3830 Checkers

 LCA + 二分(很好的題目,思維難度和編程技巧兼具的一題,但是寫起來又不會太麻煩,好題!)思路參考了網上題意:略,就是點間可以跳躍,但是不能越過兩個點,每次跳躍的距離就是兩點的距離 *

Ubuntu10.04安裝JDK

這個雖然以前安裝過幾次,但是記得還不是很牢,這兩天在我的新thinkpad上安裝了win7和Ubuntu10.4雙系統,當然也重新安裝了JDK,暫且記在下面。(1)到sun,當然現在歸了甲骨文,下載jdk,我下載的這個是目前是jdk-6u23-linux-i586.bin,不要下載.rpm的那個,在網上查了下,那個似乎是針對RedHat的版本。(2)cd進入放置jdk的目錄下,使用chmod +x jdk-6u23-linux-i586.bin更改此檔案的許可權,隨後執行./jdk-6u23-l

《大話資料結構》第9章 排序 9.8 歸併排序(下)

9.8.3 歸併排序複雜度分析        我們來分析一下歸併排序的時間複雜度,一趟歸併需要將SR[1]~SR[n]中相鄰的長度為h的有序序列進行兩兩歸併。並將結果放到TR1[1]~TR1[n]中,這需要將待排序序列中的所有記錄掃描一遍,因此耗費O(n)時間,而由完全二叉樹的深度可知,整個歸併排序需要進行⌈log2n⌉趟,因此,總的時間複雜度為O(nlogn),而且這是歸併排序演算法中最好、最壞、平均的時間效能。       

軟考經過收穫和感想

經過雖然幹了10年程式員,每每想到自己不是軟體科班出身,多少就有點遺憾。去年工作不忙,半離職狀態,所以心血來潮報了《全國電腦技術與軟體專業技術資格(水平)考試》的《軟體設計師》原因有兩個:1.據說軟體設計師高校通過率貌似也不高,如果我通過了,是不是就算重修了一下大學的基礎科目呢?2.幹了這麼多年無證程式員,也確實有點不甘心..咱又不是沒能力,幹嘛不弄個證呢?就用這種自我安慰的心態,一路報考、複習。大學畢業10年了,這個算第一次考試吧,所以自己也有點壓力,家裡有了寶寶,不是學習的好環境,因此我成了

MSIL學習筆記(03):第一個IL代碼的分析

前情回顧《MSIL學習筆記(01):ilasm和ildasm》《MSIL學習筆記(02):簡化ildasm產生的程式碼》兩篇筆記記錄了使用使用Ildasm反編譯了一個簡單的程式,並且在保證程式可以正常編譯執行的情況下,清理了一些不太重要的內容。為了方便閱讀,還是把C#源檔案和對應的IL代碼先貼出來C#源檔案using System;namespace ILSample{class Program {static void Main(string[] args) {

LCA題目總結hdu 2586 How far away ?poj 1986 Distance Querieshdu 2874 Connections between citieszoj 3195 D

好像LCA的題目並不多,現在就做了10道左右,但是找不到別的了,在此做個小總結,將來有更好的題目會不斷更新解決LCA問題,一般用3種方法1.樸素方法:兩個點都一直沿路徑往上走,直到有某一個節點被經過兩次並且是第一次出現這樣的點,那麼這個就是LCA此方法最好理解,但是用得不多,但不代表沒作用,有些題目還是需要用到的2.LCA轉RMQ(線上演算法):一般是將LCA轉為RMQ問題,用ST演算法求解,當然求解RMQ問題有很多方法,不過ST比較常用而已,這樣做能及時回答每一個詢問3.Tarjan演算法(離

poj 1020 Anniversary Cake

搜尋題意:先給出大方陣的邊長,再給出m個小方陣並給出每個方陣的邊長,問是否可以不發生重疊地把小方陣放進大方陣中,並且大方陣完全利用沒有剩餘這題的代碼不難寫,關鍵是要找到策略,這題的策略比搜尋本身的剪枝更有價值擺放小方陣的策略是,儘可能往上面擺,然後儘可能往左邊擺。另外有個策略一開始想錯了,我是想先把小方陣排序,先放好大的,再放好小的,這樣在擺放過程中可能出問題,畫圖可知,正確的策略是就目前的擺放情況,能放得到下哪個就放哪個,無所謂大小 為了滿足儘可能放在左上方的條件,需要記錄大方針的狀態col[

《大話資料結構》第9章 排序 9.9 快速排序(下)

9.9.4 快速排序最佳化        剛才講的快速排序還是有不少可以改進的地方,我們來看一些最佳化的方案。1.最佳化選取樞軸       

總頁數: 61357 1 .... 3441 3442 3443 3444 3445 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.