原创 【模型轉化】【dp/矩陣乘法】AGC013E - Placing Squares

題意: 你有一個長度爲n的紙條,上面有m個標記,左端點與第i個標記的距離爲x[i]。現在,你要在紙條上擺放一些(可以爲一個)正方形,滿足以下要求: 1:正方形邊長爲整數。 2:正方形的一條邊必須接觸紙條並且完全處於紙條上(不能超出紙條

原创 【思維】【貪心】AGC 009 D - Uninity

題意 我們定義一棵樹的uninity值: 只有一個點的樹的uninity值爲0; 假設有若干(可以是0)棵uninity值爲k的樹和一個點v,每棵樹各選一個點連到v,那麼得到的樹的uninity值爲k+1。 顯然一棵uninity值爲

原创 【dp】AGC013 D - Piling Up

題意: 有無數個紅色的和藍色的積木和一個很大的箱子,要建一個由2M個積木搭成的塔 首先,大箱子裏有N個(紅色或藍色)的積木,(並不知道每種顏色分別有多少個積木,N>0,有可能沒有某一種顏色的積木) 重複以下操作M次。 1:從箱子裏隨機

原创 AGC013 B - Hamiltonish Path

題意: 給你一個N個節點的簡單無向圖(無重邊、自環),含有M條邊。保證圖一定聯通。現在,你要在這個圖中找到滿足以下條件的一條路徑: 1:這條路徑至少經過兩個點。 2:每個點最多被經過一次。 3:與這條路徑的起點和終點相鄰(通過一條邊連

原创 【DP】AGC 009 C - Division into Two

題意 按元素從小到大的順序給出一個集合,集合內的數都是整數且互不相同。現在將這個集合劃分成X和Y兩個集合(X和Y可以爲空),使: X中任意兩個元素至少相差A; Y中任意兩個元素至少相差B。 求滿足條件的劃分的方案數,對1e9+7取模。

原创 AGC003

C BBuBBBlesort! 題意: 給出一個長度爲N的數組A,數組中的元素兩兩不同,你可以進行兩種操作: 1.交換兩個相鄰元素。 2. 交換兩個中間間隔一個數字的元素,即:Ai-1 和 Ai+1 (如果Ai-1 和 Ai+1存在)

原创 【矩陣乘法】【AGC003】F - Fraction of Fractal

F - Fraction of Fractal 題意: 給出一個大小爲n∗mn*mn∗m的只有黑色或白色格子的圖,這個圖被我們稱作1級構型。1級構型保證所有的黑色格子是聯通(從上下或左右走可達)的。當初就因爲沒有注意到這句話將一個錯誤

原创 Polya定理

先簡單介紹一下置換羣和burnside引理 置換羣 羣 滿足如下性質: 1. 封閉性 2. 結合性 3. 單位元 4. 逆元 置換羣 置換羣SnSn 滿足羣的所有性質,SnSn 中的元素:置換。 置換可表示爲如

原创 【數論&Polya定理】圖的同構 BZOJ 1488

題意: 求兩兩互不同構的含n個點的簡單圖有多少種。(n<=60) 簡單圖是關聯一對頂點的無向邊不多於一條的不含自環的圖。 a圖與b圖被認爲是同構的是指a圖的頂點經過一定的重新標號以後,a圖的頂點集和邊集能完全與b圖一一對應。 分析

原创 【置換羣&Polya定理】Sultan's Chandelier UVA - 11540

題意: 給出一棵樹,用m種顏色給樹上的每一個節點染色,求不同的染色方案。兩個染色方案視爲相同,當且僅當子樹內的節點經過旋轉或不旋轉後相同。旋轉:這棵樹長得非常怪異,在以u爲根的子樹,u的一代子節點形成了一個類似環狀的結構;旋轉一個單位

原创 【置換羣&Polya定理的擴展】Cubes UVA - 10601

題意:用12根木條搭建正方體,給出每根木條顏色,木條顏色編號1~6,求能搭建不同的正方體的數量。兩個正方體視爲不同當且僅當不能在旋轉翻轉等操作後重合。 樣例: 3 1 2 2 2 2 2 2 2 2 2 2 2 1 1 2 2 2

原创 【數論】線性篩&積性函數

線性篩 線性篩素數 #define MAXN 1000000 int prim[MAXN],vis[MAXN],c; void Solve() { mu[1]=1; for(int i=2;i<MAXN;i++)

原创 bzoj1731Layout排隊佈局

題意 給出兩種關係,某兩頭奶牛間的距離不超過L或不小於D,奶牛排在隊伍中的順序和它們的編號是相同的,同一位置可站多頭奶牛,求1號奶牛和N號奶牛間可能的最大距離,無解輸出-1,INF輸出-2。 分析 差分約束跑最短路 根據題目,可列出以下

原创 bzoj1922大陸爭霸

題意 無向圖,從一個點到另一個點需要一定的時間,可以從1號節點出發放出無限個炸彈去摧毀某些點,每個節點被k個節點保護,一個點只有當保護它的點被摧毀後才能到達,求到達點n最短用時。 分析 最短路,用Dijkstra而非Spfa。 Dijk

原创 bzoj1179 Atm

題意 有向圖,從起點出發到終點集合的某個點結束,求路徑上的點權之和的最大值(如果某點重複經過,點權只被計算一次) 分析 Tarjan縮點重構圖,再用Spfa求最長路 有向圖用Tarjan一定要有vis標記 #include<cstdio