暑假模拟17

暑假模拟17

TA 符号化方法初探

简单题,不讲

TB 无标号 Sequence 构造

这题有点逆天。

先看正解:考虑给等式左右同乘一个 1×n 的矩阵,矩阵随机生成,这样复杂度变为了 O(n2) 。至于正确性,根据不知道什么定理,错误概率为 9982443531

赛时做法:一个错解。考虑我们只关注C矩阵每一行和每一列是否合法,稍微优化一下即可做到 O(n2) 的优秀复杂度。不保证正确性。有办法hack这个做法,一个合法矩阵,如果,有两列的相同行数加和相同,那么交换这几个数就行。但再随机数据下概率很小,侥幸AC。

TC 无标号 Multiset 构造

抽象。

注意到 k 很小,既然每个点要么选要么不选,每一列的状态数只有 2k 个,也并不多。要求图联通,重点是不同行之间的点联通。 n 很大,还是考虑从 k 入手,发现各行联通情况至于出现了哪些状态有关,与每种状态出现几次无关,爆搜每种状态选或不选,复杂度 O(22k) ,并判断这种方案是否联通,统计合法方案种类数,开 2k 个桶表示选择其中 i 个状态的合法方案数。这里有 n 列,枚举只出现了 m 种状态,相当于 n 个小球放进 m 个盒子,每个盒子至少放一个的方案数,简单容斥一下即可。

发现 k=5 时, 232 不可过,考虑打表,只要 2k 个状态即可

int cnt1[3]={1,2,1},cnt2[5]={1,4,5,3,1},cnt3[9]={1,8,22,43,60,53,28,8,1};

int cnt4[17]={1,16,95,453,1595,4079,7775,11325,12838,11436,8008,4368,1820,560,120,16,1};

int cnt5[33]={1,32,406,4235,32705,191285,882931,3324441,10460210,27984080,64454950,128984430,
			225771000,347364500,471432800,565722120,601080310,565722715,471435600,347373600,
			225792840,129024480,64512240,28048800,10518300,3365856,906192,201376,35960,4960,496,32,1};

TD 有限制的构造

简单DP,反思自己为什么没有场切。设 dp[i][j][k] 为前 i 个游戏,选择 k 个游戏,画面质量之和为 j 的最小不可玩度,转移显然。

赛时不敢想 TD 正解,挺遗憾的。

posted @   Abnormal123  阅读(16)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示