原创 [矩陣快速冪+循環節]hdu4291

題意: Given n (1 <= n <= 1018), You should solve for g(g(g(n))) mod 109 + 7  

原创 [樹狀數組+DP]hdu3450 Counting Sequences

題意: 找出所有的美麗序列。美麗序列就是相鄰的元素絕對值之差不超過d的序列。 分析: dp[i]表示到i爲止滿足情況的種類數。 dp[i]=sum(dp[j] abs(a[j]-a[i])

原创 [搜索]poj1011

題意: 給出你n個小木棒,要求還原成多個長度相同的完整木棒,並求出符合要求的最短的木棒的長度。 經典搜索題。 分析: 這樣的題不確定因素很多,所以只能遍歷定一個條件,根據這一條件去遍歷確定

原创 [數學]hdu5358

題意: 求出公式的值。 ∑i=1n∑j=in(⌊log2S(i,j)⌋+1)×(i+j) 分析: 主要是看到二進制的特點 log2(s)+1其實就是s二進制的位數。那麼只需要求出所有區間

原创 [樹形DP]VK Cup 2012 Round 1 D. Distance in Tree

題意: 給出一棵樹,然後問任意兩點間距離爲k的情況有多少種。 分析: 顯然是DP,但是狀態方程如何向呢?一棵樹,肯定是先從根節點開始考慮情況,那麼就把每個點看做是一課子樹,然後dp[i][j] 表示計算到i

原创 [搜索]CodeForces505B

題意: 找兩點之間相同顏色連成的道路的條數。 分析: BFS+模擬 #include <cstdio> #include <cstring> #include <cmath> #include <iostre

原创 [搜索]hdu5355

題意: 將n分成一樣大小的m份. 分析: 很經典的一道題。如果n==2m 那麼2m*(2m+1)肯定能成功。然後就按照這個點,分別一直減去2m,如果n<=40的話就可以爆搜了。先找規律處理一部分,然後暴力

原创 [搜索]hdu5335

題意: 給出01矩陣,問從(1,1)到(n,m)走過的路中所有01組成的二進制字符串所代表的數字最小是多少。 分析: 首先前綴0是要去掉的,另外發現只有不斷地向下和向右走就能達到最短路。所以首先dfs找到所有

原创 [線段樹]CodeForces 356A

題意: 有n個人,進行m場比賽,每次給出l,r,w(區間和最後贏得人),問最後誰贏,輸的人輸出打敗他的人的id,最後贏的人輸出0. 分析: 線段樹成段更新,已經更新過的就不用更新了。另外贏的人還要比賽,所以不能更