原创 HDOJ 1754 I Hate It(線段樹)

超級傳送門:http://acm.hdu.edu.cn/showproblem.php?pid=1754 分析:用線段樹來保存學生成績,每次更新區間最大值即可。 代碼: #include<cstdio> #define lson l,

原创 USACO 1.3.4 Prime Cryptarithm

暴力求解法,由於數據規模小,窮舉即可,注意取位的技巧。 代碼如下: /* ID: michael139 LANG: C PROG: crypt1 */ #include<stdio.h> #include<string.h> int v

原创 Project Euler 13 Large sum(大數加法)

超級傳送門:http://projecteuler.net/problem=13 自己寫的大數加法模板,用的時候注意設定tmp數組適當的長度,避免溢出或浪費空間。 #include <cstdio> #include <cstring

原创 USACO 1.1.4 Broken Necklace

模擬題,遍歷項鍊,選擇斷點,然後雙向搜索,應該注意項鍊是循環的,爲了避免重複搜索,用vis數組來標記搜索過的珠子。每次記錄最大可以收集的珠子數,與最大值做比較。本題要注意斷點爲w時的處理方法,特殊地,當珠子全爲w時,輸出n(即項鍊長度)。

原创 USACO 1.2.1 Milking Cows

我寫的方法比較笨,用了一個時間軸數組vis,若vis[i]==1,則說明第i~i+1秒之間有牛正在被餵奶,最後統計一下數組上連續1的最大長度和連續0的最大長度就可以。 代碼如下: /* ID: michael139 LANG: C PR

原创 HDOJ 2852 KiKi's K-Number(樹狀數組)

超級傳送門:http://acm.hdu.edu.cn/showproblem.php?pid=2852 題意:有一個容器裏有m個數(1<=m<100000),可以加入新的數,也可以刪掉已有的數。有多次查詢,查詢容器中第k大的數(非遞減

原创 百度2012年校招筆試題——pszStringRotate

百度2013校園招聘筆試題 算法與程序設計 第4題:         字符串左移,void *pszStringRotate(char *pszString, int nCharsRotate),比如ABCDEFG,移3位變DEFGABC

原创 USACO 1.2.4 Palindromic Squares

本題的關鍵是進制轉換,如何將10進制數轉換爲B進制(2<=B<=20),大於9的數字用大寫字母表示(類似16進制)。程序關鍵在於進制轉換函數的書寫。 代碼如下: /* ID: michael139 LANG: C PROG: palsq

原创 POJ 2029 Get Many Persimmon Trees(二維樹狀數組)

超級傳送門:http://poj.org/problem?id=2029 題意:一塊W*H的矩形區域,每一小塊可能有柿子樹,讓你用一個S*T的矩形選擇,問最多能選中幾棵柿子樹。(注意S和T不能倒置,題目給你3 5和5 3是不一樣的做法)

原创 POJ 3321 Apple Tree(DFS+樹狀數組)

超級傳送門:http://poj.org/problem?id=3321 題意:有一棵蘋果樹,每個分叉的交點或者末端剛開始都長有蘋果,這些蘋果可以被吃掉,也可以再長出來,但是每個位置上同時最多隻有一個蘋果。現在要查詢指定的某棵子樹上的蘋

原创 USACO 1.2.3 Name That Number

思路:先把dict.txt中的名字都轉化成數字,存儲在數組中,便於查找。需要注意的是數字與字母的對應表裏沒有字母Q和Z,還有就是如果有多組滿足題意,則都需要輸出。 代碼如下: /* ID: michael139 LANG: C PROG

原创 USACO 1.3.3 Calf Flac

題意:給定一個字符串(只考慮其中的'a'~'z'或'A'~'Z'),找出其中最長的迴文,輸出迴文長度和原始的最短的包含該回文的字符串片段。 數據的輸入比較噁心,爲此WA了好多次。題意要求測試文件裏可能有多行數據,每行不超過80個字符,總共

原创 Project Euler 20 Factorial digit sum(大數乘法)

超級傳送門:http://projecteuler.net/problem=20 用了自己寫的大數乘法模板,乘法模板利用了這兒介紹的加法模板,注意設定內部tmp和ans數組的大小。 #include <cstdio> #include

原创 POJ 1990 MooFest(樹狀數組)

超級傳送門:http://poj.org/problem?id=1990 題意:X軸上有N頭牛(1<=N<=20000),每頭牛有一個聽力值v[i]和唯一的橫座標x[i]。兩頭牛直接互相通話的花費定義爲max(v[i],v[j])*ab

原创 USACO 1.2.5 Dual Palindromes

此題可以利用1.2.4中所寫的進制轉換函數,題目本身沒有太大難度,模擬即可。 代碼如下: /* ID: michael139 LANG: C PROG: dualpal */ #include<stdio.h> #include<str