原创 Hdu 5323 Solve this interesting problem(搜索)

解析:注意L/(R-L+1) <= 2015。所以向上搜索的過程最多不會超過11層。 [code]: #include<cstdio> #include<cstring> #include<algorithm> #include<vect

原创 Hdu 5324 Boring Class (cdq分治)

解析:因爲是最小字典序,所以從右往左DP。 dp[i] = max(dp[j]+1) i < j,L[i]>=L[j],R[i]<=R[j] 因爲這是三維上的問題,自然的就能想到cdq分治了。 在一個區間[l,r]內,先對[mid+1,r

原创 Hdu 5319 Painter (模擬)

直接貪心去模擬就完,最坑的是那不是n*n的矩陣,m沒告訴你,自己求。 [code]: #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #i

原创 Hdu 5318 The Goddess Of The Moon (dp+矩陣快速冪)

解析:dp[i][j]表示前 i 個數,以 第 j 個數結尾的方案數。因爲每一層的轉移都是相同的,所以處理出一個轉移矩陣,通過快速冪即可快速求得結果。 [code]: #include<cstdio> #include<cstring>

原创 Hdu 5334 Virtual Participation (構造)

解析: 首先找到第一個n使得n*(n+1)/2>=k,差值爲x。 然後看下面一個例子: 28 = 1 2 3 4 5 6 7 27 = 1 1 3 4 5 6 7 26 = 1 1 3 3 4 5 6 25 = 1 1 1 4 5 6 7

原创 Hdu 5328 Problem Killer (尺取)

解析:處理出公差和公比序列,然後尺取找出最大覆蓋範圍即可。 [code]: #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<c

原创 Hdu 5326 Work(超水的樹形DP)

[code]: #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<vector> using namespace std

原创 Hdu 5327 Olympiad (預處理)

水題,預處理一下就好 [code]: #include<cstdio> #include<cstring> #include<algorithm> #define lson l,mid,rt<<1 #define rson mid+1,

原创 Hdu 5325 Crazy Bobo (拓撲排序)

解析:對於原樹一條邊(a,b),令w[a] < w[b]​​ ,則由b向a連一條有向邊. 那麼,以節點u爲最小權值點的最大Bobo  Set,就是走有向邊能夠到達u的點們構成的集合. [code]: #include<cstdio> #i

原创 創新實訓5.11 Python爬蟲學習

參考了易百教程中中對Python爬蟲的介紹  http://www.yiibai.com/python/python3-webbug-series1.html http://www.yiibai.com/python/python3-we

原创 Hdu 5348 MZL's endless loop (構造)

解析: 每找到一個單個的環,將其指定順序後從圖中出,最後會得到一個森林,對於每一棵樹,從根節點開始根據出入大小指定方向即可。注意實現細節! [code]: #include<cstdio> #include<cstring> #inclu

原创 HDU 5729 Rigid Frameworks (連通二分圖計數DP)

參考1:http://blog.csdn.net/dpppbr/article/details/51972196 參考2:https://www.johannesbader.ch/2013/09/project-euler-problem

原创 HDU 5735 Born Slippy (分塊+樹上可持久化)

官方博客講的很清楚:點擊打開鏈接 在這裏貼一下做樹上可持久化的代碼僅供參考。 [code]: #include<cstdio> #include<cstring> #include<algorithm> using namespace

原创 Hdu 5344 MZL's xor (雜)

解析:i!=j時(a[i]+a[j])^(a[j]+a[i]) = 0.因此只需統計2*a[i]即可。 [code]: #include<cstdio> using namespace std; typedef long long LL

原创 Hdu 5336 XYZ and Drops(模擬)

解析:一秒一秒的來處理就好。 [code]: #include<cstdio> #include<cstring> #include<algorithm> #include<set> #include<queue> using name