原创 【HDU】3572 Task Schedule (最大流 ISAP算法)

開始做網絡流了。一開始的學習依然是無腦的,只能借鑑大神的博客。 其實這道題蠻不錯的。說是要對題目進行建模,從而轉化成網絡流的題目。從這道題來看,網絡流看來對思維訓練很有幫助啊。 稍微說一下建模的想法吧。 添加一個超級源點和一個超級匯點。

原创 【HDU】2147 kiki's game (博弈 找規律)

題目大意:就是有一個遊戲,在一個n*m的矩陣中起始位置是(1,m),走到終止位置(n,1);遊戲規則是隻能向左,向下,左下方向走,想走到終點的爲獲勝者。 想法:根據必勝點和必敗點去遞推,多寫幾組,看出N,M決定勝負的情況。就可以了。這過程

原创 Code Forces 298 D Handshakes (思維要清楚)

題目大意:每個人需要握ai次手,有三個人話,這三個人可以選擇去比賽,不和別人握手.問你入場順序 思路:對於編號來說,只要他需要握手的次數是一樣的,那麼無論放在哪裏都是可以的. 所以最終形成的序列他們需要握手的次數一定是0-k 0-x這樣子

原创 【HDU】 2883 kebab(最大流+時間段離散化)

思路:這道題目應該說看懂題意很重要。看懂之後就很簡單了。  有一個燒烤機,每個單位時間最多能烤 m 塊肉,現在有 n 個人來買烤肉,每個人到達時間爲 si,離開時間爲 ei,點的烤肉數量爲 ci,點的烤肉所需烘烤時間爲 di,其實這邊

原创 【Best Coder】#36 C tree

好吧,我承認是抄別人的代碼的。 但感覺這道題目確實得好好學習學習。#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<cstdio> #include<cstring>

原创 【HDU】 3081 Marriage Match II (最大流+並查集)

生和男生配對,有些女生相互是朋友,每個女生也可以跟她朋友所配對的男生配對 每次配對,每個女生都要跟不同的男生配對。問最多能配對幾輪。 思路:這邊需要用到並查集的思想,由於太久沒有碰並查集了,所以看到並查集就只記得父親節點這個東西了。

原创 A^X mod P (2013山東省賽)(用拆分思想求解重複問題)

思路:其實這道題目最終的一個思想跟我之前做過的一道二進制拆分思想是一樣的。 那道題目那時候是因爲求解是次數很大上億,而我最多可以的到的是百萬級別的,因爲數組只能開到百萬 那時候我很強烈的思想就是那我就每次求解一百萬嘛。這邊的時間接近o(1

原创 HDU 3998 Sequence(最大流+最長上升子序列)

題目大意:一個序列,讓你求出最大上升子序列是多少,然後有多少個最長上升子序列(即每一個元素都不相同) 思路:用nlogn的方法求出最長上升子序列. 這邊講一下網絡流的建圖模型: 添加超級源點和超級匯點. 每一個序列長度爲1的元素與源點容量

原创 Code Forces 298 C Polycarpus' Dice

題目大意:有多個骰子。每個骰子可以轉出1-d[i]內的所有數字。 現在給你總和A,問你每個骰子不能夠轉出的數字有哪幾個。 結合一下樣例應該就懂了。 思路: 我的思路是這樣子的。 對於一個骰子d[i]; 他所能夠轉出的數值是1-d[i];

原创 Boring Counting (2013山東省賽)(劃分樹+二分)

思路:建立一棵劃分樹,然後在區間裏面二分,尋找最大的小於a的數是第幾小的,以及尋找最大的小於等於b的數是第幾小的 兩個相減就是答案了。 #define _CRT_SECURE_NO_WARNINGS #include<iostream>

原创 HDU 2516 取石子游戲 (斐波那契博弈)

大神博客:http://blog.csdn.net/acm_cxlove/article/details/7835016 #include <iostream> #include <cstdio> #include <cstring> #

原创 HDU 3277 Marriage Match III (最大流+拆點+並查集)

思路:其實這道題抄完之後,回想一下,和上一道題其實幾乎完全一樣. 不同的在於,這道題的女生可以選擇k個和自己吵過架的男生. 所以在建圖的時候,女生有一條容量爲k的邊,連向和自己吵過架的男生,並且中間一個節點來. 也就是將女生拆成兩個點,一

原创 HDU You’ll be Working on the Railroad (最短路)

還沒解決... 只要這組數據過了.這道題就可以過了 5 0 2 100 2 4 100 0 3 1 3 4 1 4 1 1

原创 FZU 最小費用

其實這道題目是學習別人的.copy from wdcjdtc 思路: 對於 01011->11100 如果只靠相鄰位移動是需要5步的。 然而不管怎麼移動,步數是固定的。 那我們就把最前面的0和最後面的1交換 假設0在i,1在j。

原创 HDU 5215 Cycle (搜索)

這個題目跟同比賽的Exploration類似,做法也類似。 在那道題目只需要判斷出是否存在環。 而這道題目則判讀這個環的邊是奇數邊還是偶數邊。 我這邊採用的方法是用num表示這個點在搜索到第幾條邊是被搜到。下次在被搜到的時候,邊數減掉上一