定义了图片的相似度,问图片 A 经过任意次旋转、翻转、平移操作后,和图片 B 的相似度是多少。
水题,但是要注意上述对称操作组合以后情况比较复杂,详见结构化学教科书中对于 群的介绍。
水题,解析表达式并求值。
在线上比赛或者 CCSP 这类能自带软件的比赛中,可以直接用 flex
和 bison
生成词法分析和语法分析器,这样就不需要写太多代码。
给你一个基环树 (点的出度都是 的有向图),每次修改一个点指向的点,或者查询点 到点 的可达性和路径长度。
由于数据范围很小,暴力模拟就行了。数据范围如果改成 能不能做我不知道。
给定 、、、,计算
和 比较小 () 但是 和 都很大 ()。
小数据打表找规律,通过查 OEIS 知道生成函数 在 时可以表示成
其中 是 次 Eulerian 多项式,详见 A008292。例如
我们要求的就是
我们发现这个东西分子上是个 次多项式,次数大于 的项都是 ,对于这些项来说,除以 相当于一个 阶齐次线性递推。这个阶数显然不能矩阵快速幂,我们需要暴力处理 项,用后 项跑 BM 得到答案。一开始没有想到可以 BM,学了半天 C-H 定理也没搞懂…… 后来还把 BM 的项数写少了,最后冯佬查代码才改对。
注意 需要特殊处理,因为没有 。
吐槽: zzs 不会代数 (狗头)
裸的二分套 Dijkstra。
每周 天,一共 周,要求每周恰好训练 天,不能连续训练超过 天。第 天训练的收益是 ,最大化收益。
一看 很小, 也不大,显然就是个很简单的 DP,用 表示第 天,当前周训练了 天,连续训练了 天的方案数。每周开始的时候注意从上周最后一天的 转移到 和 。因为 比较大,需要滚动数组。
题目给定一组字符串
Team 1
Knapsackers@UNT
MoraSeekers
SurpriseTeam
CuSAT
DongskarPedongi
cofrades
viRUs
TeamName
TeamEPFL1
whatevs
WildCornAncestors
TheCornInTheFields
Aurora
要求你读入一个字符串,输出它是第几个。毒瘤的是,这题要求代码最短才能拿满分。
这题随便来个人都比我们写得短。最后冯佬发现 s[len(s)//2]
能够唯一确定是哪个串我们才压到了 B:
s=input();print('kesSraRNEtATo'.find(s[len(s)//2])+2)
实在不知道 B 是怎么做到的。
给你 个字符,询问若干个单词,让你找到这个单词在字符表中出现的位置。横着、竖着、沿两条对角线方向出现都算出现。
因为 Linux 上 Glibc 的 strstr
是 的,我们只要预处理出 组待匹配的字符串,然后拿到询问对于这 组中的所有字符串直接跑 次 strstr
就行了 (跑 次是因为单词可以反向出现)。这样时间复杂度就是每次询问 ,足以通过本题。
不会,本来想打表找规律,结果打完表找了 分钟也没找出来。一看榜这题最高分才 ,就直接交表了。
二维带通配符 ?
的匹配。
和一维做法一样,都是用 FFT,只不过做二维 FFT 就行了。
因为一开始抄了多校某题的代码 (最后发现那个投机取巧的代码这题不能用),浪费了 秒导致这题没过。
这个题待匹配的区域是 的,模式是 的。因为题目规定了匹配时模式的边界不能越过匹配区域边界,FFT 的大小开到 就够了 (卷积会覆盖掉一些区域,但是那些区域对应于模式越出匹配区域的情况,所以不用管)。赛后提交的时候无脑开 被卡常 (这可是 倍常数)。