当前位置:网站首页>【7.28】代码源 - 【Fence Painting】【合适数对(数据加强版)】
【7.28】代码源 - 【Fence Painting】【合适数对(数据加强版)】
2022-07-31 15:38:00 【ZhgDgE】
#735. Fence Painting
题意:有编号从 1 1 1 开始的 n ( 1 ≤ n ≤ 1 0 5 ) n(1\leq n\leq 10^5) n(1≤n≤105) 块木板, 第 i i i 块木板的颜色是 a i a_i ai,你希望把第 i i i 块木板的颜色染成 b i b_i bi 。
有 m m m 个画家会依次来工作,第 j j j 个画家会把某一块木板染成颜色 c j c_j cj ,你可以指定他们染哪一块,但是不能不染。
判断能否把所有木板都染成目标颜色,如果能,输出方案
思路:典中典的时间倒序处理。对于 b b b 序列,我们按照 b i b_i bi 进行分组。对于 c i c_i ci ,如果在 b i b_i bi 中存在对应颜色,我们肯定优先去染需要改变的地方,然后是不需要改变的地方。如果没有对应的颜色,只能去找一个染过色的地方(在时间正序中它会被后来的颜色覆盖掉),找不到的话肯定无解。
AC代码:http://oj.daimayuan.top/submission/306521
#733. 合适数对(数据加强版)
题意:给定一个长度为 n ( 1 ≤ n ≤ 1 0 6 ) n(1\leq n\leq 10^6) n(1≤n≤106) 的正整数数列 a ( 1 ≤ a i ≤ 1 0 7 ) a(1\leq a_i\leq 10^7) a(1≤ai≤107) 和一个正整数 k ( 1 ≤ k ≤ 100 ) k(1\leq k\leq 100) k(1≤k≤100)。 请你判断共有多少个数对 ( l , r ) (l,r) (l,r) 满足:
1 ≤ l < r ≤ n 1≤l<r≤n 1≤l<r≤n,存在一个整数 x x x 使得 a l × a r = x k a_l×a_r=x^k al×ar=xk 成立
题解:(质因数分解)代码源每日一题 Div1 合适数对(数据加强版)
思路:首先,乘积为正整数的 k k k 次方,从质因子的角度来看,乘积每个质因子的次数一定是 k k k 的倍数。那我们让每个数的质因子的次数对 k k k 取余,如果两个数每个质因子的次数和加起来都是 0 0 0 或 k k k ,那么一定是满足的一对数。
那么处理方法就是:把每个数处理为质因子模 k k k 的乘积,然后存到桶里。由 a r a_r ar 求 a l a_l al 也很简单。这道题常数卡的很严,模数和被模数都要开 int ,这样模的速度比 LL 稍快一些。
这里学到了一个新的筛质数方法,比 之前的 更优:
- 预处理所有数的最小质因子,然后只用质因子去筛,时间复杂度 O ( n ∼ log n ) O(n\sim \log n) O(n∼logn)
while(num > 1){
int cnt = 0, m = minp[num];
while(num % m == 0) cnt ++ , num /= m;
// m ^ cnt
}
边栏推荐
猜你喜欢

type of timer

「秋招系列」MySQL面试核心25问(附答案)

border控件的使用

6-22 Vulnerability exploit - postgresql database password cracking

【MySQL】Mysql范式及外键作用

Tencent Cloud Deployment----DevOps

全新宝马3系上市,安全、舒适一个不落
![[MySQL] Mysql paradigm and the role of foreign keys](/img/9d/a4295de26683d7bca2b8e9d14f754b.png)
[MySQL] Mysql paradigm and the role of foreign keys

Why don't you make a confession during the graduation season?

Qt practical cases (54) - using transparency QPixmap design pictures
随机推荐
Use of radiobutton
Emmet syntax
Tencent Cloud Deployment----DevOps
基于ABP实现DDD
多主复制的适用场景(2)-需离线操作的客户端和协作编辑
C language "the third is" upgrade (mode selection + AI chess)
Snake Project (Simple)
[Meetup Preview] OpenMLDB+OneFlow: Link feature engineering to model training to accelerate machine learning model development
Oracle动态注册非1521端口
删除 状态良好(恢复分区)的磁盘
腾讯云部署----DevOps
Browser's built-in color picker
border控件的使用
Applicable scenario of multi-master replication (2) - client and collaborative editing that require offline operation
button控件的使用
Matlab矩阵基本操作(定义,运算)
修改SQL语言实现Mysql 多表关联查询优化
Internet banking stolen?This article tells you how to use online banking safely
How does automated testing create business value?
Gorm—Go language database framework