G Fibonacci

WD

题意:
$$
\sum _ {0\le i<j\le n} (fib(i)\times fib(j)\mod 2)\\
$$
解:简单找规律,奇偶性一判再简单推个式子即可

B Mine Sweeper II

题意:给两个包含空和雷的地图,定义x为扫雷游戏内这样的地图上的数字和,给$\lfloor\frac{n\times m}{2}\rfloor$个机会改变第二张图的一个位置,问把第二张图的x变得和第一张图是否可能,若可能则输出方案。

解:可以发现,若把一张地图的雷和空取反,答案相同。因此只需要改变成第一张图或者第一张图取反后的图即可。

M Gitignore

LYF&ZRC LYF

题意:模拟.gitignore,问最后有哪些文件夹不需要上传。

解:树形结构,每个点代表一个字符串,用map指向它的儿子。

D Walker

合作 LYF

题意:一段线段,两个人,速度不同,从两个不同的点出发,问 走过的路把线段覆盖需要的最短时间。

解:分类讨论

  • 二分一个位置,左边都归左边的人,右边都归右边的人
  • 右边归左边的人,左边归右边的人(的确有这种可能性的)这种情况不需要二分,直接计算即可
  • 只需要右边的人走或者只需要左边的人走(和第一种情况下二分在边缘不一样,那种情况下还需要计算不需要走的人走到边缘的时间)

C Sum of Log

WD

数位dp+奇技淫巧卡常法?

I Sky Garden

题意:有n个同心圆,半径为按顺序排列的自然数。有m条直线,直线均分同心圆。问 在所有画出来的图象的交点中(包括圆与直线的交点和直线与直线的交点),所有点对的距离(指在线上走的最短距离)和。

解:可以发现,如果只有一个圆,如果要走到圆的对面,肯定走直线快;如果要走到同一个圆上很近的一个交点,那么还是走圆上快。两者的分界就是弧度制=2角度。如果有多个圈,从外圈到外圈,列式子可以发现不可能在内圈走一段之后回到外圈,只可能走直线或者只走外圈的圆。此外显然可以把内外圈互相走的情况转化成先把外圈沿直线走到内圈再走一遍内圈的过程。设考虑所有直线(但不考虑原点)且只考虑第i个圆时的答案为f[i],考虑所有直线和前i个圆的答案为g[i],推式子可以$O(n+m)$。这种情况最需要注意的是m=1时原点不是交点!!!

H Rice Arrangement

LYF

贪心,但是过的人不知道为什么并不多。

补E The Journey of Geor Autumn

NEEDREVIEW

题意:有多少个长度为$n$的数列满足$i>k$,$i\le n$,$a_i>min(a_{i-k},\cdots,a_{i-1})$,答案取模

解:首先最小的数一定在前$k$位,假设最小的数在第$x$位,那么把这个排列分成$[1,x−1],[x+1,n]$两部分,前$x−1$位显然可以任意放,但$[x+1,n]$一定需要组成一个合法排列。

设$dp[i]$表示长度为$i$的合法序列数。
$$
dp[i]=\sum _ {j=1}^{min(k,i)}dp[i-j]\cdot A _ {i-1}^{j-1}\\
=\sum _ {j=1}^{min(k,i)}dp[i-j]\cdot\frac{(i-1)!}{(i-j)!}\\
=(i-1)!\sum _ {j=1}^{min(k,i)}\frac{dp[i-j]}{(i-j)!}\\
$$
前缀和优化即可

借鉴了这篇