原创 HDU5754 2016年第三場多校C

題意不說了,傷心,不知道這羣人怎麼找出來的規律 #include<stdio.h> #include<string.h> #include<math.h> #include<queue> #include<vector> #include

原创 HDU3078 Network

LCA問題, 先輸入n,和q;表示節點的個數和操作的個數 然後一行n個數,表示這n個節點的權值 然後n-1行,每行兩個數,表示節點u與節點v相連 最後q行,表示操作 每行三個數,k,u,v; 當k=0時,將u點的權值改爲v 當k>0時,

原创 codeforces587C Duff in the Army

LCA 問題,需要用到倍增(包括點上的信息),不然會T。 #include<stdio.h> #include<string.h> #include<math.h> #include<queue> #include<vector> #in

原创 hdu5652 India and China Origins

官方題解:這是一個連通性的問題。你會發現如果將所有操作逆序來看的話就很容易用並查集來處理了。 首先把所有的山峯都加到圖中,然後逆序處理每個操作: 對某次操作,在圖中刪除該位置的山峯,然後判斷兩個點是否聯通,一旦聯通就得到了結果。 這裏需要

原创 HDU5667 Sequence

就是個矩陣二分冪吧 #include<iostream> #include<iostream> #include<string> #include<stdio.h> #include<string.h> #include<vector>

原创 [Zjoi2013]K大數查詢

兩個線段樹,來維護C在任意區間上出現的次數。外層按質(C)建樹,內層按下標建樹(只建需要用到的節點)。 #include<stdio.h> #include<iostream> #include<string.h> #include<ma

原创 POJ2763 Housewife Wind

樹鏈剖分 有兩種操作, 1.修改邊的權值 2.詢問路徑權值和 <span style="font-size:18px;">#include<stdio.h> #include<string.h> #include<math.h> #in

原创 HDU1251 統計難題

簡單的字典樹,當然也可以用其他方法。 #include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> #include<math.h> #includ

原创 HDU2108 Shape of HDU

題意簡單就是,凸包的判定; 我們可以用向量叉積的正負來判定; 我們去除連續的三個點a,b,c,如果(a-b)叉乘(a-c),如果,大於零,則b點的角度小於180度,這樣判斷出所有的角度,就可以確定該多邊形是不是個凸包。 代碼如下 #inc

原创 大二週賽之今天有點不開心(-。-;)

第一題:來源於POJ3690 題意:給出一個n * m的矩陣,矩陣中只有一些*或者0,n <= 1000, m <= 1000,然後有t (t <= 100)個詢問,每次詢問給出一個p * q的矩陣,p,q是提前固定的數值,問這些詢問中能

原创 HDU 2072 單詞數

字典樹。 這題真的有點坑。 1,輸出爲0的情況。 2,第一個單詞前面有空格 3,單詞間的空格不止一個 4,最後的單詞後面的空格 #include<iostream> #include<algorithm> #include<string.

原创 hdu5725 Game 2016年多校C

題意:給你一個n*m的棋盤,棋盤上有一些守衛,守衛之間不能相互攻擊(守衛的攻擊範圍爲同行,同列與 相鄰的其他8個方格)。求從棋盤上任取兩方格(可以爲同一個)問最短距離的期望。 思路: 我們可以先求出 忽略守衛佔位的影響總的最短距離,然後再

原创 POJ 1330 Nearest Common Ancestors

LCA 的 入門級題目。 現在給你一棵樹,求u和v的最近公共祖先是那個節點。 方法有很多種,可以用RMQ,tarjan或者是回溯打標記。 #include<stdio.h> #include<string.h> #include<math

原创 HDU1075 What Are You Talking About

水題一道,可以用字典樹也可以用map做。都很簡單; 字典樹版 #include<iostream> #include<algorithm> #include<string.h> #include<stdio.h> #include<mat

原创 SWUST大二週賽 之農夫山泉有點甜

第一題:  codeforces 485b 題意:給定一些點,要用盡量小的正方形框住所有的點,輸出矩形的大小。 解題思路:維護x的最大值和最小值。同理y。然後取差值中的最大值作爲變成,注意用long long 代碼: #include<