当前位置:网站首页>【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 。根号枚举计算质因子种类即可。
边栏推荐
- 有了这个开源工具后,我五点就下班了!
- The realization of the salary slip issuing function of WeChat public account + web background
- leetcode 31. 下一个排列(实现next_permutation 函数)
- MySQL数据库的简介及select语句的执行流程
- EMQ畅谈IoT数据基础软件开源版图,引领本土开源走向全球
- Spam accounts are a lot of trouble, and device fingerprints are quickly found
- 科创人·优锘科技COO孙岗:错误问题找不到正确答案,求索万物可视的大美未来
- ImportError: numpy.core.multiarray failed to import [cv2, matplotlib, PyTorch, pyinstaller ]
- 2020年适用于Linux的10个顶级开源缓存工具
- [Unity entry plan] Unity instance - how to protect data members through encapsulation in C#
猜你喜欢

The origin and creation of Smobiler's complex controls

UTF-8 BOM文件导致配置文件无法读取

The realization of the salary slip issuing function of WeChat public account + web background

ASP.NET Core依赖注入之旅:4.体验服务的注册和消费

Jingdong T9 pure hand type 688 pages of god notes, SSM framework integrates Redis to build efficient Internet applications

元宇宙医疗或将改变医疗格局

智能指针学习笔记

Nuxt - 网站接入 51LA 网站统计(详细教程)

用于视觉语言导航的自监督三维语义表示学习

EMQ畅谈IoT数据基础软件开源版图,引领本土开源走向全球
随机推荐
Teach you how to use uniapp to access chat and IM instant messaging - source code sharing
redis设计与实现 笔记(一)
MVCC,主要是为了做什么?
pytorch安装过程中出现torch.cuda.isavailable()=False问题
力扣207,课程表
使用pymongo,将MongoDB生成的ObjectId类型数据与字符串之间的相互转化
9.cuBLAS开发指南中文版--cuBLAS中的原子模式的配置
Flutter的实现原理初探
使用 PyGame 的冒泡排序可视化工具
firewall高级配置
Groovy XML JSON
promise学习笔记
广东大学生网络安全攻防大赛CTF部分WP
正则什么的,你让我写,我会难受,你让我用,真香!
Nuxt - 网站接入 51LA 网站统计(详细教程)
Jingdong T9 pure hand type 688 pages of god notes, SSM framework integrates Redis to build efficient Internet applications
赶紧进来修内功!!!带你认识C语言中各种进制数和原码反码补码.
ESP8266-Arduino编程实例-ADXL345三轴加速计驱动
用完华为云会议解决方案,我直接卸载了之前的会议软件【华为云至简致远】
用于视觉语言导航的自监督三维语义表示学习