從n個數中,最少能分出幾個單調遞增序列。
水題。就是找到n個數中出現次數最多的次數。
只是n個數範圍有30個十進位制位,需要當成字串處理,這就用到了字串雜湊。
#include
using
namespace
std;
const
int maxn = 3005;
const
int mod = 100007;
struct node ;
struct strhash
unsigned
int bkdhash(char* s)
int getid(char* s)
strcpy(cur->str, s);
cur->nxt = head[code];
head[code] = cur++;
return cur - hash - 1;
}int find(char* s)
return -1;
}} strhash;
char s[100];
int cnt[maxn];
int main()
printf("%d\n", ans);
}return
0;}
hdu 1800 簡單字串處理
這道題題目如果想對了,那麼就簡單了,簡單說一下 1 等級高的可以在同一木棒上教等級低的,最多只能教乙個,當然也可以選擇不教 2 徒弟最多只能有乙個師傅,但沒有師傅也是可以的 3 問最少需要多少個木棒 貪心思想,也就是只要找到出現次數最多的那個數就行,因為乙個師傅最多只能教乙個徒弟,而且乙個徒弟最多只...
HDU1800 字典樹寫法
題意 高階魔法師可以教低階魔法師 魔法掃把技能,同時教會了的低階魔法師又可以教比他更低階是,是傳遞的關係 同時如果教會了的話,他們可以同時坐乙個掃把 問最少需要多少個掃把 思路 就是判斷相同的數字最多的是幾個 他們分別乘坐乙個掃把,這樣其他的也能合理分配進這幾個掃把 坑 這裡剛開始陣列開得過大總超時...
hdu2920 字串雜湊
模式串中 把它分成一截截,當某一截在s串中多個位置能找到匹配,找第乙個匹配點,貪心 因為當中間有 可以利用它跳過一些字元,當遇到 先跳過乙個字元,其他的一截截貪心去找到匹配位置,若最後剩餘偶數個字元,則match 第一截和最後一截如果是非 和 必須嚴格匹配 找來的雜湊寫法 include inclu...