//
題意: 給你n個數,問你兩個數直接的差值得絕對值最小為多少,及有多少對滿足這樣的數/
分析:排序後直接掃一遍即可
//#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 200010;
int a[maxn];
int main()
else
if(t == mindis) pairs++;
}printf("%d %d\n",mindis,pairs);
return
0;}
//
題意: 有n個人順時針圍成一圈,編號從1~n,剛開始時第乙個人為leader,現在進行k輪遊戲
每一輪有乙個數ai,表示從leader的後乙個人開始往後數ai個人,將最後乙個人出圈,並且將出圈人的後乙個人設為下一輪的leader
問你每一輪出圈人的編號?
分析:由於n很小,所以我們可以直接進行模擬即可,將圈直接看成一行,編號1~n
在每一輪中有:
leader :標記leader為從頭開始的第幾個人
n: 還剩下的人數
所以下乙個出圈的人為第 (leader + a[i]) % n 個人
再將後面的編號往前移動一位即可
依次模擬下去
**注意對邊界情況的處理**
//#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 110;
int ch[maxn];
int a[maxn];
int ans[maxn];
int main()
for(int i=1;i<=k;i++)
printf("\n");
return
0;}
//
****是wa的,今後找機會改**
題意: 給你乙個長度最大為100000的正整數,為你最少刪去多少個數使得他是3的倍數(沒有前導0)
分析:乙個數的所有位數之和是3的倍數那麼那個數就是3的倍數
我們也可以將每一位看成0,1,2,3
所以這個數 %3 後只有可能有3中情況:0,1,2、
若餘數為0:可以直接輸出
若餘數為1:去掉乙個1或兩個2 (有很多關於0的情況的討論)
若餘數為2:去掉乙個2或兩個1
分情況討論即可
//#include
#include
#include
#include
#include
using namespace std;
const int maxn = 100010;
char s[maxn];
int main()
int t = sum % 3;
if(t == 0) printf("%s\n",s);
else
if(t == 1)}}
}else
if(num1 > 1)
printf("\n");
}else
if(num1 == 1)
printf("\n");
}else
else
else
if(s[2] != '0')
else
printf("\n");}}
}}
}else
if(t == 2)}}
}if(num2 > 1)
printf("\n");
}if(num2 == 1)
printf("\n");
}else
else
else
if(s[2] != '0')
else
printf("\n");}}
}}}}
return
0;}
//
題意:給你一顆完全二叉樹,標號規則如圖所示(先序序列),
現在從乙個節點出發,可以進行u:向上,r:向右,l:向左 移動這三種操作 (當不能移動時不動)
經過s操作後,問你最後到達哪一節點?
分析:滿二叉樹的標號方式和我們所學的樹狀陣列一樣,所以我們想到了樹狀陣列
設當前所在節點的編號為u,那麼pos = u&-u : 表示和u處在層的第乙個節點的編號
若 u&(2*pos) != 0 表示 u 節點在父節點的右側
若 u&(2*pos) == 0 表示 u 節點在父節點的左側
並且我們發現從最後一層開始相鄰兩層之間的節點的編號差值從1 開始成倍增長
所以我們根據以上資訊模擬即可
//#include
#include
#include
#include
#include
using
namespace
std;
long
long n,q,u,root;
string s;
int main()
else
if(s[j] == 'l')
else
if(s[j] == 'r')
}printf("%i64d\n",u);
}return
0;}
刷題記錄 CF1228A,B,C,D
a題 a distinct digits 800 題目大意 給你兩個數,l和r,問你在l到r之間的數中存不存在每個數字都不相同的數,存在輸出這個數,不存在輸出 1 思路 暴力就完事 includeusing namespace std const int maxn 2e5 10 int a maxn...
792 高精度減法(模板題)
題目傳送門 題解思路參考大佬 給定兩個正整數,計算它們的差,計算結果可能為負數。輸入格式 共兩行,每行包含乙個整數。輸出格式 共一行,包含所求的差。資料範圍1 整 數長度 10 51 整數長度 10 5 1 整數長度 105 輸入輸出樣例 樣例輸入1 32 11樣例輸出1 21高精度減法。模板題。將...
cf刷題日誌
e1.send boxes to alice easy version e2.send boxes to alice hard version easy和hard都沒想出來怎麼貪心。首先對於k 1k 1k1 且k1 k2k 1 k 2 k1 k2 可以顯然得到結論1 把所有數組合為k 1k 1 k1...