B. Mysterious LCM

做法

  • 保留 \(a_i|x\) 的元素,其它元素解体。
  • \(a_i\) 的某个质因子的指数,要和 \(x\) 的这个质因子一样多,才有贡献,否则这个质因子它在划水啊。
  • 那么问题转化为选出极少的数字,使得每个数字不划水的质因子并起来等于 \(x\) 的全体质因子集合。
  • 把不划水的质因子集合分类,等价于选出种类最少的集合,并出 \(x\) 质因子全集,一个优化:如果集合 B 是集合 A 的子集,集合 B 可以去除。
  • 比赛时做法不是很合理,复杂度为 \(O(\binom{c}{c/2}2^c)\),\(c\) 为 \(x\) 中质因子个数,\(dp[x][mask]\) 表示,考虑前 \(x\) 种不划水集合,能否凑出 \(mask\)。
  • 这个问题题解中讲到了两个做法。
    • 一个是 FWT,我们用 \(f[mask]\) 表示有没有不划水的质因子集合为 \(mask\),对 \(f\) 不断地做 or Convolution,直到 \(2^c-1\) 上非 0. 复杂度 \(O(c^22^c)\)
    • 另一种是 SOS DP。用 \(dp[mask]\) 表示至少需要选择几个数字,才能包含 \(mask\) 的质因子。枚举 \(mask\),枚举 \(mask\) 的拆分,\(dp[mask]=min\{dp[mask_1]+dp[mask_1\ xor\ mask]\}(mask_1 为 mask 子集)\) 就 OK 了,复杂度 \(O(3^c)\)。
  • 另一个历史遗留问题是,如何分解,质因数,统计 \(x\) 中每个质因子出现次数,wanna fly winter camp day 2 里 Tls 对这类问题有详细讲解。
    • 两种方法:一个是泼辣的肉,易解体,不推荐施展。
    • 另一个,我们需要注意到一个数字大于 1e6 的质因子不会超过 2 个,因此筛去 1e6 以下质因子后,一定是 \(1,p,pq,p^2\) 中的某种形式。
      • \(p^2\) 非常好解决,判断 sqrt 是否为整数即可。
      • 1 挂机就好,所有的质因子都已统计完毕,睡觉去。
      • \(pq\),\(p\) 很令人烦躁,纠缠在一起,难以分离,但是我们可以把 \(a_i\) 中的数字也筛去 1e6 一下的质因子,如果剩下的部分不等于 1,且不等于 x,那么剩下部分一定等于 \(p,q\) 中一种,我们就把 \(pq\) 解体了,如果剩下的部分要么等于 1,要么等于 \(x\) 那么我们可以把 \(pq\) 当成一个质因子。

C. Swipe Your Time Away

做法 预处理向上下左右各能延伸多远。

D. DarkCity, CrimsonCity ofFlightLand

做法 先预处理每条边需要多少油,dijkstra

E. Consecutive Letters

做法 先加入所有 #,然后时光倒流,还原 #,维护 # 左右连通性,以及连通块 size

F. Palindromadness

题意 对每个回文子串串求是多少回文子串的子串
做法

  • 先建PAM后统计每个回文串的出现次数
  • 对于点u,需要统计\(\sum cnt[v]\),\(v\)到\(u\)有一条经过树边或fail边的路径
  • 能否直接在\(DAG\)上解决此问题?解体
  • 观察出一个性质:如果\(u\)到\(v\)有路径,那么一定有一条路径先经过若干树边,然后经过若干条fail边到达\(v\)。
  • 所以对于一个点,只需要统计能直接或间接fail到它的所有点的子树的和就好了,这样就有了fail树上启发式合并+线段树维护回文树dfs序的做法。。。。复杂度\(O(nlog^2n)\)
  • 题解有一个更强的性质:如果\(u\)到\(v\)有路径,那么一定有一条路径先经过若干树边,然后经过最多一条fail边到达\(v\)
  • 一眼看上去这个性质肯定不对,然后发现举不出反例,然后发现一定是对的,然后感觉好牛逼
  • 这样只需要统计能直接fail到这个点的所有点的子树就行了,复杂度\(O(nlogn)\)或\(O(n)\)

G. Decode The Alien Message

做法 签到

H. Triangle Inside Rectangle Inside Pentagon

做法

  • 考虑内接的正 \(n\) 边形的边长与,正 \(n+1\) 边形边长的比例。
  • 手玩 \(n=3\)

I. Fibonacci Power Sum

做法1 求出前 100 项,吟唱BM。

做法2

  • \(f(n)^k = (f(n-1)+f(n-2))^k = \sum_{i=0}^{k} \binom{k}{i}f(n-1)^{i}f(n-2)^{k-i}\)
  • \(f(n)^{x}f(n-1)^{k-x}=(f(n-1)+f(n-2))^{x}f(n-1)^{k-x}=\sum_{i=0}^{x}\binom{x}{i}f(n-1)^{i+k-x}f(n-2)^{x-i}\)

好,线性递推来了。所以我们吟唱 BM 吧,这谁顶得住啊。

SDU暑期集训排位(3)的更多相关文章

  1. SDU暑期集训排位(9)

    SDU暑期集训排位(9) G. Just Some Permutations 基础 DP 练习部分 定义 \(f(S)\),表示让 S 中的人全 happy 的方案数. \(dp[i][j]\) 表示 ...

  2. SDU暑期集训排位(5)

    SDU暑期集训排位(5) A. You're in the Army Now 题意 类似选志愿.每个人有 mark,有优先级从高到低的志愿. 做法 定睛一看,鲨鼻题.然后 WA. 为什么会 WA 呢? ...

  3. SDU暑期集训排位(4)

    SDU暑期集训排位(4) C. Pick Your Team 题意 有 \(n\) 个人,每个人有能力值,A 和 B 轮流选人,A 先选,B 选人按照一种给出的优先级, A 可以随便选.A 想最大化己 ...

  4. SDU暑期集训排位(8)

    A. A Giveaway 签到 B. Game of XOR 做法 dp[G][L][R]表示在倒数第G代,左边的数是L,右边的数是R,下面共有多少个0和1 区间和转换成两次前缀和和一次单点查询 利 ...

  5. SDU暑期集训排位(2)

    A. Art solved by sdcgvhgj 3min 签到 B. Biology solved by sdcgvhgj 85min 暴力 C - Computer Science solved ...

  6. 2014年CCNU-ACM暑期集训总结

    2014年CCNU-ACM暑期集训总结 那个本期待已久的暑期集训居然就这种.溜走了.让自己有点措手不及.很多其它的是对自己的疑问.自己是否能在ACM这个领域有所成就.带着这个疑问,先对这个暑假做个总结 ...

  7. 8.10 正睿暑期集训营 Day7

    目录 2018.8.10 正睿暑期集训营 Day7 总结 A 花园(思路) B 归来(Tarjan 拓扑) C 机场(凸函数 点分治) 考试代码 A B C 2018.8.10 正睿暑期集训营 Day ...

  8. 8.6 正睿暑期集训营 Day3

    目录 2018.8.6 正睿暑期集训营 Day3 A 亵渎(DP) B 绕口令(KMP) C 最远点(LCT) 考试代码 A B C 2018.8.6 正睿暑期集训营 Day3 时间:5h(实际) 期 ...

  9. 8.9 正睿暑期集训营 Day6

    目录 2018.8.9 正睿暑期集训营 Day6 A 萌新拆塔(状压DP) B 奇迹暖暖 C 风花雪月(DP) 考试代码 A B C 2018.8.9 正睿暑期集训营 Day6 时间:2.5h(实际) ...

随机推荐

  1. PyQt4 在Windows下安装

    快来加入群[python爬虫交流群](群号570070796),发现精彩内容.     首先在网上下载sip文件下载完之后解压, 在Windows的开始菜单栏中进入sip的解压目录下:   在目录下面 ...

  2. oracle的开窗函数

    原创 select * from (select province, commodity, sum(price), ROW_NUMBER() OVER(PARTITION BY province  o ...

  3. apicloud 开发环境搭建

     之前做过appcan 手机应用的开发,工作需要切换的apicloud , 开发环境的的搭建是开发的第一步,let's go 1新建应用 step1  注册账号 注册apicloud 账号:https ...

  4. 消息中间件-activemq安全机制

    activemq作为消息中间件这样一个独立的个体存在,连通用户和服务器.如果没有一套完备的安全机制去设置用户权限设置消息分发机制可想后果是非常严重.ActiveMQ如果不加入安全机制的话,任何人只要知 ...

  5. windows server2012 nVME和网卡等驱动和不识别RAID10问题

    安装2012---不识别M.2 nVME,下官方驱动,注入到系统里 缺多驱动---用ITSK万能驱动添加:|Win8012R2.x64(可解决不支持操作系统,win10与server2012R2通用) ...

  6. 『深度应用』NLP命名实体识别(NER)开源实战教程

    近几年来,基于神经网络的深度学习方法在计算机视觉.语音识别等领域取得了巨大成功,另外在自然语言处理领域也取得了不少进展.在NLP的关键性基础任务—命名实体识别(Named Entity Recogni ...

  7. C#连接sqlserver分页查询的两个简单的方法

    /// <summary>        /// 分页查询函数        /// </summary>        /// <param name="co ...

  8. 【数学+思维】ZZULIOJ 1531: 小L的区间求和

    题目链接 题目描述 在给定的一个整数序列中,小L希望找到一个连续的区间,这个区间的和能够被k整除,请你帮小L算一下满足条件的最长的区间长度是多少. 输入 第一行输入两个整数n.k.(1 <= n ...

  9. ansible模块介绍之ios_facts

    一.模块简介 收集运行IOS系统的(此处指思科的ios)的远端设备信息 二.模块参数 auth_pass #特权密码,如果参数authorize=no,则不会检索此密码,如果任务task不指定,则默认 ...

  10. 由group by引发的sql_mode的学习

    前言 在一次使用group by查询数据库时,遇到了问题.下面先搭建环境,然后让问题复现,最后分析问题. 一 问题复现 mysql版本 建表插入数据 表的结构 现在问题来了:我想查询上面表中每个部门年 ...