原创 ACM-BestCoder Round #21

A-CET-6 test 題意: 給出某一天n,讓算前其1、2、4、7、15天。 分析: 一種方法是直接從第一天開始遍歷到第n天,判斷n-i是否滿足條件。我想的是找出離第n天最遠的存在的一天,然後順序打印即可。 源代碼: #includ

原创 COCOS-多點觸摸

對於cocos2dx 2.x版本的多點觸摸的機制,主要實現代碼如下: // 需要重寫的函數, 複數形式 void ccTouchesBegan(CCSet *pTouches, CCEvent *pEvent); // 注意返回類型是

原创 ACM-快速輸入輸出

在程序運行過程中,I/O操作無疑是比較費時的動作,而ACM競賽對運行時間又有十分嚴格的限制,所以除了想盡辦法優化算法外,在輸入輸出上下點功夫也是必要的,特別是當輸入量比較大時,快速的I/O操作便可以省下不少時間。 可能有些題目也做了提示,

原创 COCOS-Tiled地圖類

一、TMXTiledMap類 cocos2dx提供了TMXTiledMap類來管理tiled瓦片地圖,主要包括地圖層、瓦片信息等,其主要方法、屬性如下: class CC_DLL TMXTiledMap : public Node {

原创 ACM-快速冪乘

在很多的題目中,經常會遇到求解冪次的問題,當冪次比較小的時候,最後的結果也不會太大,不會造成溢出,使用庫函數pow就可以解決,時間也還過得去;但是當冪次變得比較大的時候,直接計算次方,先不說效率問題,就是最後的結果也是無法保存的,所以必須

原创 ACM-BestCoder Round #20

A-who is the best? 題意: 給出n個數,求出現頻率最高的數,如果最高出現次數一樣,則輸出最先出現的數。 分析: 由於數據範圍不大,可以直接將數據哈希爲數組下標,數組值存放出現次數,最後遍歷出答案即可。 源代碼:

原创 ACM-BestCoder Round #32

A-PM2.5 題意: 先按兩次數據之差由大到小排序,若差相等則按第二次數據由小到大排序,若第二次數據還相等則按城市數據的輸入的先後順序排序。 分析: 由於排序規則有多個,所以搞個結構體按照規則排序就ok了。但是需要注意的是,當數據相等

原创 ACM-BestCoder Round #33

A-zhx's submissions 題意: 給出n個b進制的數據,要求計算它們的和,但是不需要進位。 分析: 反轉每一個數據後,模擬每一位的加法即可,需要注意的地方主要有去掉前導零,但是當只有一個零時卻要輸出零。具體做法的話,可以將

原创 ACM-BestCoder Round #22

A-NPY and FFT 題意: 給一個十進制數,然後將它轉化爲二進制數,然後對該二進制數翻轉,相當於從後面看過來,最後將新的二進制轉換回十進制即可。 分析: 就是普通、簡單的進制轉換,詳見代碼。 源代碼: #include <cst

原创 COCOS-單點觸摸

在cocos2dx 2.x版本中,單點觸摸的實現是通過重寫函數實現的,主要代碼如下: // 需要重寫的函數,單數形式 bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent); //

原创 ACM-BestCoder Round #31

A-pairs 題意: 給出n個x軸上的座標點,問有多少對<a,b>使得第a個點與第b個點間的距離不超過k。 分析: 由於給出的點是x軸上的點,那麼可以先按x座標的大小對點進行排序,之後問題便轉化成了對於第i個點,右邊有多少個點與它的距

原创 ACM-二分查找

在有序表中高效查找元素的常用方法是二分查找,所謂二分即是折半,遵循分治的思想,每次將元序列劃分成數量儘量相等的兩個子序列,然後遞歸查找,最終定位到目標元素。下面是二分查找實現代碼(假設data序列按遞增序排列): int binary_

原创 COCOS-Tiled地圖座標

一、地圖座標 Tiled地圖一般常見的有3種不同的地圖類型,即:普通、45度、45度交錯,但是在所有類型的地圖中的座標都是按格子數算的,比如座標(0,0)代表左上角的第一個格子,需要注意的是,由於3種類型地圖的視角不同,所以座標的起始與分

原创 ACM-Codeforces Round #280 (Div. 2)

A. Vanya and Cubes 題意: 有n個方塊,要將他們堆起來,第一層要1個方塊,第二層要1+2個方塊,第三層要1+2+3個方塊,等等,也就是第i層要1+...+i個方塊,問n個方塊最多能堆幾層。 分析: 其實每一層需要的方塊就

原创 ACM-三分搜索

類似於二分查找,三分搜索法也是比較常用的基於分治思想的高效查找方法。但是和二分不同,二分只適用於單調函數,比如常用的對單調遞增或單調遞減的一個序列中的某一個元素進行查找,三分卻突破了這種限制,可以用於左邊遞增右邊遞減或者相反的,這麼一類函