随笔分类 - 校内训练
[校内训练20_09_15]ABC
摘要:1.k个横着的障碍物(均在x轴上方),n个关健点(均在x轴上方),m个询问,问在某个坐标能看到多少个关键点(均在x轴下方)。k≤50,n,m≤100000,强制在线。 我只能说障碍物的两个端点很重要,因为它是许多关键直线的交点。这样判断一个点左侧有多少直线就只和与端点的连线的倾斜角有关了。 1 #i
阅读全文
[校内训练20_09_10]ABC
摘要:1.sb题。 1 #include<bits/stdc++.h> 2 #define ls son[x][0] 3 #define rs son[x][1] 4 using namespace std; 5 typedef long long int ll; 6 const int maxn=3E5
阅读全文
[校内训练20_09_08]AC
摘要:1.求二元组异或的三次方的和。k为位数,nk<=2000000。 n比较小时,直接两两枚举并用bitset计算。 k比较小时,按照位数进行分组,那么考虑贡献(三个位置)分别在一个组、两个组、三个组里的,枚举这些组并用FWT合并。 1 #include<bits/stdc++.h> 2 #define
阅读全文
[校内训练20_06_01]ABC
摘要:1.给出8个函数f(a,b,c)=k,其中a,b,c,k均为一个bool。对于一个长度为奇数的 零 一 字符串,我们称之为好的,当且仅当存在一种操作方法,使得这个字符串能变为1: 1.选出一个奇数i。令S=str[1,i],T=str[i+1,n] 2.从右往左将末尾3个数字替换为f(a,b,c)。
阅读全文
[校内训练20_05_30]ABC
摘要:1.一棵树,边权为1,每次给两个点a,b,d1,d2,找到任意一个到a距离为d1,到b距离为d2的点。 大力分类讨论即可。 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1E6+5; 4 int n,q; 5 in
阅读全文
[校内训练20_05_26]AB
摘要:1.给出N*M的循环平面上的k对点,每对点可以按四个方向的某个方向连成矩形,问交的最大值。 显然可以将每一维分开考虑。对于一维问题,数轴上的某一个点能作为交的条件是惟一的,将这些条件哈希起来统计一下即可。 O(klogk) 1 #include<bits/stdc++.h> 2 #define p
阅读全文
[家里训练20_03_01]ABC
摘要:1.不可做题。 求出满足 $$\sum_{i=1}^{m}{x_i}\leq s$$ 对任意$$i\leq m,x_i>0$$ 对所有$$i,x_i\leq t$$ 的解数 答案对10^9+7取模 m-n<=1000,t<=100000,m<=1E9,nt<=s<=1E18 2.树上LIS:一棵树,
阅读全文
[家里训练20_02_28]ABC
摘要:A:有字符串A和B,若A和B匹配,那么字符集存在一个单射,使得F(A)=B。现在给出长度为n的序列和长度为m的序列,问第一个序列中有多少子串与第二个序列匹配。 回想kmp的过程,事实上,只要“等于号”满足传递性就可以进行匹配。 看代码就知道了。 1 #include<bits/stdc++.h> 2
阅读全文
[家里训练20_02_12]ABC
摘要:A:CF1119H加强版,k<=10。 不太想解释。 1 #define mod 998244353 2 #define G2 499122177 3 #include<bits/stdc++.h> 4 using namespace std; 5 typedef long long int ll;
阅读全文
[家里训练20_02_10]ABC
摘要:A:SB题。 B: X 国有 N 座城市,由 N-1 条道路连接形成了一棵树,每条边都有边权 wi 表示经过这条边需要 wi 的时间。为了方便出行,X 国计划在每座城市建造一座传送装置,它们两两之间可以进行传送。传送并不是即时的,初始时你需要给每个传送装置设置一个参数 ai,从装置 i 传送到装置
阅读全文
[校内训练20_01_21]ABC
摘要:1.西瓜恒等式: $$\sum_{P.is.a.permutation}{\frac{1}{A[P[1]]×(A[P[1]]+A[P[2]])×...×(A[P[1]]+...+A[P[n]])}}=\frac{1}{A[1]×A[2]×...×A[n]}$$ 2.西瓜定理: 对于任意am+4≡a(
阅读全文
[校内训练20_01_22]ABC
摘要:1.给出序列A,求序列B,使得bi|ai,lcm(b1,b2,...,bn)=lcm(a1,a2,...,an)且字典序最小。 可以发现,对于某个质数p,它有一个最大的次数k,将pk放在尽可能靠后且能够整除原数组中的数字的位置上,便是答案。 虽然数字的值域达到1E18,但我们只需要知道每个数1~1E
阅读全文
[校内训练20_01_20]ABC
摘要:1.问有多少个大小为N的无标号无根树,直径恰好为L。$N,L \leq 200$ 2.问一个竞赛图中有多少个长度为3、4、5的环。$N \leq 2000$ 3.给出一些直线和单个点A,问这些直线的交点与A最近的M个距离之和为多少。$N \leq 50000,M \leq 10^7$。保证不存在两个
阅读全文
[校内训练20_01_19]ABC
摘要:1.SB题 2.有n个点,m条边,每次加入一条边,你要挑出一些边,使得形成的图每个点度数都为奇数,且最长的边最短。 3.给一个N次多项式,问有多少个质数在任意整数处的点值都是p的倍数,输出它们。$N \leq 1000,|a_i| \leq 10^9$ 问题等价于这个多项式在mod p意义下存在因数
阅读全文
[校内训练20_01_17]ABC
摘要:1.平面上每次加入直角边平行于坐标轴的等腰直角三角形,每次询问某个点被覆盖了多少次。 大常数算法:O(nlog^2) 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=3E5+5; 4 int n,q; 5 inlin
阅读全文
[校内训练19_09_10]sort
摘要:题意 给一个非负整数序列,每次问能否异或上一个正整数使得所有的数单调不减。如果能,输出最小的x,否则输出-1。单点修改。多测。要求最多一个log。 思考 只要考虑相邻的两个数。找到这两个数最高的不同的一位,那么只要考虑是一定要异或或者是一定不要异或。 代码 1 #include<bits/stdc+
阅读全文
[校内训练19_09_06]排序
摘要:题意 一个这样的算法: 现在你cnt和原始数组a,求cnt步数后a的结果。注意a是n排列。 $1 \leq n \leq 10^6,1 \leq cnt \leq \frac{n(n-1)}{2}$ 思考 对于某个i,如果j从i+1循环到了n,那么含义就是将i~n中最小的数放到第i位上,剩下的访问过
阅读全文
[校内训练19_09_06]直径
摘要:题意 构造一棵树,让它有k条直径。边权都是非负整数,要求点数不能超过5000。 $k \leq 5000000$ 思考 让树根底下分别挂着长度为a,b,c的边权为0的链,然后将链的某一端向根连一条边权为1的边,这样共有ab+ac+bc条直径。可以发现,对于数据范围内的k,可以很快地找到这样的a,b,
阅读全文
[校内训练19_09_05]ca
摘要:题意 对于任意1 ≤k≤N,求有多少个左右区分的恰有k个叶子节点的二叉树,满足对于每个节点要么没有叶子节点要么有两个节点,同时不存在一个叶子节点,使得根到它的路径上有不少于M条向左的边。 答案对998244353取模。 思考 将问题放到平面上考虑。起初在原点,我们考虑树的dfs序,每次向左走一次,得
阅读全文
浙公网安备 33010602011771号