noip73

T1

考场想法:第一眼不太可做,于是只去写了部分分,第一个子任务直接写,第二个直接背包即可,后来想了想,想到了之前前缀和那道题,觉得应该也是个结论题,然而自己啥也没想出来...于是跑路了。

60pts:前两个子任务...

100pts:从小到大排序,假设 \([1,k]\) 的数能被前 \(m\) 个数给凑出来,那么如果 \(k-1\ge a_{m+1}\) ,则 \([1,k+a_{m+1}]\) 可以被前 \(m+1\) 个数凑出来,否则答案就是 \(k+1\)

T2

考场想法:一眼矩阵快速幂,然而矩阵能力过弱,所以打了个暴力走人了...

50pts:直接暴力,注意判断 \(n<k\) 的情况。

80pts:发现所有 \(f_{i},i>k\) 都是有 \(f_{k}\) 转移过来的,要求的只是它的指数,所以可以构造一个 \(k\times k\) 的转移矩阵,矩阵 \((i+1,i)\) 设为1, \((i,m)\) 顺着填上 \(b_{m-i+1}\) ,初始矩阵为 \(1\times k\)\(i\) 位表示对应位最后求答案时的指数,subtask3中,只有第 \(k\) 位初始时为1,然后矩阵快速幂即可,注意矩阵里是指数,由费马小定理,取模应模 \(mod-1\)

100pts:对于 \(k\) 个数都单独算一遍即可,因为是乘法,所以最后再把答案合并是一样的。

前边一亿些知识学的都不太行,于是频频暴毙。

感谢太虚的矩阵讲解虽说给了吃的

貌似卡常...可以加无脸优化...

T3

考场想法:黑白点分开,显然跑个多源最短路,以所有黑点为源点跑个最短路,记录前驱,因为数据是随的,所以直接跳前驱即可,结果过不了自己造的数据,发现如果最短路相同的,需要选择路上白色点个数多的那一条,改了就过了。想了想,是假的,于是预估得分0pts。

然而事实上因为数据是随的有70pts,边权设小了,设大点就过了...

但它确实是假的,随便造就能卡。

正解就是白点取所有跟它相连的最短路上的边,权值最小的哪一个即可。

T4

考场想法:一看就是状压dp,然而还是写不出来,糊了个暴力上去....

然而暴力还错了...

正解:就是状压dp...

对于一种拓扑序 \(P\) ,可以求出原图中有几条边可以被这个拓扑序满足,假设有 \(k\) 条,对答案的贡献就是 \(2^{k}\)

用状压DP计算,每次新加入一个点可以算出有几条和这个点有关的边被满足了。

粘的题解

因为其他大佬改的太快了,所以又加了四道....

第一道是轮廓线dp,不会,第二道也不会,第三道神奇dp,第四道数学题。

直接暴毙...

有时间可能会补...

posted @ 2021-10-11 06:39  -OMA-  阅读(79)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end