校赛补题
链接: (https://njoj.org/Contest/749/)
总体很屎.. F题的n^2
一直觉得会T没有敲, 没想到其实是对的.. 1小时的时候做了A, C, J.. 然后就一直吃屎F..
A
划水, 对字符串t也可以使用这种变换.. WA了一发.
B
几何, 占坑
C
给定你一个数n,请你统计出在[a,b]这个区间中和n互质的数的个数。两个数互质当且仅当他们除了1之外没有其他的公共因子或者他们最大的公共因子是1。1和任何数是互素的。
容斥原理, 把求[1, r]的与n互质的数转换成[1, r]的与n不互质的数. 然后容斥一发
搞定. (这其实是我第一次写容斥.. 一发就对蛮爽的)
D
还是容斥, 占坑.
E
比较烦, 坑不填了
F
将一个给定的数列,拆分成K个不降序列,每个数出现且只出现一次,且在各序列中各个数相对于原数列的相对顺序不变。如7 6 9 8 10可以拆成 7 9 10和6 8。求最小的K值。
水题.. 然而没敢写n^2.. 后面4小时都在死磕这题..
最初想法.. 以 7 6 9 8 10为例.. 输入7, 新增一个序列, 输入6, 新增一个序列, 输入9, 放在之前最大的7的后面, … 类推..
其实这是n^2的.. 当时我想n^2太慢, 来个二分, 结果不知道咋二分, 其实仔细想想, 维护的那个数组肯定是递减的数组..
需要面壁 . 这种线性表的题已经不知道多少次被卡住了, 很烦. 当时一直在O(n)和nlogn那里死磕.. 没有稍微自习分析下. 需要做一些这种练习题.
G
给出一个非负整数A,将这个数字的最低位移动到最高位(原来的最高位变为次高位,次低位变成最低位),得到非负整数B,发现B恰好是A的k倍。现给出A的最低位的值n,和倍数k,求最小的非负整数B。
比赛的时候没有看题..
H
anti-nim 游戏. 主要是nim都忘了..
nim游戏是谁拿了最后一个石子谁赢, 这个游戏相反, 拿了最后一个的输.
nim游戏的必败态就是x1 ^ … ^ xn = 0的状态.
考虑anti-nim. 如果全部都是1, 那么n为奇数必败, 为偶数必胜.
如果有很多1, 以及一个大于1, 必胜(可以根据1的个数选择把>1变成=1或=0)
SG=x1 ^ x2 ^ … ^ xn.
当SG = 0. 充裕堆石子个数>1, 孤单堆=1.
S0: SG>0, 充裕堆为0.
S1: SG>0, 充裕堆为1.
S2: SG>0, 充裕堆>1.
T0: SG=0, 充裕堆=0
T2: SG=0, 充裕堆>1
显然S0为必败, T0必胜. S可以转移到S/T, T只能转移到S.
S1必胜, 因为其可以转移到S0.
T2只能转移到S1/S2, S1必胜, 若T0想赢只能转移到S2, 而S2可以重新转移回T2. 因此T2最终只能转移到S1, 必败.
因此S2必胜.
I
没有看题, 题解说是2-SAT等我写一次2-SAT再说. 挖坑.
J
水题