原创 HDU-3555-數位dp

題目大意:問區間[0,n]中有多少個數中數位包括49; 題目解析:定義dp[i][j]表示有多少個符合條件,i表示第幾位,j=0的時候前面的位沒有49並且上一位不是4,j=1的時候前面的位數沒有49但是上一位是4,j=2的時候表示前面的位

原创 LA-3713-TwoSAT

題目大意:有ABC三個任務需要分配給n個宇航員,任務C沒有限制,年齡大於等於平均年齡的可以分配A任務,否則是B任務,有m對宇航員互相討厭,他們不能顧分配相同的方案,問是否可以找出一種方案。 題目解析:如果相互討厭的話,那麼肯定不能夠同時分

原创 POJ-3207-TwoSAT

題目大意:一個圓上有m對點需要相連,連的方法可以在圓裏外連,問是否可以使得兩兩連線不相交; 題目解析:判斷如果兩個線段如果會有衝突,那麼只能一個在裏面一個在外面; AC代碼: #include<iostream> #include<cs

原创 HDU-3886-數位dp

題目大意:爲一個區間內有多少數滿足給定函數曲線的數的個數; 題目解析:首先因爲數據很大,需要用字符串保存,並且要處理掉前導零,否則會對答案有影響,dp第二維表示前一個數是多少,dp的第三維表示當前表示的opt; AC代碼: #includ

原创 LightOJ-1140-數位dp

題目大意:給定區間問區間內所有數的10進制0的個數的總和是多少; 題目解析:dp的第二維表示當前已經有多少個0,注意前導零和只有1個0要輸出1; AC代碼: #include<iostream> #include<cstdio>

原创 HDU-4507-數位dp

題目大意 :給定區間,問滿足條件所有數的平方和; 題目解析:因爲要求平方和,所以要用結構體保存個數,和,平方和; (附上大佬的解析) 需要維護三個值(推薦使用結構體), 假定dfs推出返回的結構體是next,當前結果的結構體是ans

原创 LA-3263-計算幾何,歐拉定理

題目大意:有n個點組成的一筆畫,問這個圖形把平面分成了幾個部分; 題目解析:先把那些直線相交得出的點算出來得出點數,再把 邊數算出來,有一個點在原來的線段上並且不與端點重合邊數就加一,因爲一條線段變成了兩條線段,最後根據歐拉定理f=e+2

原创 HDU-1814-TwoSAT

題目大意:有(1,2),(3,4), ...(2n-1,2n),n對數,要在每對中選出一個共n個,並且滿足m個約束條件,條件(a,b)表示ab不能同時被選,按字典序輸出答案; 題目解析:如果有a b有約束,那麼建邊A->B^1,B->A^

原创 UVA-11796-計算幾何

題目大意:有兩條狗分別沿着自己的折線段跑,他們都是勻速運動並且同時開始同時到達,問中間過程的他們兩者距離的最大值減去最小值的值是多少; 題目解析:首先他們運動的過程可以分解成在某一段時間內都在線段上運動,那麼在線段上運動,我們就可以考慮運

原创 UVA-11168-凸包

題目大意:平面上有n個點,找一條直線,使得所有點在直線的同側,且到直線的距離之和儘量小; 題目解析:首先這條直線肯定在凸包的某一條邊上,所以先求出凸包來,再枚舉每一條直線,注意兩點確定一條直線,這條直線要轉化成一般式,方便求距離,因爲都在

原创 HDU-4352-數位dp,LIS

題目大意:求給定區間呢的數滿足最長子序列長度爲k; 題目解析:LIS,dp第二維表示當前的序列,第三維表示目標長度爲k,dfs的時候更新序列的時候要像LIS一樣找到>=i的第一位並且去掉然後加上第i位; AC代碼: #include<io

原创 UVA-11178-計算幾何

題目大意:求一個三角形中每個內角的角三等分線組成的三角形的三個點的座標; 題目解析:沒有算法可言,直接上模板; AC代碼: #include<bits/stdc++.h> using namespace std; struct Point

原创 LightOJ-1205-數位dp

題目大意:給定區間問區間內有多少數是迴文數; 題目解析:因爲給定長度,其實就已經知道看了他的對稱中心,所以從前往後dfs,判斷前i位的時候,要判斷後面是否可以取到,如果不可以去到,那麼後面那位的前一位就必須小於limit,所以dfs要多一

原创 HDU-3652-數位dp

題目大意:求區間[0,n]有幾個數中間的位數有13並且這個數能夠被13整除; 題目解析:跟上題一樣。只不過因爲要整除13所以dp多了一維表示當前位數模13的餘數; AC代碼: #include<iostream> #include<cst

原创 UESTC-250-數位dp

題目大意:求一個區間內有多少個數中相鄰數位之差大於等於2; 題目解析::dp的第二維保存上一個數是多少,注意要處理前導零; AC代碼: #include<iostream> #include<cstdio> #include<cstrin