hdu 1598 枚舉+並查集

聯通起始點的邊權範圍就是這些邊權的最大最小值,而邊數為1000,所以可以枚舉這個範圍,然後判斷對於每一個範圍是否聯通。進一步的,可以枚舉最小值並依此加入更長邊,直到起始點聯通,得到該最小值下的最優解。#include <iostream>#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <map>#include <

求1到n關於p逆元)

求1到n關於p逆元 的新方法說是新方法。。可能只是我沒見過,(肯定比jzp論文裡的簡單)。。。神犇輕D。 求出1 到n的階乘mod p 存為f求出f[i]的逆元 v[i]然後i的逆元就是v[i]*f[i-1]求v[i]的方法是、先求v[n],這個exgcd或者快速冪然後v[i]=v[i+1]*(i+1)%p 附上原先的方法(xcr給我的)。令v[i]為i的逆元。令a=p/i,b=p%i。那麼p=a*i+b。從小到大遞推。b的逆元我們已經求出來了。那麼a*i = -b mod pb^(-1)*a*

hdu 3926 特殊同構圖+並查集

關鍵是注意到,每個點的度至多為2,所以整個圖是由一些獨立的鏈和環構成的。然後統計某種鏈或是環的個數,如果同種鏈或環的數目相同,則是同構圖。#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define maxn 10010struct bcj { int fa,num; bool

Wireless Password hdu2825

AC自動機+狀態壓縮遞推#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm>#include <vector>#include <cstring>#include <stack>#include

二分圖匹配演算法匯總

常見的二分圖匹配演算法有匈牙利演算法和Hopcroft_Karp演算法。其實不僅二分圖,即使是有奇環的圖以可以用這些演算法尋找匹配(邊獨立集),因為它們都是尋找增廣路(交錯軌)的演算法,而圖中沒有增廣路是得到最大匹配的充要條件(這點還不理解)。二分圖中 點覆蓋數=邊獨立數(匹配數)進而 |V|-點獨立數=邊獨立數

Ring hdu 2296

AC自動機+DP,這題盡量不要用string,我用string TLE了, string串連串時效率很低...#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm>#include <vector>#include

尾碼數組(模板)——來自MovingforACM

轉載自:http://blog.sina.com.cn/s/blog_9ddf28c5010119e1.html尾碼數組(模板)    今天學習了尾碼數組,感覺只有排序部分比較糾結,整個演算法還是比較好懂的,把排序跳過來理解這個演算法,其實它比kmp還要簡單,下面貼一段排序和求最長公用首碼的模板,以後還會更新,把對整個演算法應用的理解寫上去。    排序主要有兩種:倍增法和DC3,求lcp的演算法一般只有一種,時間複雜度很低,沒有必要再進行沒有意義的最佳化。//【倍增法模板】:int

Good Article Good sentence HDOJ4416

做了這題,不得不說對尾碼數組的理解還是不深刻(感覺這題SAM也可以搞,等學透了SAM再來看看這題),題意就是求第一個串S1中有多少個子串不是其他串Si(i > 1)的子串,老規矩,先把串都串連起來,中間用不同的字元串連起來, 然後求每個S1的尾碼與其他串Si的尾碼的lcp,這表明該尾碼有lcp的子串是其他串的子串,這裡求lcp不用把每個S1的尾碼與Si的尾碼求lcp,根據尾碼數組的性質,只要從左右兩邊掃描一遍即可(具體見代碼),最後排除掉S1串中本身重複的子串,

DNA repair hdu2457

AC自動機+DP#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm>#include <vector>#include <cstring>#include <stack>#include

Corporate Identity poj3450

SAM和SA都可以搞,練習一下SAM輸出答案。#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm>#include <vector>#include <cstring>#include <stack>#include

poj 1155 TELE

樹形dp一道,開始想到的狀態table[i][j]表示節點i為根的子樹花費上限為j所能供給的最多觀眾,後來發現花費並沒有辦法得出,所以換另一種狀態表示table[i][j]表示以節點i為根的子樹供給j位觀眾所能得到的最大利益,狀態轉移方程為 table[i][j] = max(∑table[a][b])(a為i的兒子節點,∑b = j),複雜度為O(n*m^2),貌似要逾時,不過資料還是沒那麼恐怖的,沒有想到怎麼最佳化到O(n*m)。#include

Searching the String zju3228

通過這題改正了以前一個重複模板匹配很低效的地方,見注釋#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm>#include <vector>#include <cstring>#include <stack>#include

NOI 06 最大獲利

http://www.rqnoj.cn/Problem_556.html題目描述新的技術正衝擊著手機通訊市場,對於各大電訊廠商來說,這既是機遇,更是挑戰。THU 集團旗下的CS&T 通訊公司在新一代通訊技術血戰的前夜,需要做太多的準備工作,僅就站址選擇一項,就需要完成前期市場研究、站址勘測、最佳化等項目。在前期市場調查和站址勘測之後,公司得到了一共N

Lost’s revenge hdu3341

AC自動機+狀態壓縮DP, 由於時限卡的比較死,進位高低位的選擇不同可能會導致TLE(o(╯□╰)o),詳細見注釋#include <iostream>#include <cstdio>#include <cstdlib>#include <cmath>#include <queue>#include <algorithm>#include <vector>#include

Palindromic Subsequence UVA11404

逆序後求LCS,然後找出i+j == len情況的最長最小的LCS(子序列在1~i中出現,且其逆序列在i+1到len中出現,對應於迴文串偶數情況), (i+j == len-1情況的最長最小的LCS+str[i+1])(子序列在1~iz中出現,且其逆序在i+2到len中出現,注意其中包括子序列為空白的情況,即迴文串中只有一個字元,對應於迴文串奇數情況),從這倆種情況中找出最優解#include <iostream>#include <cstdio>#include

b179: 空罐 Cans

連結:http://zerojudge.tw/ShowProblem?problemid=b179思路仿照hh犇,table[i][j][k]表示第i次轉移後長度為j所在節點為k的串的種數分裂的基因直接用ch轉移,而對於變短要分倆種情況討論,當前長度小於等於所在節點的深度時使用fail指標轉移(實際上當前長度小於節點深度這種情況是不存在的,所以只考慮等於的情況即可),這相當於把當前的串去掉首字母后再從樹根尋找所得到的節點位置,而且由於當前串不包含任何病態基因,所以這種轉移是正確的,第二種是當前串

什麼是P問題、NP問題和NPC問題

這或許是眾多OIer最大的誤區之一。   

Resource Archiver hdu3247

通過這題加深了對trie圖的認識,trie圖建好之後,匹配就不再需要fail指標了,在解決產生串類問題中,由於有禁止的包含的串,一定不能用fail指標進行轉移,否則產生的串中有可能包含禁止串。 這道題關鍵在bfs求0點和resource串尾節點這些點倆倆之間最小距離,有倆種方法,第一種是只通過ch來轉移,但這樣求出來的最短路不一定是最短的,因為有些resource串可能是另一些resource串的尾碼,這相當於他們之間的最短路徑是0,而這種情況是沒有被考慮進來的,所以這就要求我們在DP轉移時做文

SPLAY真乃神樹也

開始以為splay就是普通的BST,後來看了hh神和撞神的文章才知道splay可以當做線段樹用,而且還可以完成區間插入和區間刪除等這些線段樹完成不了的工作,及其的靈活.Daniel Sleator & Robert Tarjan & ACMer & OIer ORZpoj 3667#include <iostream>#include <cstdio>#include <cstdlib>#include

Password Suspects LA4126

AC自動機+狀態壓縮遞推,通過這題主要學習了一下輸出答案的方法,DP的話輸出狀態比較好辦,因為最優決策一般只是一條路徑,所以記錄一下前驅可以用線性複雜度輸出路徑,而遞推確是多條路徑的合集,輸出路徑比較麻煩,需要根據最終狀態向前遞推,並把經過的路徑節點全部標記出來,由於遞推狀態設計本身是不會有重複的路徑的,所以最後再從頭dfs一遍訪問過的節點並且記錄,當遞迴深度合適時,輸出記錄即可。#include <iostream>#include <cstdio>#include &

總頁數: 61357 1 .... 16881 16882 16883 16884 16885 .... 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.