【二分圖多重匹配】POJ 2112

題意:給出一些擠奶機、奶牛,以及他們之間距離的權值,每隻奶牛都要走到任意一台機器中,每台機器最多為M只奶牛服務,問所有奶牛都完成任務,所走的路程最遠的那隻奶牛,所走的路程最短可以是多少。(0代表的是兩點之間沒有直接路徑。)  首先求出任意點間的最短路,由於資料量不大,可用Floyd。注意到,如果將奶牛、機器作為左右兩幅圖,做一次二分匹配,如果能將所有奶牛匹配完畢,即是完成了任務,這裡就是多重匹配。但題目要求最遠路程最小,需要二分長度,每次二分以是否能完成二分匹配為標準改變上下限。對於二分圖的多重

【KMP】POJ 2406

求一個串中有多少重複字串?如ababab中結果為3,a = ab。方法:利用KMP的預先處理得出數組p[i],很容易得出a長度為len - p[len]。#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include <time.h>

【二分圖多重匹配】POJ 2289

改進的匈牙利188ms水過。。。。#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include <cstdio>#include <math.h>#include <iomanip>#include <

【KMP模板】POJ 3461

kmp模板題,不懂可看Matrix67's blog 複雜度分攤為O(n)#define N 1000010char w[10005];//short stringchar t[1000005];//long stringint p[10005];//數組p[j],表示當匹配到B數組(主串)的第j個字母而第j+1個字母不能匹配了時,新的j最大是多少int sum;int n,m;void gao(){//對模式串預先處理p數組 int i,j = 0; p[1] = 0;

【KMP】POJ 1961

這題跟POJ 2752差不多,因為要求首碼,所以要從前到後遍曆求出每個滿足要求的首碼。#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include <time.h>#include <cstdio>#include

【KMP】POJ 2185

題目貌似有點難理解,忍不住看了一下解題報告。。。囧方法:對每行求最小重複長度,求出lcm,記為ans1;再對每列求最小重複長度,求出lcm,記為ans2ans1*ans2就是最後答案#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include

【KMP】POJ 2752

理解好kmp演算法中的p數組的含義(常用next數組,但我習慣命名為p^_^),p數組含義是第i個字元跟首碼中最長的k個相同,所以從最後一個一直往回找j = p[ j ],就是結果,注意從小到大輸出。#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>

【尾碼數組求重複次數最多的連續重複子串】SPOJ687 POJ3693

spoj 687#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include <cstdio>#include <math.h>#include <iomanip>#include

【二叉樹】POJ 2255

題意很簡單,給出一棵樹的前序&中序遍曆,輸出後續遍曆。首先我們來研究一下第一個sample:DBACEGF        ABCDEFG前序走訪是先是從根節點->左子樹->右子樹;而中序遍曆則是左子樹->根節點->右子樹。所以DBACEGF中D是根, ABC DEFG 中序可以找左子樹&右子樹,此時把D放在輸出數組的最後一個,然後先遞迴處理右子樹再處理左子樹。#include <map>#include <set>#include

【trie樹】hdu 1305

看來一個大牛的code,好厲害,完全不用結構體啥的去建樹,就只利用數組的下標關係去記錄,贊~#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include <time.h>#include

【並查集】hdu 2818

這題算是並查集的變形,每個blocks需要記錄三個資訊分別是under(位於x以下的個數),cnt(該block所在堆的積木個數),fa(父親是誰,注意這個父親是位於當前block的下面那個)。接著就利用並查集的壓縮路徑回溯時更新under數組。#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>

【二叉搜尋樹】hdu 3791

二叉搜尋樹:左子樹比根小,右子樹比根大,中序遍曆會得出有序序列。#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include <time.h>#include <cstdio>#include

【codeforces #91 div2】

A,B水題。C:暴力枚舉l~r之間的lucky number,因為最多約有1500個lucky number,所以可以大膽暴力!注意int溢出#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include

Codeforces Beta Round #95 (Div. 2) F – Present to Mom

其實這算是一道水題,方法比較暴力,題意問有多少個矩形能夠包含至少k個題中的star(允許相交),於是可以預先處理一下,用數組a[i][j]記錄(i,j)的左上方有多少個星形中心,接著就用兩個迴圈把行定下來,對列進行遍曆,其中的數學關係我是畫圖推出x = a[j-1][r-1] + a[i][l] - a[i][r-1] - a[j-1][l];代表當前矩形有多少個星形(包括相交的情況),如果比k還少右邊界就要向右擴充,比k大就直接加上矩形右邊餘下的列數然後左邊界向右擴充。#include

【最小路徑覆蓋】POJ 2060

題意是求最小用幾輛出租車完成n個任務,方法:最小路徑覆蓋= 點數 - 最大匹配數,這裡有個注意的細節http://www.cnblogs.com/ka200812/archive/2011/07/31/2122641.html#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include &

【KMP】Codeforces Beta Round #93 (Div. 2 Only) D

solution:用一個數組記錄該字元對應首碼中某個字元的下標(下標從1開始而且是必須是連續的),譬如ababab,就有i     p[i]1--->02--->03--->14--->25--->36--->4接著就檢查2~len - 1中是否有p[i] == x,各種亂搞。#include <map>#include <set>#include <list>#include <queue>#include &

【樹形DP】hdu 1520

dp[i][0]表示不取該點,dp[i][1]取該點轉移方程:dp[i][1] = w[i] + ∑dp[j][0];                    dp[i][0] = ∑max(dp[j][0] , dp[j][1]);(j為i的兒子) #include <map>#include <set>#include <list>#include <queue>#include <deque>#include

【最小路徑覆蓋模板題】POJ 1422

#include <map>#include <set>#include <list>#include <queue>#include <deque>#include <stack>#include <string>#include <cstdio>#include <math.h>#include <iomanip>#include

【完全二分匹配必須邊】POJ 1486

剛開始沒看清楚題目,直接匈牙利演算法,後來看到一句話Then print a series of all the slides whose numbers can be uniquely determined from the input輸出要唯一!就是問每條邊是否唯一,做法:先用一次匈牙利求出一個匹配,再逐條邊拆,當出現另一個完全符合時就是none,否則可以輸出結果。注意match[i] = j的i是x,j是y。#include <map>#include <set>#

Codeforces Round #102 (Div. 2)

昨晚各種傻x,首先B數組開小了過不了ST,然後傻x的去做了D,結果規律找錯了(都怪sample下面再解釋),結果錯過了C,C很水,直接暴力就可過。A、B水不解釋C數學題,分解n的因子就可以,直接爆330ms過,注意64位D規律題,分情況討論:預設n為最小邊①n=1,結果是n*m②n=2,最優解的情況是以4列為一組,其中前兩列填滿4個,具體可以畫圖試試③n>2,最優解是每一行畫一個隔一個空格,注意要兩列兩列的錯開,所以有(n*m+1)/2個ps:sample有點誤導人的嫌疑,我一味的想著sa

總頁數: 61357 1 .... 13156 13157 13158 13159 13160 .... 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.