STL常用内置数据结构: http://www.turing-code.com/d/sanjie/discuss/6704da5173bb90dee3e409e6#1728371281842

T3 参考

#include <bits/stdc++.h>
using namespace std;
priority_queue<int> q1;  // 大根堆
priority_queue<int, vector<int>, greater<int>> q2; // 小根堆
vector<pair<int,int>> jobs; // jobs[i].first  jobs[i].second
int main() {
	int n, m;
	cin >> n >> m;
	for (int i = 1; i <= n; i++)
	{
		int ai, bi; cin >> ai >> bi;
		jobs.push_back({ai, bi});
	}
	sort(jobs.begin(), jobs.end());
	int idx = 0, ans = 0;
	for (int day = 1; day <= m; day++)
	{
		while (idx < n && jobs[idx].first <= day)
		{
			q1.push(jobs[idx].second);
			idx++;
		}
		if (q1.size() != 0)
		{
			//cout << ans << " ";
			ans += q1.top(); // 取出堆顶
			q1.pop(); // 删除堆顶
		}
	}
	cout << ans << endl;
	
	return 0;
}

T5 质因数分解

#include<bits/stdc++.h>
using namespace std;

map<int, int>st;  

int main()
{
	int n;
	cin >> n;
	for (int i = 2; i <= n/i; i++)
	{
		int k = 0;
		while (n % i == 0)
		{
			n /= i;
			k ++;
		}
		if (k)
			st[i] = k;
	}
	if (n > 1)
		st[n] = 1;
	for (auto it : st)
		cout << it.first << " " << it.second << endl;
	return 0;
}

0 条评论

目前还没有评论...