思路

观察数据\(n \le 20\)

直接暴力。

我们直接算所有数的\(GCD\),然后枚举\(1\)~\(n\)的每一个数要不要选,然后选的话,就把原来的\(GCD\)和当前枚举的数\(GCD\)一下,最后求最小值就好了。

代码

#include <iostream>
using namespace std;
const int N = 30;
int n;
int a[N];
int ans,cost;
int gcd (int a,int b) {
if (!b) return a;
return gcd (b,a % b);
}
void dfs (int u,int g,int cost) {
if (g == 1) {
ans = min (ans,cost);
return ;
}
if (u > n) return ;
dfs (u + 1,gcd (g,u),cost + n - u + 1);
dfs (u + 1,g,cost);
}
int main () {
int T;
cin >> T;
while (T--) {
cin >> n;
int g;
for (int i = 1;i <= n;i++) {
cin >> a[i];
if (i == 1) g = a[i];
else g = gcd (g,a[i]);
}
if (n == 1) {
if (a[1] == 1) puts ("0");
else puts ("1");
continue;
}
if (g == 1) {
puts ("0");
continue;
}
ans = 2e9;
dfs (1,g,0);
cout << ans << endl;
}
return 0;
}

CF1732A Bestie的更多相关文章

随机推荐

  1. 洛谷P4571 [JSOI2009] 瓶子和燃料

    题目 https://www.luogu.com.cn/problem/P4571 思路 首先观察并且简单模拟一下火星人取燃料的过程,发现最终燃料的量一定是他选的k个瓶子容量的线性组合(观察操作3就知 ...

  2. Access denied You do not have access to chat.openai.com. The site owner may have set restrictions that prevent you from accessing the site.解决办法

    报错 Access denied You do not have access to chat.openai.com. The site owner may have set restrictions ...

  3. C++实现顺序表相关操作

    //顺序表#include<iostream>#include<cstdlib>//C中stdlib.h动态分配内存using namespace std;#define OK ...

  4. from pathlib import Path

    from pathlib import Path #引入库 P.parent #获取父级目录 P.exists() #判断当前路径是否存在 P.mkdir(parents=Fasle) # 根据路径创 ...

  5. promethus+grafana监控

    1.监控 MySQL (终端可以安装在任意主机,不一定按在mysql节点上,注:mysql版本需在5.5以上) I.首先在mysql中添加监控使用的用户: create user 'exp'@'%' ...

  6. RabbitMQ的全面简述讲解

    **转载自微信公众号:楼仔** 常见的消息队列很多,主要包括 RabbitMQ.Kafka.RocketMQ 和 ActiveMQ,这篇文章只讲 RabbitMQ,先讲原理,后搞实战. 思维导图: 1 ...

  7. flutter TextField 高度问题(包括使用maxlines自适应高度以及改变textfield组件自定义高度)

    先上代码. Container( color: Colors.blue, constraints: BoxConstraints( minHeight: 10, maxHeight: 20 ), ch ...

  8. STM32cubemx-HAL库串口断线问题

    STM32cubemx:version5.1 Chip: STM32F446RE IDE:Keil5 Q:小项目上写了个简单的通信包,波特率230400,数据量较大1600Byte/s,DMA的方式实 ...

  9. 记一次 windows 10 系统 idea 【ctrl + shift + f】快捷键失效的问题

    快捷键失效,首先想到的就是和其它软件设置的快捷键冲突了,把其它软件都关了之后,发现还是不行.最后发现原来是搜狗输入法中设置了,关掉之后就可以了.

  10. AX2012 查询用户在线操作记录

    1 static void ExportSysClientAccessLog(Args _args) 2 { 3 SysClientAccessLog sysClientAccessLog; 4 5 ...