2023.12.9 总结

T1

题意:一枚棋子每一步只能走到与它原位置不同行与不同列的位置,现在将其放在一个 RC 列的棋盘中,此棋子走 N 步,经过的点构成一个排列,问有多少种不同排列?(R,C,N200)
初步思路此题是 DP
fi,j,u 为走了 i 步,在 j,u 位置的走法,每一次一个一个点转移,时间复杂度 O(NR2C2)
反着考虑,每走一步先求整个棋盘的总方案,再减去同行同列的方案,时间复杂度为 O(NR2C+NRC2)
用前缀和优化,时间复杂度为 O(NRC)

T2

题意:一个 nm 边的无向图,共 k 种颜色,编号为 1k ,对这些点染色,相邻的点的颜色编号和不能为 z ,问有多少种方案?(n,m18,k,z109)
n,m 很小,从 n,m 角度考虑。
考虑容斥,每次钦定一些边矛盾,并查集处理,套容斥公式即可。
时间复杂度 O(2mn)

T3

题意:求有多少个数既为 N 的倍数,又为 S 的子串。(|S|5000,N1000)
考虑 DP
fi,j 为处理到第 i 位,除 Nj 的数有多少个,直接 DP 处理即可,答案即为 1i|S|fi,0
但是这样会出现重复的数,若一个数在 S 中出现了两次,就会记重。
我们可以这样做,DP 状态加一个 09 ,表示最后一位,初始化不在 0 而在每一位初始化。
这样就可以做到去重。

T4

不会

posted @   dijah  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示