• 个人简介

    2100:垃圾重生之城 
      2100 年,人类早已告别垃圾困扰,一座靠科技重生的未来都市,让垃圾处理成为艺术。
    
    
      这天放学后,我随手将喝完的智能水杯、吃剩的营养餐余渣,一起投进楼道的 “量子分类机”。机器没有噪音、没有异味,一道微光扫过,垃圾瞬间被分解、识别、压缩。屏幕上立刻跳出一行字:已完成资源编码,将送往再生工厂。整个过程只用三秒,干净又安静。
    
    
      我很好奇,便乘坐悬浮车来到城市地下垃圾处理枢纽。这里没有堆积、没有污水、没有苍蝇,只有一条条透明的能量管道,像血管一样输送着 “城市养分”。
    
    
      巨大的 AI 中枢控制着全场,机械臂精准抓取、分拣、重组。厨余类垃圾被送入生物舱,几小时内转化为纯净营养液,浇灌空中花园;塑料、金属被 “分子重组仪” 拆解,直接变成全新的零件和材料,送回工厂再生产;就连最难处理的有害垃圾,也被低温封存,转化为安全的建筑原料,绝不污染土壤和空气。
    
      
      管理员告诉我,2100 年的城市早已实现 “零填埋、零焚烧、全循环”。每个人产生的垃圾,都会在半小时内被系统处理,重新变成可用资源。曾经困扰人类百年的垃圾难题,在未来科技面前彻底消失。
    
    
      走出枢纽,地面上阳光明媚,绿树成荫,街道一尘不染。垃圾不再是负担,而是城市循环的一部分。2100 年的未来,用最先进的智慧,让每一份垃圾都找到归宿,让地球永远干净、健康、充满生机。
    
    13588556140
    
    13606562170
    

    武器强化

    #include <bits/stdc++.h>
    using namespace std;
    const int maxn = 1e3 + 10;
    int n, m;
    int num[maxn];
    int a[maxn][maxn];
    int main() {
        cin >> n >> m;
        for (int i = 1; i <= m; i++) {
            int p, c;
            cin >> p >> c;
            num[p]++;
            a[p][num[p]] = c;
        }
        for (int i = 1; i <= n; i++)
            sort(a[i] + 1, a[i] + 1 + num[i]);
        long long ans = 1e18;
        long long s = 0;
        for (int x = max(1, num[1]); x <= m; x++) {
            long long sum = 0;
            int use = 0;
            priority_queue<int, vector<int>, greater<int>> q;
            for (int j = 2; j <= n; j++) {
                if (num[j] >= x) { 
                    for (int k = 1; k <= num[j] - x + 1; k++) {
                        sum += a[j][k];
                        use++;
                    }
                }
                int st = max(1, num[j] - x + 2);
                for (int k = st; k <= num[j]; k++)
                    q.push(a[j][k]);
    		}
            s = 0;
            for (int j = 1; j <= x - num[1] - use; j++) {
                s += q.top();
                q.pop();
            }
            ans = min(ans, sum + s);
        }
        cout << ans;
        return 0;
    }
    

    二代皇马银河战舰首发阵容:

    中锋:Karim Benzema
    左边锋:Cristiano Ronaldo
    右边锋:Gareth Bale
    前腰:Toni Kroos
    中前卫:Luka Modrić
    后腰:Carlos Casemiro
    左后卫:Marcelo
    中后卫:Sergio Ramos
    中后卫:Pepe
    右后卫:Daniel Carvajal
    门将:Navas
    

    梦三巴萨首发阵容:

    门将:Víctor Valdés
    左后卫:Éric Abidal
    中后卫:Carles Puyol
    中后卫:Gerard Piqué
    右后卫:Dani Alves
    后腰:Sergio Busquets
    中前卫:Xavi Hernández
    中前卫:Andrés Iniesta
    左边锋:Lionel Messi
    右边锋:Neymar JR
    前锋:Luis Suárez
    

    堆操作

    首先你需要一个头文件:#include<queue>
    priority_queue<int> q;//这是一个大根堆q
    priority_queue<int,vector<int>,greater<int> >q;//这是一个小根堆q
    //注意某些编译器在定义一个小根堆的时候greater<int>和后面的>要隔一个空格,不然会被编译器识别成位运算符号>>
    q.top()//取得堆顶元素,并不会弹出
    q.pop()//弹出堆顶元素
    q.push()//往堆里面插入一个元素
    q.empty()//查询堆是否为空,为空则返回1否则返回0
    q.size()//查询堆内元素数量
    

    重载运算符

    struct node{
    	int val,rnd;
        bool operator < (const node&x) const {
    		return rnd < x.rnd;
    	}
    }a[100];
    

    成绩排序

    #include <bits/stdc++.h>
    using namespace std;
    class student {
    	public:
        int id, chinese;
        bool operator<(const student &b) const {
            if (b.chinese != chinese) { 
                return (b.chinese < chinese); 
            }
            return (b.id > id);
        }
    };
    student a[310];
    int main() {
        int n;
        cin >> n;
        for (int i = 1; i <= n; i++) {
            cin >> a[i].chinese;
            a[i].id = i;     
        }
        sort(a + 1, a + n + 1);
        for (int i = 1; i <= 5; i++) {
            cout << a[i].id << " " << a[i].chinese << endl;
        }
        return 0;
    }
    
  • 最近活动

    This person is lazy and didn't join any contests or homework.
  • 最近编写的题解

    This person is lazy and didn't write any solutions.