原创 hdu 3265 Posters 線段樹+掃描線

/* hdu 3265 Posters 線段樹+掃描線 用一些中間有矩形洞的矩形海報去糊窗戶 文被覆蓋的面積 線段樹+掃描線 可以簡單看一下掃面線,這裏只是簡單應用(因爲邊只有水平、垂直兩種,所以不用y=y+1地掃,也不用在求交點)

原创 hdu 4076 Haunted Graveyard - spfa(負權迴路)

/* hdu 4076 Haunted Graveyard - spfa(負權迴路) 題意:有n*m個點,每一點可以向四個方向走,有些點是墓地不能走,有些點是山洞,當你走到該點時會傳送到另外一點,所花費的時間有可能是個正數也可能是個負數

原创 hdu 4606 Occupy Cities - 計算幾何 + 最短路 + 最小路徑覆蓋

/* hdu 4606 Occupy Cities 題意:n個城市,m條障礙物,p個士兵,城市之間的路可以任意走,但是不能跨越障礙。 p個士兵分別按順序佔領城市,城市內有補給,士兵的消耗等於路程的長度。 問:爲了完成任務,士兵的揹包

原创 hdu 4080 Stammering Aliens - 後綴數組

/* 其實這題纔是第一次做 但是一直不過,也不知道怎麼回事兒 就去調了那個簡單題做 現在才發現少了main裏面的if 還有ok2 是我之前寫的,但是少了個{} 題意是,在所給的字符串中找一個子串,最少出現m次,求那個最長的串

原创 poj 2451 Uyuw's Concert - 半平面交

/* poj 2451 Uyuw's Concert - 半平面交 很裸的半平面交 */ #include<stdio.h> #include<math.h> #include <algorithm> using namespace

原创 hdu 2577 How to Type - 水題

/* hdu 2577 How to Type */ #include<iostream> #include<string> using namespace std; int main() { string s; int ret,on

原创 hdu 2686 Matrix - 最小費用最大流 或 多線程DP

/* hdu 2686 Matrix 方陣(每個格子裏面都有一個數字)裏面從左上走到右下,再回來,一個點只能走一次,求數字之和最大是多少 相當與從左上到右下選兩條不交叉的路,使和最大 典型的最大費用最大榴 我要說的是,這是昨天的省賽的原

原创 hdu Dating with girls(2) bfs加點東西 水題

/* hdu Dating with girls(2) bfs加點東西 水題 一開始還以爲就是bfs,然後判斷一下那個時候石頭是否消失 但是沒有發現,路是可以重走的,,因爲你可能到某個石頭那兒時,他快消失了,但是還沒有消失 你就需要再

原创 hdu 1403 Longest Common Substring - 後綴數組

/* 第一次做後綴數組 就是求連個串的公共子串 簡單的後綴數組 */ #include<stdio.h> #include<string.h> #define MAXN 200010 char str[100000+10]; i

原创 hdu 2578 Dating with girls(1) 排序+二分查找 水題

/* hdu 2578 Dating with girls(1) 排序+二分查找 水題 */ #include<iostream> #include<vector> #include<algorithm> using namespace

原创 hdu 2682 Tree 最小生成樹

/* hdu 2682 Tree 最小生成樹 真的沒有看出來是最小生成樹 kruskal */ #include<stdio.h> #include<stdlib.h> int prime[2001000]; int map[601][6

原创 hdu 4635 Strongly connected 強連通

/* hdu 4635 Strongly connected 強連通 題意:給一個簡單(無重邊,無自環:就是自己直接指向自己的邊)有向圖, 若是強連通的,就輸出-1 否則輸出可以最多加多少條邊還是非強連通的; 加完邊的狀態就是,有兩個強

原创 hdu 2576 Another Sum Problem 水題

/* hdu 2576 Another Sum Problem 1^2+2^2+3^2... n(n+1)(2n+1)/6 公式很好推 n(n+1)(n+2)/6 但是爲什麼需要先/2然後再/3呢?求解答 */ #include<st

原创 hdu 2795 Billboard 線段樹

/* hdu 2795 Billboard 線段樹 題意:一個宣傳板,h行w列,每個宣傳條佔1行wi列 現給出一些宣傳條,希望貼在最靠上,然後最靠左的地方,輸出行號,若無法貼下輸出-1 剛開始還以爲是一道水題 看過比人的報告才知道是線

原创 hdu 4465 Candy - 概率 log 組合數

/* 兩個瓶子裏都裝了n個糖果;從第一個瓶子拿的概率是p 當你再拿糖果的時候,發現瓶子空了 求這時候另外一個瓶子的剩餘的糖果的數量的期望 計算過程會造成上溢和下溢 用log就不會了 */ #include<math.h> #inc