大概思路是差不多

但是没想到两个两个配对和剩下的三个三个配对的方案

Problem - C - Codeforces

题意:

思路:

构造

第一个条件:考虑将a数组的数分解质因数,然后给b数组分配质因子,具体怎么分配得看后面

第二个条件:

可以转化成:

第三个条件:

要使k尽可能大,那么b数组中每个数的质因子个数就要尽可能少

三个条件转化完了,考虑结合一下条件

构造和贪心在一起时,可以考虑用贪心策略去特殊化构造条件

因此考虑两个相同的质因子进行配对

因为代入可得是满足条件的

三个不同的质因子配对也满足条件

因此考虑两个两个配对,多出来的三个三个配对,(因为如果两个不同的质因子配对,素因子个数为2,合因子个数为1,就不满足条件了)如果还多出来,放进任意一对都可以

Code:

#include <bits/stdc++.h>#define int long longusing namespace std;const int mxn=1e3+10;map<int,int> mp;int n;
int a[mxn];void solve(){mp.clear();cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n;i++){int u=a[i];for(int j=2;j<=u/j;j++){if(u%j==0){int s=0;while(u%j==0){u/=j;s++;}mp[j]+=s;}}if(u>1) mp[u]++;}int ans=0,res=0;for(auto it:mp){ans+=it.second/2;res+=it.second%2;}cout<<ans+res/3<<'\n';
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int __=1;cin>>__;while(__--)solve();return 0;
}

【构造+贪心+分解质因数】CF868div2 C. Strongly Composite相关推荐

  1. Composite Coloring(思维 数论(筛素数 分解质因数))

    (29条消息) CodeForces - 1332B Composite Coloring(数论+构造)_Frozen_Guardian的博客-CSDN博客 (29条消息) codeforces 13 ...

  2. 信息学奥赛一本通 2032:【例4.18】分解质因数

    [题目链接] ybt 2032:[例4.18]分解质因数 [题目考点] 1. 质数 [解题思路] 解法1:使用循环 每次循环中,遍历2到n,找到一个n的质因数,输出,而后n除以该因数,继续循环. 解法 ...

  3. 分解质因数-Pollard‘s Rho

    Pollard's Rho 质数的判定 试除法 Fermat 素性测试 Miller-Rabin 素性测试 查找因数 还是试除法 Pollard's Rho 分解质因数   随便写写,不喜勿喷. 质数 ...

  4. C语言,分解质因数一个解法!_只愿与一人十指紧扣_新浪博客

    题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. 现在,你的程序要读入一个 ...

  5. 阶乘分解质因数[经典题组合数学枚举质因子]

    引入问题: 给定整数NNN,试把阶乘 N!N!N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pip_ipi​ 和 cic_ici​即可. N!N!N!分解质因数后的结果,共若干行,每行一对 ...

  6. 【数学专题】 筛质数、分解质因数和快速幂

    筛质数 质数筛法分为埃氏筛和线性筛. 埃氏筛没有线性筛时间复杂度好,不常用,但是他的时间复杂度分析方法却比较常用. 埃氏筛的时间复杂度为O(nloglogn)≈O(n)O(nloglogn)≈O(n) ...

  7. 【c语言】分解质因数

    将一个正整数N(1<N<32768)分解质因数.例如,输入90,打印出90=233*5. 样例输入 66 样例输出 66=2311 #include <stdio.h> int ...

  8. java求最大公约数(分解质因数)

    下面是四种用java语言编程实现的求最大公约数的方法: package gcd;import java.util.ArrayList; import java.util.List;public cla ...

  9. 负数分解质因数java_Java经典案例之-“分解质因数”

    /** * 描述:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. * 分析: * 对n进行分解质因数,应该先找到一个最小的质数k,然后按照下列步骤进行: * (1)如果这个质数恰 ...

最新文章

  1. 机房管理系列之工作站
  2. 十进制数转化为2进制后有多少个1
  3. 怎样与用户有效的沟通以获取用户的真实需求
  4. Java LinkedList公共int indexOf(Object o)方法(带示例)
  5. 大道至简 读后有感
  6. python获取类的类属性_Python中如何获取类属性的列表
  7. springboot2 oauth2 jwt认证服务器和资源服务器
  8. POI合并单元格注意事项
  9. Linux:文件系统和数据资料
  10. Python HackerRank 刷题 Minimum Distances
  11. 天下码农苦外包公司久矣
  12. 线下盛会|欢迎关注 Pulsar Summit 2022 旧金山峰会
  13. ARouter路由解析
  14. vue项目的导出功能
  15. MySQLdb/_mysql.c(29) : fatal error C1083: Cannot open include file: ‘mysql.h‘: No such file or direc
  16. Android 8.0 VTS 测试 FAIL 项解决记录
  17. 两种方法简单实现网站随机语录的显示
  18. 计算机辅助英语教学 教材,英语教学课中计算机辅助
  19. 情境领导者-第五章、承担领导责任 故事
  20. android降噪算法,面向Android设备的音频降噪系统设计

热门文章

  1. 20060629: 家园2 音乐
  2. 主动降噪蓝牙耳机怎么选才不踩雷?推荐这五款高性价比蓝牙耳机
  3. Android防止按钮在规定时间内被连续点击的简单方法
  4. addBatch()和executeBatch()
  5. 教你用win10 自带计算器绘图功能画一个心
  6. 公式编辑器右对齐+自动编号
  7. DTC的解析与状态掩码
  8. 文件管理工具:Path Finder mac
  9. python psycopg2使用_python2/3 利用psycopg2 连接postgreSQL数据库。
  10. catkin build 和 catkin_make