摘要:
https://www.luogu.com.cn/problem/P1955 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22904/1027 开了ll还见祖宗 注意x^2 + y2算完之后先判断有没有超4r2的范围,没有的话再计算z^2,算是对long long溢出的特判 #include<bits/stdc++.h> typedef long 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22904/1024 参考 https://www.luogu.com.cn/problem/solution/P2024 这是一个典型的并查集问题,可以通过“带有偏移的并查集”来解决。由于题目涉及食物链的关系,可以将“同类”与 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22904/1022 并查集:通过并查集找到所有与1连通的节点。 动态规划:使用01背包来处理这些与1连通的节点,在精力范围内求得最大利益。 #include <iostream> #include <vector> #incl 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22904/1010 思路来源: https://www.cnblogs.com/BlankYang/p/16459928.html @空白菌 思路描述: 输入处理:给定 n 个用户编号从 1 到 n,以及 m 条服务线,每条服 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22904/1004 1. 为什么要排序? 排序是为了先处理人数限制大的士兵。因为人数限制小的士兵会影响后续的选择,优先处理人数限制大的士兵可以让我们选出更多的士兵,最大化战斗力。 如果不排序,可能会先处理人数限制小的士兵,导致 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22669/L 要点: 利用pos实现懒排序,用另外一个数组记录被移动的元素现在的理论位置,而不进行物理操作。最后再排序 利用l和r标志标记最小的元素的索引。注意,这里l和r用的是相对位置,所以没有实际含义,只是表示哪个元素在哪 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22669/K 小技巧 遍历list且最后一个元素后没有多余空格 for (auto it = mylist.begin(); it != mylist.end(); ++it) { if (it != mylist.begin 阅读全文
摘要:
对于这样一个题,最简单的想法就是用堆来模拟m次切割的过程,不过时间复杂度为O((n+m)log(n+m))(要用楼下所讲的进行优化),只能通过65%的数据。 https://ac.nowcoder.com/acm/contest/22669/J make_pair的对于三个元素比较大小并且获得最大值 阅读全文
摘要:
https://ac.nowcoder.com/acm/contest/22669/I 堆的用法 Type: 队列中存储元素的类型。例如 int,double,pair<int, int> 等。 Container: 底层存储数据的容器类型,默认为 vector,但可以换成 deque 或其他容器。 阅读全文