編輯:關於Android編程
題目鏈接:Codeforces 388A Fox and Box Accumulation
題目大意:給出n個箱子,每個箱子告訴你說最多可以在這個箱子上面放幾個箱子,問說最少需要壘多少落。
解題思路:x最大才105,用一個cnt數組記錄下每種箱子的個數,然後從最小的開始一直往上加,直到不能加為止。
#include#include #include using namespace std; const int N = 105; int n, cnt[N], tmp; void init () { int a; tmp = 0; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d", &a); tmp = max(a, tmp); cnt[a]++; } } void set(int x, int c) { if (x > tmp) return; if (c > x || cnt[x] == 0) { set(x+1, c); } else { cnt[x]--; set(x, c+1); } } int solve () { int ans = 0; for (int i = 0; i <= tmp; i++) { while (cnt[i]) { set(i, 0); ans++; } } return ans; } int main () { memset(cnt, 0, sizeof(cnt)); init(); printf("%d\n", solve()); return 0; }
背景知識:可以用Activity和Service來開始消息通知,兩者的區別在於一個是在前台觸發,一個是後台服務觸發。要使用消息通知,必須要用到兩個類:Notificati
上一節,已經完成了來電管家的界面設計,那麼下面就要實現具體的功能了,如何將添加的黑白名單顯示呢?這裡用到了ListView,那麼,如果需要刪除黑白名單呢,是一個個長按彈出
在android開發中ListView是比較常用的組件,它以列表的形式展示具體內容,並且能夠根據數據的長度自適應顯示。列表的顯示需要三個元素:1.ListVeiw 用來展
之前曾經在網上看到Android仿QQ空間底部菜單的Demo,發現這個Demo有很多Bug,布局用了很多神秘數字。於是研究了一下QQ空間底部菜單的實現,自己寫了一個,供大
1.TextView Textview在之前的學習中用到過好多