【HDOJ 3267】Graph Game

題目連結給你一個圖,RB兩個玩家輪流給未塗色的邊塗色,R塗紅,B塗藍,R先;B玩家的目的是讓所有的點都能通過藍邊連通,R玩家則阻止B玩家成功,問你哪個玩家能獲勝。做了這題真心的感覺以前做的那麼多搜尋裡的剪枝都弱爆了,套上博弈外殼的這些搜尋題因為有了這麼個環境,剪枝就更加帥氣了:有哪些新奇的剪枝,什麼剪枝可以剪,什麼不能剪,比搜尋裡面的剪枝更有技巧性了。剛開始只加了Alpha_Beta剪枝和記憶化的代碼就狂交,TLE到死,肯定是過不了的。剪枝一:如果兩個點已經被藍邊連通了,那麼無論是對於R玩家還是

hdu 3594 Cactus

這題因為只有10組資料,輸出只有YES和NO,所以就出現了各種水過的代碼,好題不能就這樣埋沒掉啊,題解~~這題巧妙的利用了Tarjan強連通演算法low[]數組,根據仙人掌圖的三個性質判斷是否是仙人掌圖,詳細證明這裡性質1 仙人掌圖的DFS樹沒有橫向邊。性質2 Low(v)<=DFN(u) (v是u的兒子)性質3 設某個點v有a(u)個兒子的Low值小於DFS(u),同時u自己有b(u)條逆向邊。那麼a(u)+b(u)<2。 1 #include<cstdio> 2

使用 flickr API 上傳並擷取外鏈

這兩天寫一個python的自動從word讀取並向OJ的DIY添加題目的指令碼,其中一個最痛苦的地方莫過於圖片添加了。沒被牆並且以前用過的圖床只有flickr,第一次用API的方式寫代碼,一切都從零開始...使用flickr API首先要向flickr申請一個應用程式,flickr會提供一個API_KEY和密碼API_SECRET之後去下載了python相關的第三方API,試了 Beej's Python Flickr API 和

HDU 4101 Ali and Baba

一道絕好的題目,比賽開始時候看這題以為是博弈,又很麻煩,就沒去做,後來比賽後期時只有這題能做了就開想這題,發現這貨不是博弈...如果一開始就能拿到寶藏那麼就是Ali勝,否則的話兩個人會在敲破圍繞寶藏的那層石頭前一直磨嘰把其他能打到的石頭全部敲掉,這樣我們求出之前的敲擊次數的和然後判奇偶就行了做法是先從寶藏點dfs/bfs出一個能拿到寶藏的空白範圍A,然後從邊緣點bfs(dfs會爆棧,要手工加大棧區),掃到A的範圍為止(這個範圍為B),得到的那個相交層就是那個最後一步的範圍,為C。A範圍內的總和加

HDU 4138 Cipher

比賽時候推出了dp,但時間不夠了,沒敲出來,結束後理了下思路,並不算很難平常做按位dp,比如說求某一個範圍內滿足某個要求的數字串第幾個是多少,dp[i][j] 表示位元為i時以j開頭的串多少個,這題就算一個加強版,求價值為V的第I個串,就可以用一個dp[i][j]表示價值為i時第一個字元為j的串的個數,他還有一個空格的限制,於是dp外加一維dp[i][j][k]用k表示空格數,方程推起來也簡單,注意好不能連續空格就行了,然後從前往後去確定對應位置的字元標程用的是dp[75][20][2]的方法,

【CodeForces 83C】 Track

題目連結題目意思很簡單,給一個二維迷宮,起點為S,終點為T,其他位置為a-z小寫字母,問最多經過k種字母的最短路是多少,輸出經過的字母,如果有多種,輸出字典序最小的一個。因為CF多數都是SPJ,開始沒有注意到要最小字典序,以為就是一個簡單的搜尋,26個字母,只經過k種,很容易想到狀態壓縮,不過2^26*50*50太大了,開不了數組。看到k<=4就想到枚舉字母然後去搜,C(4,26)*50*50,可以接受就開敲了,敲完發現要最小字典序,也沒太在意,調整了下搜尋順序就交了,跪在了第13組,看了

Vmware-Tools for ubuntu(10.04)

VMware-Tools是虛擬機器VMware下面的工具,可以實現虛擬機器系統視窗解析度自動調整等功能。一般windows系統可以直接安裝VM-tools,linux 或 mac需要在終端下安裝。以下是ubuntu10.04基於Vmware workstation-7.1.2 build-301548下面的安裝過程。(其他類似) 1:在VM功能表列中選擇

【SRM543 Div2 1000】 EllysThreeRivers

記幾個前一段遇到的幾個比較好玩的題目,以後再來回味~~  題目連結在Div1各種被虐,就開小號做Div2,遇到了這麼一個題,題目意思很簡單:一個矩形地區豎直分為3部分,三條不同的河流,一個人從左下角遊到右上方,在三條河中的速度不同v1,v2,v3,還有一個v是豎直沿河走的速度,問最小時間。看到這個題目直接就想到了以前我出過的一個題目:忽略河的寬度的一個過河問題,出題時和Su_xing大神討論到當考慮河寬度的時候可以根據一個定理來搞,也就是費馬原理。費馬原理指出光在任意介質中從一點傳播到另一點時,

第二章-進程管理筆記(1)

2.1 進程的基本概念:  2.11 程式的順序執行及其特徵    程式的順序執行->必須按某種先後次序順序執行,僅當前操作執行完後,才能進行後續操作。    程式順序執行時的特徵:    •順序性    •封閉性(獨佔全機資源)    •可在現性     2.12 前驅圖(Precedence Graph)    前驅圖是一個有向非循環圖DAG,用於描述進程之間執行的先後關係。     →  =  { (pi, pj)  |  pi must complete before pj

指標和引用的差別

  (1)非空區別。在任何情況下都不能使用指向空值的引用。一個引用必須總是指向某些對象。因此如果你使用一個變數並讓它指向一個對象,但是該變數在某些時候也可能不指向任何對象,這時你應該把變數聲明為指標,因為這樣你可以賦空值給該變數。相反,如果變數肯定指向一個對象,例如你的設計不允許變數為空白,這是你就可以把變數聲明為引用。不存在指向空值的引用這個事實意味著使用引用的代碼效率比使用指標要高。  (2)合法性區別。在使用引用之前不需要測試它的合法性。相反,指標則應該總是被測試,防止其為空白。  (3)

【UVALive 5866】 Robot Arm Planning

題目連結今天做的一個題目,給你一個n截得機械臂,每節長度都是固定的100,可以繞每段的節點每次順時針或者逆時針旋轉45度。整個機械臂的下端固定在(0,0),問你最少多少次可以把頂端的半徑為10的球完全移到一個給出的矩形地區中。這題貌似非常暴力的方法(8^10)也能過,不過那樣多沒意思。開始理解錯題意了,以為每段是獨立的,只跟每個方向的杆子數目有關了,敲了4層迴圈枚舉枚舉杆子的方向和數目,敲完發現不對,下面的節點轉動,可以帶動上面所有杆子都轉動。這樣雖然還是只跟每個方向的杆子數目有關,但是就不能分

第二章-進程管理筆記(2)

2.2 進 程 控 制 2.21、2.22一些概念:  進程式控制制是進程管理中最基本的功能。建立、終止、可負責進程運行中的狀態轉換。  進程式控制制一般是由OS的核心中的原語來實現的。   原語(Primitive)是由若干條指令組成的,用於完成一定功能的一個過程。  它與一般過程的區別在於:它們是“原子操作(Action Operation)”。即不可分割、不允許中斷、常駐記憶體。   •進程圖(Process

類的this指標

  類的this指標有以下特點:  (1)this只能在成員函數中使用。  全域函數、靜態函數都不能使用this。  實際上,成員函數預設第一個參數為T* const this。  如:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class A{public:int func(int p)

堆實現的優先隊列模板

下面是自己手寫的優先隊列模板(預設是大頂堆,可通過重載小於符號改變)用法說明如下:1)priority_queue部分(用法參照stl)c-free庫函數協助裡提供的priority_queue用法說明如下:C++優先隊列類似隊列,但是在這個資料結構中的元素按照一定的斷言排列有序。empty()如果優先隊列為空白,則返回真pop()刪除第一個元素push()加入一個元素size()返回優先隊列中擁有的元素的個數top()返回優先隊列中有最高優先順序的元素2)堆的基本堆操作部分。用法如下:set_

人品學研究(1)

引言(暨人品守恒定律概論):  "人品既不能被創生,也不能被消滅。只能從一個人轉移到另一個人,  從一個層面轉化到另一個層面,在轉移和轉化的過程當中,人品的總和保持不變。"至此引出人品學(Characterics)三大定律:  第一定律:即人品守恒定律,在任何過程中,宇宙中人品總量保持為常數。        (也就是說,做好事增加人品做壞事損人品,遇到好事是以前積攢的人品起了作用,    遇到壞事是在為以後積攢人品,反正人品總量是不變的。)  第二定律:不可能把人品從一個人品低的人傳到一個人品高

內嵌函式和宏定義的差別

  內嵌函式和普通函數相比可以加快程式啟動並執行速度,因為不需要中斷調用,在編譯的時候內嵌函式可以直接唄鑲嵌到目標代碼中。  內嵌函式要做參數類型檢查,這是內嵌函式跟宏相比的優勢。  inline是指內嵌程式碼,就是在調用函數的地方不是跳轉,而是把代碼直接寫到那裡去。對於短小的代碼來說,inline可以帶來一定的效率提升,而且和C時代的宏函數相比,inline更安全可靠。可是這個是以增加空間消耗為代價的。至於是否需要inline函數就需要根據你的實際情況取捨了。  inline一般只用於如下情況

自己寫的一個 hacker.org 模板

在人人上看到好多大牛在刷hacker.org,開啟看也不知道怎麼玩,後來Su_Xing老祖告訴了我hacker.org的玩法:Challenge是各種類型的小謎題闖關,跟那些解密闖關的網頁遊戲類似,需要很廣泛的知識Bot

樹狀數組求區間最值

樹狀數組(Binary IndexTree)利用二進位的一些性質巧妙的劃分區間,是一種編程,時間和空間上都十分理想的求區間和的演算法,同樣我們可以利用樹狀數組優美的區間劃分方法來求一個序列的最值約定以 num[]  表示原數組, 以 idx[] 表示索引數組, Lowbit(x)=x&(-x) 樹狀數組求和時通過構造數組 idx[] 使 idx[k]=sum(num[tk]), tk[k-Lowbit(k)+1,k], 使用同樣的方法構造最值索引數組:以最大值為例,

第二章-進程管理筆記(3)

2.3 進 程 同 步 2.3.1 進程同步的基本概念  1.兩種形式的制約關係    在多道程式環境下,當程式並發執行時,由於資源共用和進程合作,使同處於一個系統中的諸進程之間可能存在著以下兩種形式的制約關係。    (1) 間接相互制約關係。源於共用著某種系統資源,如共用CPU、共用I/O裝置等。(A請求正在被B進程佔用的列印服務)  (2) 直接相互制約關係。源於進程間的合作。(B需要A進程向其提供資料) 2. 臨界資源(Critical Resouce)(如印表機、磁帶機等)

《作業系統》課程作業(資料結構實現-作業一:學生學籍管理程式)

作業一:學生學籍管理程式學生學籍管理通常使用資料庫為基礎的管理資訊系統(MIS)系統,但是我們這裡要求不使用資料庫技術,而是使用資料結構struct和鏈表操作完成管理工作。作業描述使用資料結構表示學生,記錄學生的相關資訊;學生資訊包括:學號sno、姓名sname、年齡sage、專業sprof、班級sclass。請設計合理的資料結構,容納這些資訊。完成學生的添加、修改、刪除和查詢等基本常用操作。使用鏈表表示學生所在班級隊列。背景知識1. 資料結構。2. 鏈表。代碼實現如下:發現簡單的代碼也不好寫。

總頁數: 61357 1 .... 6556 6557 6558 6559 6560 .... 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.