Codeforces Round 928 (Div. 4)赛后总结

A

纯水

B

没仔细看题目,思考太多了,其实只有三角和正方形两种情况,一开始想了一堆奇奇怪怪的图形来恶心自己(主要是最近被hack太多了),后面看其他题目无果再回来看发现因为题目本身就只有两个图形,非常好判断。

C(重点)

首先,题目有卡时间0.5s.我意识到了,但却没有啥好办法。尝试正常模拟累加过程,果然t了。

补充知识点:

cf时间复杂度是t+nlogn
我之前一直以为每个t他都是单独算时间的。
我想过预处理所有答案的值,但由于一开始不知道t是总和算时间,太可惜了(掉大分了)

正确答案

就是直接模拟一遍所有值的答案,用数组存储(用到一点前缀和思想)做预处理,最后直接输出数字所对应的数组答案就行。

D

核心思路
知道2147483647是一组数据的和就很好做了,逐一判断就行。
由于数字过大没办法开数组用桶,所以用map做映射。
map的具体用法

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <math.h>
#include <map>
#define ll long long
using namespace std;
const  int N = 2e5 + 10;
ll a[N];
int n;
ll ans = 0;
ll tr = 2147483647;
int main() {

	int tt;
	cin >> tt;
	while (tt--) {
		ans = 0;
		cin >> n;
		map<int, int >mp;
		for (int i = 1; i <= n; i++) {
			cin >> a[i];
		
		}
		for (int i = 1; i <= n; i++) {
			if (mp[tr - a[i]]) {
				mp[tr - a[i]]--;
			} else {
				ans++;
				mp[a[i]]++;
			}
		}
		cout << ans << endl;

	}
	return 0;


}
posted @   拍手称快  阅读(147)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤
点击右上角即可分享
微信分享提示