原创 計算幾何 ural 1753

題意:求book在下滑過程中,中心距書架左邊欄最遠距離。 思路:剛開始並沒有思路,只是簡單的推出:在最開始的時候,book的中心距書架左邊欄的距離(簡稱最左邊距)爲0,當book的中心與書架左邊欄頂部重合時,最左邊距也爲0.那麼最

原创 fdu Problem 2072 Count

思路:對數組非降序排序,並記錄原始下標。利用二分查找,找到要查找的數後進行區間判斷,如果在查詢區間的話,count累加;不在的話,繼續查找,仍是二分。 #include <iostream> #include <cstdio> #incl

原创 hdoj 2553 N皇后問題

思路:複習了回溯算法。n皇后問題,就是考慮皇后放置的位置,對於每一行,我們需要枚舉每個可以放置皇后的位置,我們需要判斷當前位置(第i行)是否滿足條件,即判斷這個位置是否與放置好的前i-1行的皇后的位置相沖突,如果衝突,說明這個位置不合適;

原创 ural 題目列表分類

1028:經典問題,先按x座標第一關鍵字,y座標第二關鍵字排序,然後線段樹/樹狀數組/平衡樹都行 1037:優先隊列維護靠前的空間,單調隊列維護刪除 1067:改造版Trie+DFS 1090:經典逆序對問題,樹狀數組/線段樹/歸併排序

原创 hdoj 1452 Happy 2004 所有因子求和

思路: 任意一個大於2的數都可以寫成素因子乘積的形式,對於2004 = 2*2*3*167; 因子和 s是積性函數,即 :gcd(a,b)=1==> s(a*b)= s(a)*s(b)  2004^X=2^2X * 3^X *167^X,

原创 階乘最後非零位 模板

#include <iostream> using namespace std; #define MAXN 10000 char c[MAXN]; int lastdigit(char* buf){ const int mod[2

原创 hdoj 1361 Parencodings 2001 Asia Regional Teheran

思路:模擬,根據序列P可以構造出S,然後再根據S,推出序列W。 #include <iostream> #include <algorithm> #include <cmath> #include <cstdio> #include <c

原创 hdoj 1028 Ignatius and the Princess III 整數拆分 遞推

整數拆分:給它計數最簡單的方法是定義函數f(n, k),代表n的整數拆分中,最大項不超過k的方案數。對於任意滿足條件的拆分,最大項要麼達到這個限制,要麼小於它,因此f(n, k) = f(n-k, k) + f(n, k - 1)。邊界條

原创 ural 1207 計算幾何

1207. Median on the Plane Time Limit: 1.0 second Memory Limit: 16 MB The are N points on the plane (N is even). No

原创 ural 1588 Jamaica

思路:枚舉所有點,計算兩點長度,同時在搜索所有點,判斷是否有共線的,有的話,只算距離最長的就可以了。對於多個點在同一直線上,最長距離肯定是兩端的點,所以需要預排序。時間複雜度O(n*n*n). #include <iostream> #i

原创 hdoj 1060 Leftmost Digit

思路:n^n = a*10^p. #include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using n

原创 計算幾何 ural 1793Tray 2

1793. Tray 2 Time Limit: 1.0 second Memory Limit: 64 MB One of the organizers of the Ural Regional School Programmi

原创 哪些素數可以表示成兩平方數之和? hdoj 3542 費馬降階

摘自數論概論的內容: 素數的兩平方數之和定理:設p是素數,則p是兩平方數之和的充要條件是p= 1(mod 4) (或 p = 2). 兩平方數之和定理實際上由兩個陳述組成: 陳述1:如果p是兩平方數之和,則p = 1(mod 4). 證明

原创 hdoj 3543 Roba number

題意:求在3*10^7和4*10^7之間的所有素數。 思路:打表。怎麼打表呢,首先判斷一個比較小的數是否爲素數,是的話,它的倍數都不是素數。這個較小的數要枚舉到多大呢,題目中給定最大數是40000000,那麼它的最大素因子是sqrt(40

原创 中國剩餘定理 hdoj 1370 Biorhythms

中國剩餘定理,即孫子定理,對於三個數問題的形式爲:已知M1,M2,M3是兩兩互素的正整數,求最小ans,使它被M1,M2, M3所除得到的餘數分別是C1,C2, C3。 孫子定理的算法思想是:找出被Mi除餘1而被另外兩個數整除的數Wi。所