PKU 1020 Anniversary Cake(Dfs)

一道簡單的搜尋題,我卻做了兩天,真是失敗,從剛開始,沒有思路,到想到方法,再到如何?,從N次wrong後,到TLE,再剪枝最佳化,最後Accept,可謂一路辛苦,其中也多虧大牛的提示。        題意是把一個大蛋糕(邊長為E),能否切成給定s(s<15)個邊長為Ei(1=<Ei<=10)的小蛋糕,所有的蛋糕都是正方形.題目的規模不是很多,應該是深搜來拼,剛開始一點頭緒也沒有,以前只搜過點。    

: 談談網路爬蟲設計中的問題

網路蜘蛛現在開源的已經有好幾個了,Larbin,Nutch,Heritrix都各有使用者之地,要做一個自己的爬蟲要解決好多個問題,比如調度演算法、更新策略、分布式儲存等,我們來一一看一下。一個爬蟲要做的事主要有以下這些從一個網頁入口,分析連結,一層一層的遍曆,或者從一組網頁入口,或者從一個rss源列表開始爬rss;擷取每個頁面的源碼儲存在磁碟或者資料庫裡;遍曆抓下來的網頁進行處理,比如提取本文,消重等;根據用途把處理後的文本進行索引、分類、聚類等操作。以上是個人理解哦,呵呵。這些過程中,大約有如

Poj 1157(動態規劃)

題目大意:輸入兩個整數 F 和 V,分別表示花的數量和花瓶的數量,接下來輸入F行V列的表格如下;               a[i][j]表示花i放在瓶j裡面的價值;規定把F束花放在V個花瓶裡,使花的相對順序不能變,                即1在2前面,2在3前面......。 

hdu Coin Game(11阿里巴巴網路賽)

題意:給你n個硬幣是環狀的,編號1-n,只能翻轉連續的且不超過k個的硬幣。這題有點像nim問題,第一步翻後環必然斷開,但是後面翻轉可能將原來一段的分成兩段。這就有點難想了,但是有個必勝策略,就是你能將這段分成等長的兩段,後面對手怎麼翻,你就在另一段怎麼翻,這樣就可以保證你贏了,這樣的話你會發現當你能翻轉大於1的硬幣時,必能分成兩段。現在就是這樣了,先手先翻,若不能翻完,則後手分段,能分成兩個等長的段就能贏,顯然當只能翻轉1個的時候要特判,這樣就解決了。代碼#include<stdio.h&

開始搬家啦~~HDU 題目分類

1001       這個就不用說了吧  1002       簡單的大數  1003       DP經典問題,最大連續子段和  1004       簡單題  1005       找規律(迴圈點)  1006       感覺有點BT的題,我到現在還沒過  1007       經典問題,最近點對問題,用分治  1008       簡單題  1009       貪心  1010       搜尋題,剪枝很關鍵  1011         1012       簡單題  1013    

ZOJ 1160 Biorhythms (中國剩餘定理)

          中國剩餘定理: 若s分別被di(di必須互質)(0<i<=n)除的餘數分別為ci(0<i<=n),則s=R1*c1+R2*c2+R3*c3+....Rn*cn;其中Ri(0<i<=n)表示dj中(i!=j)的最小公倍數,且Ri%di==1。 若要求滿足條件的最小s,再對(d1*d2*d3..*dn)模數即可。*********************************************題意就是解這個方程:            

迭代法求平方根

簡介  迭代法也稱輾轉法,是一種不斷用變數的舊值遞推新值的過程,跟迭代法相對應的是直接法(或者稱為一次解法),即一次性解決問題。迭代法又分為精確迭代和近似迭代。“二分法”和“牛頓迭代法”屬於近似迭代法。  迭代演算法是用電腦解決問題的一種基本方法。它利用電腦運算速度快、適合做重複性操作的特點,讓電腦對一組指令(或一定步驟)進行重複執行,在每次執行這組指令(或這些步驟)時,都從變數的原值推出它的一個新值。/**用迭代法求平方根**/#include <stdio.h>int main(

09歐冠對曼聯–酋長球場徹底淪陷

歐冠對主場曼聯的比賽進行了11分鐘就已經結束了,由于吉布斯摔的這一跤徹底破滅了阿森納的這個賽季唯一的希望,相繼C羅的進球,我們已毫無希望,我相信全世界的阿森納球迷這一刻都很心痛了。我們不能怪後衛的失誤,只能說上帝不夠眷戀我們。今晚無法入眠,跟06年歐冠決賽一樣,這也注將被銘記。年輕是要付出代價,只希望他們慢慢成熟。阿森納是一個特殊的俱樂部,即使拿不到冠軍也會有很多的球迷,因為這裡有最純粹的而不是有用金錢捧著的足球,這裡有世界上最好的青年軍,有最華麗的表演。這個賽季又0冠了,肯定會有人離開,我們不

CF D. Buses

這題題意是從0到0=<n<=10^9有n個汽車站,現在有0<=m<=10^5輛車,告訴你每輛車經過的站,你只要上了這一輛車,就必須坐到這輛車的終點站,才能下車,求你到第n個車站有多少種乘車方法。設定狀態dp[i]表示到達第i個站的乘車方法,這樣好像不行n<10^9,顯然可以發現狀態轉移就是每輛車的經過車站都可以上車,那麼總站就可以由這個車其他的車站轉移過來,但是由於你只能在終點站下車,所以你上車的地方也只能是下車的地方,下車的地方就10^5可以存的下,顯然dp[i]

Poj-2299 [用歸併排序求逆序數的個數]

歸併排序具體可見《演算法導論》——分治法。下例為POJ上2299題,用的是歸併法求逆序數的個數:/** 題目的意思就是要求冒泡排序的交換次數。 所用的演算法:用歸併排序,求逆序數的個數。 ##這道題充分印證了,即使merge本身可能用的不多,但分冶的思想卻是無所不在**/#include <stdio.h>int left[250003], right[250003];long long count;void merge(int* a, int p, int q,

尾碼數組學習筆記(一)

    研究了一個星期的尾碼數組,過程很痛苦,但還是有很多收穫,付出更收穫真的成正比的。發現尾碼數組的強大功能,需慢慢領會。尾碼數組可以代替尾碼樹巧妙的解決大多數字串問題,其強大功能主要有三個數組:   1.suff[i],存放字串S產生的尾碼數組中排在第i位置,也就是將的n個尾碼從小到大排序後把排好序的尾碼的開頭位置順次放入到suff中。    2.rank[i],rank數組跟suff[i]相對應,suff[i]是排第i的在哪,rank[i]表示第i個開始的字串排第幾,即rank[suff[

匯總]搜尋題目推薦及解題報告

[匯總]搜尋題目推薦及解題報告(8.28更新)2008-06-28 14:31以前的文章要麼太分散,要麼太淩亂,故現在開始,對每一個分類做一個長期更新的匯總貼。格式說明:題目名後面列出個人此題的大致難度(對菜鳥而言)POJ 1069 -The Bermuda

POJ 1222 熄燈遊戲

題目連結:http://acm.pku.edu.cn/JudgeOnline/problem?id=1222題目大意:給你一個5行6列的矩陣分別表示30個燈,矩陣map[i][j]=1表示燈亮著, =0表示燈沒亮。要求你輸出解決方案                press[][],press[i][j]=1表示按一下,=0表示不按。使得最後狀態為所有燈都熄滅。 首先找出其中的一些規律:(1)第2次按下同一個按鈕時,將抵消第1次按下時所產生的結果。因此,每個按鈕最多隻需要按下一次;       

帶負權的單源最短路徑

     昨天比賽的時候碰到了帶負權的單源最短路徑的題目,沒做出來,Dijkstra不可以求帶負權的最短路。學習了一下Bellman-ford演算法。 Bellman-ford演算法可以在O(VE) 的時間內求出帶負權的單源最短路(除存在負權迴路),而且可以判斷圖中是否存在負權迴路。我覺的Bellman-ford演算法的關鍵點在於在一個|v

歸併排序及逆序對演算法

排序都用Qsort了,別的排序演算法不怎麼用,但有些排序的思想很重要。碰到一道求逆序對的題,要用到歸併排序,學習了一下歸併排序。歸併排序是用分治思想,分治模式在每一層遞迴上有三個步驟:                               分解:將n個元素分成個含n/2個元素的子序列。                               解決:用合并排序法對兩個子序列遞迴的排序。                              

POJ 1054 惱人的青蛙 [ 枚舉+剪枝 ]

   主要思想就是:先排序(按行號升序,若行號相等就按列號升序);再枚舉每兩個點,以兩個點分別為青蛙所走路線上的第一個點和第二個點(在枚舉的過程中的剪枝非常重要);// 枚舉 + 剪枝#include <stdio.h>#include <stdlib.h>int R, C, map[5001][5001];typedef struct{ int x, y;} COORD;COORD a[5001];int compare(const void* a,

VC: 非MFC程式TRACE和ASSERT宏的一種實現方法

 非MFC程式TRACE和ASSERT宏的一種實現方法 收藏     我們知道TRACE和ASSERT宏是MFC架構程式內建的。但是要在非MFC程式中使用這兩個宏,我們怎麼實現呢。這裡給出一種實現的方法。將這兩個宏在debug.h檔案中實現。程式包含這個標頭檔就可以了。標頭檔及說明如下: #ifndef _DEBUG_H_#define _DEBUG_H_#ifndef __AFX_H__#define _T(x) x#if defined _DEBUG#include <stdio.h&

PKU 1753 Flip Game(Bfs+ 位壓縮狀態)

        一個不錯的Bfs,它的價值在於狀態的儲存,做這道題就是為了學習如何用位儲存狀態。雖然看了網上的思路,也算入了門吧!       題目的意思:   給定一個4*4格的棋盤,每一個格子是黑的或者白的,現在有一個規則:每當把一個格子變成它相反的顏色,那麼相鄰的格子(上下左右)的顏色也將變成它與原來相反的顏色。那麼,給出一種演算法,對於一個給定的棋盤,把它的格子全部變成白色或黑色。       直接BFs就可以,其中關鍵是狀態的儲存,可以用1表示黑色,0表示白色。則一個狀態可以用16位2

pku 3635 Full Tank? 優先隊列+BFS

用二維數組state[C][fuel], 表示在城市C油量為fuel時的最小代價. 怎樣在一個節點上進行狀態轉移? 1. 把該節點的油量加1, 以供繼續拓展. 2. 直接到其他可達節點. 注意: 1. 應使用優先隊列(最小堆)最佳化搜尋速度. 2. 用鄰接表表示一個節點所有相鄰的節點, 效率更高. #include <iostream>#include <cstring>#include <cstdio>#include <queue>using

HOJ——Monthly09.03,Monthly09.04 很菜!很慘!!!

湖大3,4月比賽結束了,輸的很慘,感覺很失望,一共A了三題,實在不好意思說出來,記得第一次月賽的時候,沒什麼壓力,就是去開開眼界,也做了兩道,現在越菜了。題目不是很難,還是基礎沒打好,總不想做水題,才導致今天的悲慘下場。三月月賽的時候剛開始拿到題時,看了第一題,覺得就是Dijkstra,求最短路的條數,就敲了了,我是用Dfs求路徑條數的(大牛莫笑),一直TLE,沒辦法,看了一下rank發現E題過的人比較多,就去看題,題目不難,就寫了,可不是runtime

總頁數: 61357 1 .... 20344 20345 20346 20347 20348 .... 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.