返回顶部
摘要: 普通平衡树: 非递归的不带修改的查询,方便可持久化: cpp include using namespace std; typedef long long ll; define ls(p) ch[p][0] define rs(p) ch[p][1] const int MAXN = 100000 阅读全文
posted @ 2019-09-13 11:26 Inko 阅读(159) 评论(0) 推荐(0) 编辑
摘要: ```cpp include using namespace std; int n; double r; struct point { double x, y; } p[100005], o; inline double sqr(double x) { return x x; } inline do 阅读全文
posted @ 2019-09-13 11:21 Inko 阅读(152) 评论(0) 推荐(0) 编辑
摘要: https://www.acwing.com/problem/content/121/ 给两种点,黑点和红点各n(n using namespace std; const double PI = acos( 1.0); struct Point { double x, y; Point() {} i 阅读全文
posted @ 2019-09-13 10:50 Inko 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 这个是正确的算法,但是复杂度可能会卡到 $O(n^2)$ ,加上每个点最多匹配的临近点最多15个/30个限制的话复杂度就可以保证了,最多就再做一次增加正确的几率,我确实不行从头到尾都是随机的怎么有人卡得掉。 cpp include using namespace std; const double 阅读全文
posted @ 2019-09-13 09:44 Inko 阅读(196) 评论(0) 推荐(0) 编辑
摘要: https://www.acwing.com/problem/content/125/ 一开始觉得很复杂。仔细想想会发现其实排成紧密的一排是和去中点重叠在一起一样的。 只不过对于x来说要排个序,然后贪心让最近的士兵去他应该去的位置,这样一定是最好的,非常直观,那么他们要移动的距离就可能有正有负,表示 阅读全文
posted @ 2019-09-13 01:53 Inko 阅读(154) 评论(0) 推荐(0) 编辑
摘要: "链接" J Fraction Comparision 签到题,比较两个分数的大小,但是交叉相乘会导致溢出。 那当然是依靠Java去解决啦。只是这个是真的太慢了,跑了差不多1700ms,还费了一大堆内存。 java package acscut; import java.math. ; import 阅读全文
posted @ 2019-09-13 00:06 Inko 阅读(180) 评论(0) 推荐(0) 编辑