2020SpringTraining/2020Selection

训练情况

训练时间: 2020-04-26 13:00-17:00

训练地址: http://codeforces.com/gym/277785

个人赛

每人都A了6道

A. 稳定的连续子序列

白给题,不写了

B. 宝可梦与“或”

很重要的限制条件是:\(2 \leq x \leq 8\) 使得位运算结果最大的前提是位数最多,\(x\)最小值为2,意味着每一次操作都至少增加一个位数,那么显然这\(x\)次操作都对一个数进行乘最好 维护前缀或和和后缀或和,然后枚举每个数即可。

C. PPAP(补题)

D. 宝可梦与字符串

cf原题,二分答案之后暴力寻找是否存在子序列

E.元素乘积受限的数组计数

做法是\(O(d*n*ln(n))\),设\(dp[i][j]\)表示划分为\(i\)组,乘积为\(j\)的方案数,枚举倍数来进行递推

for(int i=1;i<=n;i++)dp[1][i]=1;
    for(int i=1;i<d;i++)
	for(int j=1;j<=n;j++)
	   for(int k=1;(LL)j*(LL)k<=n;k++)
	      dp[i+1][j*k]=(dp[i+1][j*k]+dp[i][j])%MOD;

听说有更快的做法

F. 宝可梦世锦赛与交换场地(补题)

G.宝可梦与宝可病毒(补题)

H. Beat COVID-19

记录一下dfs序,线段树维护一下区间最小值以及那个值最小

I. Haibara的序列

对1到100000每个数开一个平衡树,每一个平衡树记录在序列中角标,然后删除的话,就删除x平衡树上第k小的节点就行 最后把所有平衡树的节点都放在一个数组里,按照角标为第一关键字排序,直接输出就行。

总结

wxg,hxm在考场上没有调出来C fyh在考场上没有推出来G