全部评论
问下第四题(那个三元组的)为什么暴力解法只有82,是超时了吗
五个题都做出来了,但是第一次用赛马,不知道可以提交。 现在要怎么看通过率啊😣
第四题AK代码 struct Node { vector<int> pos; }; int main() { int n; cin >> n; vector<int> res(n); unordered_map<int, Node*> map; //以值为键 for (int i = 0; i < n; ++i) { cin >> res[i]; if (map.find(res[i]) == map.end()) { //没找到,需要新建 Node* node = new Node; node->pos.push_back(i); map[res[i]] = node; } else { Node* node = map[res[i]]; node->pos.push_back(i); } } long long int count = 0; for (int j = 1; j < n; ++j) { unordered_map<int, long long int> jmap; //sum的值对应的数目 for (int k = j + 1; k < n; ++k) { int sum = 3 * res[j] - res[k]; if (map.find(sum) != map.end()) { if (jmap.find(sum) == jmap.end()) { Node* node = map[sum]; int length = node->pos.size(); long long int tmp = 0; for (int p = 0; p < length; ++p) { if (node->pos[p] < j) { ++tmp;; } else { break; } } jmap[sum] = tmp; count += tmp; } else { count += jmap[sum]; } } } } cout << count; }
能不能加个路过
扫地机器人那道题,数据好奇怪。我一开始不确定m和n哪个是行哪个是列。然后想先试试吧,反正挺简单的这个不行就是哪个,先m行n列,ac了。然后把m和n换了换,还是ac。。。 当场凌乱。。。。
相关推荐
05-28 14:23
门头沟学院 基带工程师 点赞 评论 收藏
分享
05-07 14:11
大连工业大学 Java 
点赞 评论 收藏
分享