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

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 吧,这谁顶得住啊。

转载于:https://www.cnblogs.com/FST-stay-night/p/11272882.html

SDU暑期集训排位(3)相关推荐

  1. SDU暑期集训排位(5)题解

    A - You're in the Army Now 贪心.我们直接将这些人按分数从大到小排序,然后按照这个顺序让他们选择,最后按照要求输出即可.但是输出的排序方式不是字典序,而是字母序,这里要注意. ...

  2. 2019暑期个人排位集训补题--思维题

    2019暑期集训思维相关补题集 CodeForces - 768B Code For 1 Gym - 100066B CodeForces - 768B Code For 1 Jon fought b ...

  3. 暑期集训5:并查集 线段树 练习题G: HDU - 1754

    2018学校暑期集训第五天--并查集 线段树 练习题G  --   HDU - 1754 I Hate It 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.  这让 ...

  4. 暑期集训5:并查集 线段树 练习题F:  HDU - 1166 ​​​​​​​

    2018学校暑期集训第五天--并查集 线段树 练习题F  --   HDU - 1166 敌兵布阵 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A ...

  5. 暑期集训5:并查集 线段树 练习题B: HDU - 1213 ​​​​​​​

    2018学校暑期集训第五天--并查集 线段树 练习题B  --   HDU - 1213 How Many Tables Today is Ignatius' birthday. He invites ...

  6. 暑期集训5:并查集 线段树 练习题A:  HDU - 1232 ​​​​​​​

    2018学校暑期集训第五天--并查集 线段树 练习题A  --   HDU - 1232 畅通工程 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅 ...

  7. 暑期集训4:栈,树,优先队列 例 :  UVA - 514 ​​​​​​​​​​​​​​

    2018学校暑期集训第四天--栈,树,优先队列 例题  --   UVA - 514 Rails There is a famous railway station in PopPush City. ...

  8. 暑期集训3:几何基础 练习题H: POJ - 2456

    2018学校暑期集训第三天--几何基础 练习题H  --   POJ - 2456 Aggressive cows Farmer John has built a new long barn, wit ...

  9. 暑期集训3:几何基础 练习题G: HDU - 1052

    2018学校暑期集训第三天--几何基础 练习题G  --   HDU - 1052   (昨天加练题) Tian Ji -- The Horse Racing Here is a famous sto ...

最新文章

  1. PHP无限分类-PHP100代码篇
  2. java nio的演进_Java接口的防御性API演进
  3. linux设置时间为24小时制,设置时区
  4. 图结构练习——判断给定图是否存在合法拓扑序列
  5. python找图片不同_用openCV和Python 实现图片对比,并标识出不同点的方式
  6. Python中time模块详解(转)
  7. Camtasia实用技巧之智能聚焦
  8. 8个很实用的在线工具来提高你的Web设计和开发能力
  9. 安装运行okvis odometry
  10. paip.java UrlRewrite 的原理and实现 htaccess正则表达式转换
  11. ubuntu / xubuntu conda/pyenv need permission, but sudo conda :command not found
  12. JSON网络传输协议
  13. 浅谈同构类问题的骗分算法
  14. java 随机数生成算法_java 语言实现的随机数生成算法
  15. 三位一体自我陈述计算机专业,三位一体自我陈述报告
  16. 做开发的你需要了解:Serverless 可观测性的过去、现在与未来
  17. Python —— 字典攻击
  18. xctf攻防世界pwn基础题解(新手食用)
  19. Vue(三):vue基础入门
  20. boseqc35能不能连电脑_bose QC35耳机怎么连接win10电脑 bose QC35无法连接电脑的解决方[多图]...

热门文章

  1. map文件分析 stm32_浅谈STM32的启动过程
  2. es文件浏览器怎么用_谷歌出品的文件管理APP,比ES文件浏览器更简约
  3. 5.5.35 - mysql 同步_MySQL 5.6.35主从同步配置案例
  4. 轻量级锁_Java高级架构师-Java锁的升级策略 偏向锁 轻量级锁 重量级锁
  5. 火狐浏览器读取ukey_火狐 83版引入HTTPS-Only模式 确保访问安全连接
  6. php文本框显示ip,php实现图形显示Ip地址的代码及注释_PHP教程
  7. Ubuntu无法找到add-apt-repository问题的解决方法
  8. js隐藏和显示div
  9. EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY‘RE NOT. RENEWALS ARE LESSER
  10. Win10 Ubuntu子系统(内嵌ubuntu18.04)运行32bit Linux原生程序 解决Exec format error错误