摘要: 下文用 \(l_1,l_2\) 代指两条直线。 Part1:解析式计算 已知 \((x_a,y_a),(x_b,y_b)\) 是 \(l_1\) 上的点。 那么易得 \(l_1:y=\dfrac{y_b-y_a}{x_b-x_a}x+\dfrac{x_by_a-x_ay_b}{x_b-x_a}\)。 阅读全文
posted @ 2026-01-22 21:09 zhangruixiang 阅读(1) 评论(1) 推荐(0)
摘要: 枚举 \(j\)。 \(j=\min(i,j,k)\),那么 \(i\) 应该满足 \(A_i=\dfrac{7A_j}{5}\),\(A_k=\dfrac{3A_j}5\),由于 \(i,j,k\) 各不相等,所以 \(i,k\in[j+1,n]\)。 此时贡献为 \([j+1,n]\) 内 \( 阅读全文
posted @ 2026-01-22 21:07 zhangruixiang 阅读(3) 评论(0) 推荐(0)
摘要: 这个 trick 是一个 dalao 告诉我的。 首先,我们从低位到高位建 trie。 对于每个节点,记录 \(xorv,cnt\)。其中 \(xorv\) 表示记录的异或和,\(cnt\) 表示当前节点被 \(cnt\) 个串共用(和普通的 trie 一样)。 维护异或和 首先应当清空本节点的 \ 阅读全文
posted @ 2026-01-22 21:05 zhangruixiang 阅读(1) 评论(0) 推荐(0)
摘要: 我们充分发扬人类智慧,随机平移之后按照 \(x^2+y^2\) 排序,取前 \(370\) 个点即可。 但是这样有 \(136900\) 倍常数。 加入剪枝,设当前答案为 \(ans\),如果 \(dis(a_i,a_j)>ans/2\),直接不考虑了,正确性显然,因为三角形周长大于任意一边的两倍。 阅读全文
posted @ 2026-01-22 21:05 zhangruixiang 阅读(2) 评论(0) 推荐(0)
摘要: 双倍经验:P4309 [TJOI2013] 最长上升子序列。话说凭啥这题是蓝,那题是紫。 分析 我们需要在每次插入时获得 LIS。 我们可以直接模拟得到所有插入操作之后的序列。 然后枚举每一个数。由于是按顺序插入,所以先处理小的,再处理大的,就不会影响答案。 用 \(pos_i\) 表示 \(i\) 阅读全文
posted @ 2025-12-31 20:25 zhangruixiang 阅读(2) 评论(0) 推荐(0)
摘要: ABC #437 B 题 模拟即可,暴力计算。 C 题 简单贪心,按照 \(w+p\)(转换花费)排序即可 D 题 题意:求 \(|A_i-B_j|\) 的和。 枚举 \(A_i\),然后二分查找一个 \(j\),使 \(B_j<A_i,B_{j+1}\ge A_i\)。这样消除绝对值,然后前缀和。 阅读全文
posted @ 2025-12-27 22:25 zhangruixiang 阅读(19) 评论(0) 推荐(0)
摘要: 题目分析 按位贪心。 用 \(n_i\) 表示 \(n\) 的二进制第 \(i\) 位的值。 如果 \(n_i=0\),我们肯定选择 \(a_i=b_i=1\),因为 \(1+1>0+0\)。这样 \(a,b\) 都会加上 \(2^{n_i}\)。注意:如果 \(a+2^{n_i}\) 或者 \(b 阅读全文
posted @ 2025-12-08 12:43 zhangruixiang 阅读(14) 评论(0) 推荐(0)
摘要: 二维数点。 写得有点shi。 关于我数组开小爆炸这一件事: 写代码写着写着晕了。 #include<bits/stdc++.h> #define endl '\n' using namespace std; const int maxn=1.5e6+10,V=1e6+10;//懒得改了,直接开大 i 阅读全文
posted @ 2025-12-07 20:46 zhangruixiang 阅读(7) 评论(0) 推荐(1)
摘要: 【模板】离线二维数点 新板子。 本质就是:前缀和,利用排序后逐个插入实现区间统计。 例如当统计 \([1,l]\) 时,\([l+1,r]\) 的所有数还没有被插入,所以不会影响答案。 #include<bits/stdc++.h> using namespace std; int n,m,tot= 阅读全文
posted @ 2025-12-07 10:17 zhangruixiang 阅读(7) 评论(0) 推荐(0)
摘要: 前言 这篇文章不是正经的分块,仅记录做题记录 数列分块 1 我表示这不是线段树吗 #include<bits/stdc++.h> #define int long long #define endl '\n' #define ls id<<1 #define rs id<<1|1 using nam 阅读全文
posted @ 2025-11-25 16:39 zhangruixiang 阅读(2) 评论(0) 推荐(0)