不想写代码就可以不写!
[省选联考 2021 A/B 卷] 卡牌游戏
发现选的一定是一个前缀和一个后缀,所以可以双指针
其实答案有单调性,也可以二分,但没有想到
[省选联考 2021 B 卷] 取模
什么神仙题?
可以枚举模数
若所选两数之和大于模数则应贪心选最大的两个数
若不大于模数则可以双指针
然后一个剪枝是从大到小枚举模数,模数 当前答案就跳过
然后题解告诉你这样是 的
[省选联考 2021 A/B 卷] 滚榜
一个 的暴力(可能还要乘个 )是容易想的
因为只要算排名方案数,所以可以只用最小的转移
发现 单调,那么改变贡献计算方式
若第 个数比第 个大 ,那么总和加 即可
[省选联考 2021 A/B 卷] 宝石
考虑链怎么做
发现每种颜色在收集器里只有一个位置
那么第 个点向离它最近的在收集器里的下一个颜色的点连边
询问找到它前面最近的 的点并倍增跳链
然后上树
从 lca 断开
发现向上跳链可以沿用上面做法,但向下跳不好做
那么离线下来,向下跳的部分二分链长转化为向上跳链,倍增 check
可以
[省选联考 2020 B 卷] 卡牌游戏
捡水题做实锤了
发现每次合并的价值单调不升
见到单调不升的东西试试纵/横柱状图转变统计方式
于是发现每个前缀和非负的位置都能产生贡献
[省选联考 2020 A 卷] 作业题
- 见到求 的值乘什么东西的时候首选使用 进行欧拉反演
- 关于求生成树权值和:
一个暴力的做法是枚举每条边,算出强制删除这条边后生成树数量变化量
这个变化量就是包含这条边的生成树数量,复杂度
更优秀的做法是将边权设为一个一次多项式 ,最后边权积的一次项系数之和就是答案
这样复杂度是 的
于是这个题把这两个东西放在一起用就行了
发现每次是要在保留边权为 的倍数的边时求生成树权值
那么只在剩下的边能使原图连通时跑矩阵树
个人认为最坏会跑 次,取在将边每 条分为一组,每组权值分别相同时
[CF1322F] Assigning Fares
先考虑答案的上界在哪
发现链上点的权值递增相当于排了一个拓扑序,对每条链都要求
易知这是答案下界,也容易构造出以此为上界的方案
那么一个 的想法是遍历每条链连边跑拓扑排序,有环则无解
现在问题变为快速建图
DAG 上的边是原树边的子集定向后的结果,那么就是要给边定向
考虑拆边为点,将路径从 lca 拆成两部分,分别给两段路径视方向异或上 01
或 10
若最后有边为 11
则无解,否则容易得到 DAG,进而得到方案
复杂度
nm。读错题了。给定的链并没有指定方向。
正确的题意……不太可做,只给出简单的口胡并大量借鉴@x义x 的博客:
发现交 的链之间选法必须相同,可以借此将边集分为若干个连通块,每个块内选法相同
发现连通块内每条边的限制只可能是两种可能
因为此时我们还不知道限制到底应该是哪一种,所以考虑把两种选法都放在一起 DP 一下
然后思考一下发现应该 DP 每个点可行的 的取值范围
令 表示 限制为第一种时 的可行范围, 为限制为第二种的范围
根据对称性可知
这里冒出来 了,那再二分答案一下这个
转移的话考虑一条边 对 的限制,以 为例
因为是在转移 所以已经假设 的类型为第一中了,那么 的类型应该也确定了
若 和 限制类型相同,相当于
若不同,相当于
然后范围就可以 DP 出来了,貌似还可以发现自始至终只有 是有用的所以只需要 DP 这个东西
然后考虑还原方案
边的类型都确定了,那么根据 DP 值应该是可以回推的
可能有很多细节,但圣人不写,故无败。口胡,故无失。
复杂度
[JOISC 2020] 汉堡肉
JOISC 真就什么都敢出呗。扔 link 走人。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话