HDU 3313 Key Vertex 胡搞(網路流最小割拆點什麼的人家才不會呢)

problem大意:給you一個無loop有向graph,求它的key vertex數目。(最近剛過了英語六級,耶,1Y,炫耀~~~~~) 什麼是key

HDU 1556 Color the ball [區間更新+單點查詢]

樹狀數組專輯樹狀數組,區間更新+單點查詢代碼:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<string>#include<vector>#include<map>#include<algorithm>using namespace std;inline int Rint() { int x;

第k大區間和問題的樹狀數組實現

問題描述:    給定一個整數序列a[1..N],定義sum[i][j]=a[i]+a[i+l]+……+a[j],將所有的sum[i][j]從小到大排序(其中i,j滿足1<=i<=j<=N),得到一個長為N*(N+1)/2的序列,求該序列中的第k個元素。輸入格式(ktm.in)    第一行有兩個整數N,k,其中0<N<=20000,1<=k<=N*(N+1)/2,資料保證任何一個sum[i][j]的絕對值不超過2^30。    接下來N行每行一個整數。

二分圖匹配的H-K演算法

        演算法的具體描述請看http://chenhaifeng.blog.edu.cn/2007/91117.html,我只是來貼代碼的。     

POJ 2947 Widget Factory 高斯消元

轉載請註明出處,謝謝 http://blog.csdn.net/ACM_cxlove?viewmode=contents           by---cxlove繼續高斯消元建立方程A11*X1+A12*X2+……A1N*XN同餘B1%7A21*X1+A22*X2+……A2N*XN同餘B2%7AM1*X1+AM2*X2+……AMN*XN同餘BM%7然後便是高斯消元解這個方程,無解情況,出現一行系統全為0,等式右邊卻不為0。多解情況,變元個數大於方程個數否則為一解情況,解出方程的解便可/*ID:

由樹的中序和先序遍曆得到原來的樹

先序遍曆的意義:任何一個節點的父節點都早於他遍曆。中序遍曆的意義:任何一個節點都晚於左子樹上的節點早於右子樹上的節點被遍曆。in.txt   第一行是表示有多少個節點61 2 3 4 5 62 1 5 4 3 6程式:獲得原來的樹放在tab表中 root 的左右孩子分別是 2*root 和 2*root

HDU 4279 Number [數論+簡證]

題意: 給出一個f(x), 表示不大於x的正整數裡,不整除x 且 跟x有大於1的公約數 的數的個數。定義F(x), 為不大於x的正整數裡,滿足f(x)的值為奇數的數的個數。題目就是求這個F。分析:打表找規律的方法我就不說了。這裡我們來簡單推理證明下。先來看f(x),“不整除x” 等同於 不是x的約數,“跟x有大於1的公約數” 等同於 不是x的互質數。而且從F的定義知道,我們只需要考慮f(x)的奇偶性即可。所以, f(x) = x - 約數個數 - 互質數個數 +1

HDU 4278 Faulty Odometer [類比]

把亂了以後的數位映射到真實的數位,然後就8進位轉10進位。代碼:#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<string>#include<vector>#include<map>#include<algorithm>using namespace std;inline int Rint() {

[題解]和

[題目描述]給定一個長度為n的序列,你每次可以合并相鄰兩個元素,新的元素為這兩個元素的和。你需要使得若干次合并之後的序列非降,求最小合并次數。[資料範圍]n<=1500[題解]      這道題的標程用的是n^2log(n)的dp,所以才會有奇葩的1500的範圍.      然而,這道題完全可以在O(n^2)的時間內解決.     

線性篩法的應用

         線性篩法最基礎的功能就是求[1,n]中的素數,以此為基礎,可以對他進行一些變形。變形後的線性篩法可以實現許多其他的功能。(下文中的tot均指一定區間內的質數個數)         先看一道簡單的問題:求[1,n]中的m個數的最大質因子的序數(hdoj2136)         這個問題可以利用線性篩法打一個質數表,然後二分答案,複雜度為O(n+mlog(tot))。         然而,如果m很大,演算法必然會逾時。我們可以對線性篩法進行一些變形,每次篩掉一個合數時,   

四邊形不等式最佳化石子合并

關於四邊形不等式或石子合并的資料。網上有很多。但有不少都是語焉不詳,直接拋給你幾個結論,讓人很難理解。這篇文章將以石子合并為例。證明關於四邊形不等式的一些結論。算是一個溫習。【題面】      在一個操場上擺放著一排n(n≤20)堆石子。現要將石子有次序地合并成一堆。規定每次只能選相鄰的2堆石子合并成新的一堆,並將新的一堆石子數記為該次合并的得分。試編程求出將n堆石子合并成一堆的最小得分和最大得分以及相應的合并方案。【演算法分析】         下面只討論最小得分的情況,最大得分的情況類似。 

HDU 3511掃描線

這題對本菜鳥來說較難啊....分析一下.題目求哪個圓被包的次數最多..暴力顯然不行.掃描線?嗯..有道理!!可是怎麼掃呢.....掃尼瑪啊.....看過題解的菜鳥低空掠過.....但是題解其實沒告訴你怎麼掃.而是告訴了你再掃的過程中你可以這麼搞...這裡引用某牛的BOLG http://hi.baidu.com/bobo__bai/item/17f7b28bd5994a5d850fab39上面寫著題解.的做法.題解怎麼說的就不說了...說我看完題解和代碼後的明白了什麼...首先一個圓有左右兩邊界

HDU 1864 最大報銷

這道題題意理解了好一會兒,題目本身不難,就是一個1-0背包。#include<cstdio>#include<cmath>#include<iostream>using namespace std;const int maxn=31;double tab[maxn];double f[maxn][maxn];double max(double a,double b){if(a>b)return a;else return b;}int

poj 2932 Coneology

依然是圓有關的掃描線.感覺額.上一篇說得自己都看不太懂的樣子.這個題目吧。是要問你有哪個圓沒有被其他的圓覆蓋住.說白了就是他的被覆蓋層數為0.和上一篇的題相比.簡單了點。同樣的.沒有相交的圓..啊.直接說做法.加入set的集合的元素是.額.是不相互包含的圓.也就是說兩兩關係是相離.那麼一個圓只要和它上下兩圓無關係,自然也不會和這之外的圓有關係了.然後這裡判斷一個圓的上下,就沒有那麼麻煩了.按圓心位置高下來就行.即能和當前圓發生關係的就只有它上下的圓。畢竟加入set的集合的圓都是沒有關係的.額..

HDU 3976 Electric resistance

   打了很長時間的草稿,最後一小時開敲,敲完比賽已經結束了,耶   不知道手速怎麼會這麼慢,很遺憾沒能在比賽中A掉。不過就算多給我點時間估計也沒用,賽後探索方法有些漏洞,代碼其他地方也有些小bug。   好了,題目大意就是給你幅圖,N點M邊,每個邊上有個電阻,求1、N之間的等價電阻。   一開始往網路流想了下,萬物皆流麼,可能是給些個限制,讓電流流過去求個最大流什麼的(網路流不太熟=。=,瞎想想)。然後在找每個邊的容量時發現了某些邊上的電流是有確定關係的,比如給個Y形電路,那下面流上來的電流就

HDU 3389 Game

1 3 4這三個位置無法移到其他位置。  每個位置移到下個位置後奇偶性改變,模3結果也有固定變化(0->0,1->2,2->1),比如模3為1的奇數可以移到模3為2的偶數,再走一步又走到模3為1的奇數,但最終只可能移到模3為1的奇數,也就是1(因為1、3、4中沒有模3為2的),其他類型的數的最終位置也可如此得到。由於移到的最終位置(1 or 3 or 4)是固定的,本身的奇偶性和模3結果也是固定的,那麼移動步數的奇偶性也是固定的。  容易得出模6為0、2、5的位置移動步數為奇,

HDU 1231 最大連續子序列

讀清題意#include<cstdio>#include<cmath>#include<iostream>#include<conio.h>using namespace std;const int maxn=10001;int tab[maxn];int f[maxn];int len[maxn];int main(){//freopen("in.txt","r",stdin);int

Algorithm標頭檔簡介

STL AlgorithmsStandard Template Library: Algorithms The header <algorithm> defines acollection of functions especially designed to be used on ranges ofelements. A range is any sequence of objects that can be accessed throughiterators or

POJ 1014 多重背包

可行性背包迴圈驗證的時候應該迴圈到sum/2就可以了。我這裡是迴圈到最後了。 #include<cstdio>#include<cmath>#include<iostream>#include<vector>using namespace std;const int maxn=500;const int maxdp=20001*6;bool dp[maxdp];int main(){freopen("in.txt","r",stdin);int

HDU 1712 分組背包

http://www.nocow.cn/index.php/%E5%88%86%E7%BB%84%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98#include<cstdio>#include<cmath>#include<iostream>#include<vector>using namespace std;const int maxn=110;int A[maxn][maxn];int dp[maxn];int

總頁數: 61357 1 .... 19666 19667 19668 19669 19670 .... 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.