不想写代码就可以不写!

[省选联考 2021 A/B 卷] 卡牌游戏

发现选的一定是一个前缀和一个后缀,所以可以双指针
其实答案有单调性,也可以二分,但没有想到

[省选联考 2021 B 卷] 取模

什么神仙题?
n2 可以枚举模数
若所选两数之和大于模数则应贪心选最大的两个数
若不大于模数则可以双指针
然后一个剪枝是从大到小枚举模数,模数 当前答案就跳过
然后题解告诉你这样是 O(nlog2n)

[省选联考 2021 A/B 卷] 滚榜

一个 O(2nn2m) 的暴力(可能还要乘个 m)是容易想的
因为只要算排名方案数,所以可以只用最小的转移
发现 b 单调,那么改变贡献计算方式
若第 i 个数比第 i1 个大 Δ,那么总和加 Δ(ni+1) 即可

[省选联考 2021 A/B 卷] 宝石

考虑链怎么做
发现每种颜色在收集器里只有一个位置
那么第 i 个点向离它最近的在收集器里的下一个颜色的点连边
询问找到它前面最近的 wi=p1 的点并倍增跳链
然后上树
从 lca 断开
发现向上跳链可以沿用上面做法,但向下跳不好做
那么离线下来,向下跳的部分二分链长转化为向上跳链,倍增 check
可以 O(nlog2n)

[省选联考 2020 B 卷] 卡牌游戏

捡水题做实锤了
发现每次合并的价值单调不升
见到单调不升的东西试试纵/横柱状图转变统计方式
于是发现每个前缀和非负的位置都能产生贡献

[省选联考 2020 A 卷] 作业题

  • 见到求 gcd 的值乘什么东西的时候首选使用 φI=id 进行欧拉反演
  • 关于求生成树权值和:
    一个暴力的做法是枚举每条边,算出强制删除这条边后生成树数量变化量
    这个变化量就是包含这条边的生成树数量,复杂度 O(mn3)
    更优秀的做法是将边权设为一个一次多项式 wix+1,最后边权积的一次项系数之和就是答案
    这样复杂度是 O(n3)

于是这个题把这两个东西放在一起用就行了
发现每次是要在保留边权为 d 的倍数的边时求生成树权值
那么只在剩下的边能使原图连通时跑矩阵树
个人认为最坏会跑 nlogV 次,取在将边每 n1 条分为一组,每组权值分别相同时

[CF1322F] Assigning Fares

先考虑答案的上界在哪
发现链上点的权值递增相当于排了一个拓扑序,对每条链都要求 depai<depai+1
易知这是答案下界,也容易构造出以此为上界的方案
那么一个 O(n2) 的想法是遍历每条链连边跑拓扑排序,有环则无解
现在问题变为快速建图
DAG 上的边是原树边的子集定向后的结果,那么就是要给边定向
考虑拆边为点,将路径从 lca 拆成两部分,分别给两段路径视方向异或上 0110
若最后有边为 11 则无解,否则容易得到 DAG,进而得到方案
复杂度 O(nlog2n)


nm。读错题了。给定的链并没有指定方向。
正确的题意……不太可做,只给出简单的口胡并大量借鉴@x义x 的博客
发现交 2 的链之间选法必须相同,可以借此将边集分为若干个连通块,每个块内选法相同
发现连通块内每条边的限制只可能是两种可能

{idu<idfauidu>idfau

因为此时我们还不知道限制到底应该是哪一种,所以考虑把两种选法都放在一起 DP 一下
然后思考一下发现应该 DP 每个点可行的 c 的取值范围
fu 表示 (u,fau) 限制为第一种时 cu 的可行范围,gu 为限制为第二种的范围
根据对称性可知 minfu=k+1maxgu
这里冒出来 k 了,那再二分答案一下这个 k
转移的话考虑一条边 (u,v)u 的限制,以 f 为例
因为是在转移 f 所以已经假设 (u,fau) 的类型为第一中了,那么 (u,v) 的类型应该也确定了
(u,v)(u,fau) 限制类型相同,相当于 fufu[minfv,+]
若不同,相当于 fufu[1,maxgv]
然后范围就可以 DP 出来了,貌似还可以发现自始至终只有 minfu 是有用的所以只需要 DP 这个东西
然后考虑还原方案
边的类型都确定了,那么根据 DP 值应该是可以回推的
可能有很多细节,但圣人不写,故无败。口胡,故无失。
复杂度 O(nlogn)

[JOISC 2020] 汉堡肉

JOISC 真就什么都敢出呗。扔 link 走人。

posted @   Administrator-09  阅读(0)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示