原创 STL---常用函數用法大集合-=-更新中...

1,sort() 關於sort()函數使用 sort(起始位置,末位置***加一***) sort(a+l1,a+l2+1,greater<int>())//區間內升序排列 sort(s.begin(),s.end());//一串

原创 四個數的平方和

注意: for()的條件寫法 i * i + j * j + k * k + l * l <= n i , j , k ,l正好遞增,保證了字典序。不用再次比較字典序。 四層循環和三層循環均可實現。 #include <io

原创 字符串中A的個數

#include <bits/stdc++.h> using namespace std; int main(){ char s[105]; //Bypass string ! cin >> s; in

原创 敲7(升級版約瑟夫)

樣例輸入: 5 3 20 donglali nanlali xilali beilali chuanpu 樣例輸出: chuanpu 分析: 相比與約瑟夫,多了一下條件: 規定從第幾個人開始數(不是從第一個),從那個數字開始

原创 前K名平均數

1,double ave = double /int //ok double ave = int / int //損失精度 #include <bits/stdc++.h> using namespace std; int a

原创 北極圈遠征

暴力:從大到小遍歷x,遍歷到k爲整數結束 #include <bits/stdc++.h> using namespace std; int main(){ int n,k; cin >> n; fo

原创 小蘋友搶氣球

輸入樣例: 5 6 3 7 9 6 4 1 2 3 4 5 6 樣例輸出: 3 0 0 2 1 1,M:此M漂亮的一塌糊塗,美啊! 2,sort()+sort())回到原始排列順序 #include <bits/stdc+

原创 括號匹配升級

OJ新平臺提交的第一題 1,getling(cin,s); //只讀srting類型 gets(s) ///只讀char類型 2,棧的操作 int a = s.top(); //查棧頂 s.pop();

原创 蒜頭的越野比賽

注意: 1,sum[]的使用,避免while()裏面套for(). 2,cin,cout,在數據量過10的5次方時間開銷會很大 3,數據量採用long long #include <bits/stdc++.h> using

原创 最多幹掉幾個怪獸

分析; 只需把野怪按血量升序排列,依次打野怪即可 注意: 一開始數組可以先進行一下優化 只存我能打的着的。 #include <bits/stdc++.h> using namespace std; struct st{

原创 分數線

7 76 71 42 4 27 27 20 27 5 1,取中位數人的成績即可 總人數爲奇數偶數,都取a[n/2],下標從0 開始。 #include <bits/stdc++.h> using namespace std

原创 開花(在b數組中二分查找a數組元素)

注意: 代碼一:二層循環暴力查找超時 代碼二(最棒):借用STL set中的count()方法快速搞定,且沒有超時 so,集合查詢應該很快 注意:count()時間複雜度是線性變換的 最壞的情況爲O(n) so

原创 跳石頭(最小最大問題)

思路:二分法查找最短距離的最長值 查找範圍:1---l 分析: 1,取最短距離爲mid,然後判斷這個mid能否滿足另一個條件 2,判斷mid : 遍歷a[],與學校滅路燈問題類似處理, 相鄰兩塊石頭距離小於mid的情況

原创 學校滅路燈

樣例輸出 1 分析: 若兩盞燈之間的距離超過m,則中間的燈不能滅; 否則幹掉。 排序後,從第二盞燈走到第n-1盞燈,判斷每個燈是否要幹掉 若a[i+1] - a[i-1] <= m 幹掉第i盞,只需把第i盞的位置改爲i

原创 魔力轉圈圈(快速冪)

分析: 1,實質爲取模運算:(初始位置 + 移動的總位置) % n 2,數量太大需用到快速冪: 指數轉爲二進制計算 快速冪快的實質:把指數k搞成一串二進制數,一位一位的算冪並取模 這樣可以避免數據溢出,同時將原來的時間複