成都集训test0719
本场比赛难度还可以,T1和T2还是比较可做。但是题目编排三道计数我真服了。
T1 镜子
思路点拨
首先,对于一般的情况可以拆点分开考虑方向,比较简单。这不是本题的重点。
你可能会疑惑,一面添加的镜子可以用两面,这一点该如何处理?
如果一个格子放了两个镜子,又该怎么办?
其实,上述疑惑都是没有必要的。看图:
至于一个格子放两个镜子的情况,大家可以感性一下,如果这个格子被经过两个不同的方向,还是由不同方向的镜子折射的,这一定是不优秀的。我们根本不需要考虑上述两种情况。
本题时限比较紧张,考虑到边权只有
T2 [USACO20DEC] Sleeping Cows P
题目描述
Farmer John 有
每天晚上,奶牛们都会按照某种方式寻找睡觉的牛棚。奶牛
我们称奶牛与牛棚的一个匹配是极大的,当且仅当每头奶牛可以进入分配给她的牛棚,且对于每头未被分配牛棚的奶牛无法进入任何未分配的空牛棚。
计算极大的匹配的数量模
思路点拨
我们先可以发现一些显然的事实:
-
本题的组合意义并不是十分明显,计数题可以考虑动态规划。
-
我们没有考虑给其分配牛棚的体积最小的牛也必须大于最大的未匹配牛棚,不然会不合法。
为了消除第二点事实给我们带来的繁杂的影响,我们考虑将牛和牛棚放一起排序。这个
现在我们想想我们的状态需要一些什么。
目前考虑到的下标,这是显然的。
目前待选择牛棚的牛的数量,因为牛棚会减少牛的数量,选择牛会增加牛的数量。
还有一点,我们讲到第二点事实所引出的,需要记录目前下标内的牛是否被全选。
综合下来,我们定义
考虑转移分两类讨论——牛和牛棚:
牛的转移
目前这头牛我们可以选或者不选,对于之前就有没选择的牛的那些状态:
之前的牛都选择的那些状态的转移:
为什么是
牛棚的转移
目前我们存在牛未选的话,这个牛棚必须选,比较简单,略。
如果全部的牛都选的话,这个牛棚爱选不选都可以:
上述的转移都是比较好理解的吧。
我们的初始状态就是
时间复杂度
T3 [JOISC2018] 修行
题目描述
求有多少个长度为
对于
对于
思路点拨
部分分
本题的
定义
转移分两类讨论,
正解
考虑容斥,令
二项式反演得:
那么我们考虑
我们带回一般式:
有两个
前边都是快速幂的柿子,我们想后边的卷积:
其实它是有组合意义的,就是我们考虑将
所以上述的卷积柿子就是
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现