当前位置:网站首页>【8.7】代码源 - 【抽卡】【LCM与GCD】
【8.7】代码源 - 【抽卡】【LCM与GCD】
2022-08-08 16:28:00 【ZhgDgE】
#968. 抽卡
题意:
题解:UNICORN Programming Contest 2021(AtCoder Beginner Contest 225) 部分题目题解
思路:考虑 DP 。先排一下序,然后定义 d p ( i , j ) dp(i,j) dp(i,j) 表示后 i i i 个字符串选择 j j j 个拼起来的最小字典序。 d p ( i , j ) = min ( d p ( i + 1 , j ) , s i + d p ( i + 1 , j − 1 ) ) dp(i,j)=\min(dp(i+1,j),s_i+dp(i+1,j-1)) dp(i,j)=min(dp(i+1,j),si+dp(i+1,j−1)) ,注意边界条件。
有两点要说的:
- 我们要按照 a + b < b + a a+b<b+a a+b<b+a 的方式排序,而不是 a < b a<b a<b 的方式。比如按照后者排序为 b , b a b,ba b,ba ,但是拼起来就不是字典序最小的。我们按照前者排序,就能保证 一个子集的最小字典序拼接方式的字符串 等于 这些字符串按照排序后的下标从左到右拼起来的字符串。
- 至于为什么倒着 DP ,大概是因为前面 i − 1 i-1 i−1 个字符串的最小字典序,和当前字符串拼起来,不一定是前 i i i 个字符串的最小字典序。不是很懂。
AC代码:http://oj.daimayuan.top/submission/325124
#953. LCM与GCD
题意:
思路:又是一个推公式题。等价于 x ⋅ a gcd ( a , b ) ⋅ b gcd ( a , b ) − y = k gcd ( a , b ) x\cdot \frac a{\gcd(a,b)}\cdot \frac b{\gcd(a,b)}-y=\frac k {\gcd(a,b)} x⋅gcd(a,b)a⋅gcd(a,b)b−y=gcd(a,b)k ,容易知道 gcd ( a , b ) \gcd(a,b) gcd(a,b) 一定是 k k k 的因子,根号枚举因子即可。
对于一个枚举的因子,我们再推公式: a gcd ( a , b ) ⋅ b gcd ( a , b ) = k gcd ( a , b ) + y x = M \frac a{\gcd(a,b)}\cdot \frac b{\gcd(a,b)}=\frac{\frac k {\gcd(a,b)}+y}x=M gcd(a,b)a⋅gcd(a,b)b=xgcd(a,b)k+y=M ,问题转化为有多少对数互质且乘积为 M M M 。根号枚举计算质因子种类即可。
边栏推荐
- MySQL数据库的简介及select语句的执行流程
- Groovy XML JSON
- 最新30系显卡搭建paddle飞浆环境|含CUDA下载安装
- The situation of the solution of the equation system and the correlation transformation of the vector group
- [uniapp applet] view container cover-view
- 常见的网络安全术语之一
- 它们不一样!透析【观察者模式】和【发布订阅模式】
- VIT:Transformer进军CV的里程碑
- UTF-8 BOM文件导致配置文件无法读取
- 基于ECS实现一分钟自动化部署【华为云至简致远】
猜你喜欢
随机推荐
华为云分布式缓存服务Redis开通及使用规划教程【华为云至简致远】
ImportError: numpy.core.multiarray failed to import [cv2, matplotlib, PyTorch, pyinstaller ]
Patience sorting - specializing in quickly solving the longest increasing subarray
C语言学习概览(六)
R语言4.04安装教程
Understanding of redis slice cluster
全网首发!消息中间件神仙笔记,涵盖阿里十年技术精髓
redis切片集群的理解
Web3构架是怎么样的?
使用 PyGame 的冒泡排序可视化工具
【入门PCB】立创eda的学习
腾讯云产品可观测最佳实践 (Function)
C#/VB.NET 将PDF转为PDF/X-1a:2001
国泰君安证券新手开户、有安全保障吗?
找工作的我看了国聘app
egg(二十):fs读取本地的txt文件
智能指针学习笔记
ESP8266-Arduino编程实例-ADS1015(ADC)驱动
急了,Mysql索引中最不容易记的三个知识点通透了
赶紧进来修内功!!!带你认识C语言中各种进制数和原码反码补码.