如果需要降序
bool
cmp(
int x,
int y)
// 首先定義排序規則,然後使用過載。
sort
(a, a+len, cmp)
;
對於結構體
strucr ebuf[
1000
];
重寫操作符
// 定義在結構體內
bool
operator
<
(const e&b)
const
cmp 函式
bool
cmp(e a, e b)
寫乙個陣列儲存日期天數
#define isyear(x) x%100!=0 && x%4==0 || x%400==0?1:0
int dayofmonth[13]
[2]=
;struct date}}
};int buf[
5001][
13][32
];intmain()
//之後輸入對應的兩個你那份數字,可以求他們之間的差值,也就是兩個日期之間的日子數量。
}
sort
(nums.
begin()
,nums.
end(
),greater<
int>()
);//從大到小排序
sort
(nums.
begin()
,nums.
end(
),less<
int>()
) 從小到大排序
basic_string&
insert
( size_type index,
const chart* s )
;//index位置插入乙個常量字串
basic_string&
insert
( size_type index, size_type count, chart ch )
;在index位置插入count個字元ch
有三種用法:
(1)erase
(pos,n)
;//刪除從pos開始的n個字元,比如erase(0,1)就是刪除第乙個字元
(2)erase
(position)
;//刪除position處的乙個字元(position是個string型別的迭代器)
(3)erase
(first,last)
;//刪除從first到last之間的字元(first和last都是迭代器)
注意擷取長度,可能超過int 型別大小。
可以為0,1,10,100 但不能有01,02這種出現,判斷方法:
將字串利用atoi轉化為int數字,然後在轉化為string型別,比較長度,如果長度符合字串長度合理,如果不想等說明數字並不合理。
#include
//標頭檔案要記得加const double eps = 1e-6; //一般這樣子就夠,但有時具體題目要考慮是否要更小的 if(
fabs
(a-b)
< eps)
//判斷是否相等
if(a > b+eps)
// 判斷a是否大於b,因為大的肯定大,所以即使你小的加上,還是會更大
刷題演算法小技巧
1.大數取餘 對於較大數快速取餘 引數 char s 為儲存大數的陣列 modnumber 為mod long long modnumber char s,int modnumber return sum 2.快速冪 極大數 取餘 對於較大數快速取餘 引數 a的b次方 對 c 取餘 long lon...
刷題小技巧(一)
相加演算法是我自己定義的名字,具體問題如下 假設每次迴圈返回乙個int,第一次返回1,第二次返回2,第三次返回3,最後演算法的結果是123,如何計算?這個 問題看似簡單其實有乙個問題,就是你並不知道迴圈的次數是多少,也就是說無法確定1乘以的究竟是10的幾次方,下面介紹兩種方法 方法一 用stack的...
PTA刷題技巧
作用 刷題的時有時輸入的資料量太大,格式太繁瑣,每次除錯都得自己輸入資料,除錯的20 以上的時間都放在輸入資料上面了,考試黑框框不能複製。include include include include include include include include includeusing name...