B
给出光源位置,求反射总距离
考虑到 $N\leq 10^{12}$ ,找规律
每次看成从一个平行四边形的右下角 $(a,b)$ 向外发射
所以下一个平行四边形状态为:
显然任意 $a,b$ 为 $0$ 时终止
设 $f(a,b)$ 为从点 $(a,b)$ 开始的路径长度,则
然而显然能找到规律,路径总长度为 $n-\gcd(n,x)$
这十分玄学,在VP的时候猜的,还不会证qwq
1 | ll n,x; |
C
删除树的一些叶节点使直径 $\leq k$ 求最少删除的点数
考虑到 $n\leq 2000$ ,所以 是dp 可以考虑枚举中心
再按 $n$ 的奇偶考虑一下中心是边还是点
1 | const int N=2e3+100; |
D
给定了数列 $A$ 的重排列,构造出数列 $A,B$ ,满足 $\sum_A=\sum_B$ ,且能由两数列划分出的回文串的字符串只由同种字符构成
神仙构造题
按回文的对应相等关系连边,例,对于 $a_1$ ,$1\rightarrow a_1 , 2\rightarrow a_1-1 , …$ ,依次连边,$b$ 同理
满足条件当且仅当将其连成一个连通块,每次连的边数为 $\sum_{i=1}\left\lfloor \frac{a_i}{2} \right\rfloor$
显然若有 $2$ 个以上的 $a_i$ 为奇数则无法构成连通块
先考虑特殊情况:当 $M=1$ 只需令 $a_1=N,b_1=1,b_2=N-1$ 即可
推广可得:所有奇数放在开头结尾构成 $A$,再使开头 $+1$ ,结尾 $-1$ 构造 $B$
可以发现这样使中间的连边错开且前后两边错开,边数恰为 $n-1$ ,构成树
1 | const int N=110; |
E
求 $\displaystyle{\sum_{i=1}^n\sum_{j=i+1}^n\binom{a_i+b_i+a_j+b_j}{a_i+a_j}}$
在焦作一中听过
考虑组合数的几何意义,$\binom{x+y}{x}$ 即为从 $(0,0)\rightarrow (x,y)$ 的方案数
$\binom{a_i+b_i+a_j+b_j}{a_i+a_j}$ 即为从点 $(0,0) \ \Rightarrow \ (a_i+a_j,b_i+b_j)$ 的方案数,平移得 $(-a_i,-b_i) \ \Rightarrow \ (a_j,b_j)$ 的方案数,dp即可
1 | const int N=2e5+100,M=2100,S=2050; |
F
给定排列 $P$,当且仅当 $i,j$ 满足 $|p_i-p_j|=1$ 且 $|i-j|\geq k$ 是可以交换 $p_i$ 和 $p_j$ ,求最终字典序最小的排列
又是我不会的神仙题
将下标与权值交换位置,即构造序列 $q_{p_i}=i$
由此有很好的性质:
变换的条件变为:当 $|q_i-q_{i+1}|\geq k$ 时交换 $q_i,q_{i+1}$ , 那么对于 $q_i$ ,$q_j\in [q_i-k+1,q_i+k-1]$ 始终在它后面
字典序最小可以转变为下标尽量小,权值尽量小,所以拓扑+贪心即可
另:建图可以优化边数,用线段树维护偏序
1 | const int N=5e5+100; |