原创 【搜索】 HDU 5323 Solve this interesting problem

點擊打開鏈接 用線段樹方式建樹 [ 0, n] 已知[ l, r] 結點 求n 若 建一個[0, 2*r] 的線段樹  這是的總點數的奇的,(左子樹!=右子樹 [0, r]  在左子樹裏 則n最大爲2*r 若 建一個[0, 2*r+1]

原创 【劃分樹】 HDU 3473 Minimum Sum 中位數

點擊打開鏈接 題意:在給出有N個數的數列 然後Q個詢問 詢問  [ L,R ]    要那個公式的值最小 顯然是這個區間的中位數嘛 然後就要處理出 小於中位數的數的和 大於中位數的數的和 對於劃分樹來說 每一層的區間上的數build後,其

原创 【樹鏈剖分】 POJ 2763 Housewife Wind 邊權

點擊打開鏈接 題意: 操作0 X :求 當前位置到X 的長度 操作1 X Y :將第X條邊長度更改爲Y #include <stdio.h> #include <string.h> #include <stdlib.h> #include

原创 【瞎搞】 HDU 5416 CRB and Tree

點擊打開鏈接 查詢才10個  X^Y=S  && X^S=Y   X^Y^X=Y DFS處理出每個點到 節點1 的異或值 並統計每個異或值的數量 對於查詢的值 S  枚舉每個點的到根節點的異或值 可以知道另一個需要的異或值     先前處

原创 【矩陣快速冪】 HDU 5411 CRB and Puzzle 等比

點擊打開鏈接 題意顯然是 求 A+A^2+A^3+....+A^m 這就是經典題目 矩陣乘法十種經典題目  遞歸解決 後半部分提取 A^(m/2) 該題再特判下 m==1的時候 #include <bits/stdc++.h> using

原创 圖論小知識

/******************************************* 鄰接表 儲存圖 空間複雜度O(m+n) 時間複雜度O(m) 優點: 缺點: *********************

原创 Mark website

CSS : 基礎:http://learn.shayhowe.com/html-css/ 佈局:http://zh.learnlayout.com/

原创 【搜索】 HDU 4770 Lights Against Dudely

點擊打開鏈接 題意:圖中有最多有15個點 ,可以在點位置放置燈  (一個點只能放一個燈) 燈可以照亮(i,j) (i-1,j) (i,j+1) 其中(i-1,j),(i,j+1) 可以超出地圖且不能爲'#' 其中一個燈任意可以轉動 求放置

原创 【樹的分治】 HDU 4670 Cube number on a tree

點擊打開鏈接 可將點權轉化爲三進制 樹的分治:根據子樹的節點數最小 求出樹的重心 保證了複雜度儘量小 對於重心節點 的一棵子樹搜一遍得到所有到那個子結點的權值積 與已經搜過的權值積 相乘 然後計算答案 #include<bits/std

原创 【DP】 HDU 3689 Infinite monkey theorem 預處理

點擊打開鏈接 題意:一隻猴子可以有n個鍵 可以敲m下 求能敲出目標串的概率。 思路:可以先求不能敲出目標串的概率 用 dp[i][j] 表示 敲第 i 下時, 得到 目標串  j  結尾 的概率     例: 目標串 word     w

原创 基礎圖論算法導引

ACM中常用圖論算法 1. 拓撲排序 ->  拓撲排序的原理及其實現 2. 最短路徑算法 -> 最短路算法總結 差分約束系統 -> 差分約束 前k短路 -> 前K短路徑問題 3. 最小生成樹問題擴展 -> 最小生成樹問題的拓

原创 【貪心】 ZOJ 3908 Number Game

點擊打開鏈接 題意:給出N 個數 每次可以取兩個數  和不超過k ,價值爲兩個數的積,至多可以取m次,求價值最大 用mulitset 儲存 數,然後從最大的開始取 找到符合的最大的數,然後刪去這兩個數 最後排序加一下 //#includ

原创 【DP】 HDU 4427 Math Magic

點擊打開鏈接 題意:求K 個數的數列  ,和爲N , LCM 爲M 的個數 因爲M 的 除數很少 最多10 個  先處理出來就可以O(K*N*10*10) 處理了 #include <bits/stdc++.h> using namesp

原创 【LCA】HDU 5452Minimum Cut

點擊打開鏈接 題意:給出一棵樹 再額外的幾條邊 求最少刪去多少條邊(其中必須要一條樹上的點)使得點被割開 思路先枚舉 刪去樹上的邊 以及還需刪去多少邊    對於額外的邊 u , v    他們的lca 爲 fa      刪去(fa

原创 【遞推】 HDU 5459 Jesus Is Here

點擊打開鏈接 題意 :求兩兩之間的下標差和 設  numc [ i ]  爲該段 c的數量 addc [ i ] 爲該段 所有c的 下標和 (從0 開始 len [ i ] 爲該段 長度 ans[ i ] 爲答案 addc[i]  因爲