[ABC138F] Coincidence
2023-02-03
题目
翻译
难度&重要性(1~10):6
题目来源
AtCoder
题目算法
数位dp
解题思路
\(1.\) 当 \(2x\leq y\),有\(y-x>y\% x\);
\(2.\) 当 \(2x>y\),有\(y-x=y\% x\)。
\(3.\) \(y\oplus x\geq y-x\)。
于是:
\(2x\leq y\) 时,不存在 \(y\oplus x=y\% x\)。
所以 \(2x>y\),即 \(x\) 和 \(y\) 的位数相同,最高位同时为 \(1\)。
那么问题就转化成,求 \(y-x=y\oplus x\) 的 \((x,y)\) 的对数。
满足 \(y-x=y\oplus x\),那么 \(y\) 二进制下为 \(1\),\(x\) 为 \(0\) 或 \(1\),\(y\) 二进制下为 \(0\),\(x\) 必为 \(0\)。
考虑数位 \(dp\),这种类型的数位 \(dp\) 不像常规的数位 \(dp\) ,用 \(0\sim r\) 的答案减去 \(0\sim l-1\) 的答案。
我们考虑枚举哪一位为最高位,然后 \(dp_{i,x1,x2}\)表示前 \(i\) 位,数的大小有没有达到下界 \(L\),有没有达到上界 \(R\) 的方案数,转移时先枚举 \(y\),再枚举 \(x\)。
完成状态
已完成
[ABC138F] Coincidence的更多相关文章
- 题目1042:Coincidence(最长公共子序列 dp题目)
题目链接:http://ac.jobdu.com/problem.php?pid=1042 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...
- 每日一九度之 题目1042:Coincidence
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3007 解决:1638 题目描述: Find a longest common subsequence of two strings. 输入 ...
- 九度OJ 1042 Coincidence -- 动态规划(最长公共子序列)
题目地址:http://ac.jobdu.com/problem.php?pid=1042 题目描述: Find a longest common subsequence of two strings ...
- 题目1042:Coincidence(最长公共子序列)
问题来源 http://ac.jobdu.com/problem.php?pid=1042 问题描述 给定两个字符串,求其最长公共子序列(LCS). 问题分析 网上是在是太多这类问题的文章了,随便贴一 ...
- Coincidence (动态规划求最长公共子序列)(王道)
题目描述: Find a longest common subsequence of two strings. 输入: First and second line of each input case ...
- 九度OJ 1042:Coincidence(公共子序列) (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2303 解决:1241 题目描述: Find a longest common subsequence of two strings. 输入 ...
- Reactor by Example--转
原文地址:https://www.infoq.com/articles/reactor-by-example Key takeaways Reactor is a reactive streams l ...
- Elixir - Hey, two great tastes that go great together!
这是Elixir的作者 José Valim 参与的一次技术访谈,很有料,我们可以了解Elixir的一些设计初衷,目标等等. 原文在: http://rubyrogues.com/114-rr-eli ...
- 从源代码剖析Mahout推荐引擎
转载自:http://blog.fens.me/mahout-recommend-engine/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, Hive, Pi ...
- 领域驱动设计常见问题FAQ
本文出处:http://www.cqrs.nu/Faq What is a domain? The field for which a system is built. Airport managem ...
随机推荐
- 2021-12-14:根据身高重建队列。 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个
2021-12-14:根据身高重建队列. 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序).每个 people[i] = [hi, ki] 表示第 i 个 ...
- calendar.monthrange
import calendar calendar.monthrange(2019,5) 输出结果:(2, 31) 解析: 这里使用了函数 calendar.monthrange(year,month) ...
- import MySQLdb as Database ModuleNotFoundError: No module named ‘MySQLdb‘
import MySQLdb as Database ModuleNotFoundError: No module named 'MySQLdb' import MySQLdb as Database ...
- Python从零到壹丨详解图像锐化Roberts、Prewitt算子实现边缘检测
摘要:图像锐化和边缘提取技术可以消除图像中的噪声,提取图像信息中用来表征图像的一些变量,为图像识别提供基础.本章主要介绍Robert算子.Prewitt算子.Sobel算子.Laplacian算子.S ...
- y总算法基础课+算法提高课+算法进阶课超全模板
y总超全算法模板 y总模板自取 喜欢的可以点个赞支持一下^-^ 模板展示
- 【一步步开发AI运动小程序】十、姿态动作相似度比较
随着人工智能技术的不断发展,阿里体育等IT大厂,推出的"乐动力"."天天跳绳"AI运动APP,让云上运动会.线上运动会.健身打卡.AI体育指导等概念空前火热.那 ...
- 翻车了,被读者找出 BUG
大家好呀,我是小楼. 本文是上篇文章<使用增强版 singleflight 合并事件推送,效果炸裂!>的续集,没看过前文必须要先看完才能看本文,实在不想看,拉到文章末尾,给我点个赞再退出吧 ...
- JUC同步锁原理
JUC同步锁原理 1.锁的本质 1.什么是锁? 通俗来讲,锁要保证的就是原子性,就是一个代码块不允许多线程同时执行,就是锁.从生活的角度上来说,就比如你要去上厕所,当你在上厕所期间,你会把门锁上, ...
- Go语言中的原子操作
1. 引言 在并发编程中,多个协程同时访问和修改共享数据时,如果没有使用适当的机制来防止并发问题,这个时候可能导致不确定的结果.数据不一致性.逻辑错误等严重后果. 而原子操作是解决并发编程中共享数据访 ...
- Java 写一个线程安全的单例模式(饱汉/饿汉)
饿汉单例 public class Singleton { private static Singleton singleton = new Singleton(); private Singleto ...