http://codeforces.com/problemset/problem/512/B

dp题,因为状态很多,所以用map保存,注意代码中的那个二层循环不能内外换,因为map会自动排序。

#include<iostream>
#include<cstdio>
#include<map>
using namespace std; int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
} int l[],c[]; int main()
{
int n;
cin >> n;
for(int i = ;i <= n;i++) cin >> l[i];
for(int i = ;i <= n;i++) cin >> c[i];
map<int,int> mp;
mp.clear();
map<int,int>::iterator it;
mp[] = ;
for(int i = ;i <= n;i++)
{
for(it = mp.begin();it != mp.end();it++)
{
int temp = gcd(l[i],it->first);
if(mp.count(temp)) mp[temp] = min(mp[temp],it->second+c[i]);
else mp[temp] = it->second+c[i];
}
}
if(mp.count()) printf("%d\n",mp[]);
else printf("-1\n");
return ;
}

Codeforces_512_B的更多相关文章

随机推荐

  1. 类加载器在Tomcat中的应用

    之前有文章已经介绍过了JVM中的类加载机制,JVM中通过类加载加载class文件,通过双亲委派模型完成分层加载.实际上类加载机制并不仅仅是在JVM中得以运用,通过影响字节码生成和类加载器目前已经有了许 ...

  2. ASCII、UNICODE、UTF

    在计算机中,一个字节对应8位,每位可以用0或1表示,因此一个字节可以表示256种情况. ascii 美国人用了一个字节中的后7位来表达他们常用的字符,最高位一直是0,这便是ascii码. 因此asci ...

  3. 【tf.keras】AdamW: Adam with Weight decay

    论文 Decoupled Weight Decay Regularization 中提到,Adam 在使用时,L2 与 weight decay 并不等价,并提出了 AdamW,在神经网络需要正则项时 ...

  4. 【原】C#两个类互相包含类对象可以吗?

    在阅读大牛代码的时候发现了这个问题,之所以标题以问号开头,是因为我还没搞懂这个问题.权当记录,以希望以后搞懂. 部分图片转贴吧:http://tieba.baidu.com/p/6015910029 ...

  5. Markdown 复杂公式&常用符号

    公式格式 行内公式 行内公式(不会换行)使用 $ 作为起止符,例如:$a + b = c$, 效果为:\(a + b = c\) 块级公式 块级公式(单独一行)使用 $$ 作为起止符,例如:$$a + ...

  6. 1z0-062 题库解析2

    Examine the parameters for a database instance: NAME TYPE VALUE-------------------------------- ---- ...

  7. 2、Vue实战-配置篇-npm配置

    引言: 如果刚开始使用 vue 并不了解 nodejs.npm 相关知识可以看我上一篇的实践,快速入门了解实战知识树. Vue实战-入门篇 上篇反思: 1.新的关注点:开发 vue 模板.如何使用本地 ...

  8. 重拾c++第一天(2):基本语法

    1.输出方法: cout<<"输出语句" 2.输出时换行为 cout<<endl or "\n" 3.连续赋值是合法的,从右往左依次赋值 ...

  9. ssm之spring+springmvc+mybatis整合初探

    1.基本目录如下  2.首先是向lib中加入相应的jar包  3.然后在web.xml中加入配置,使spring和springmvc配置文件起作用. <?xml version="1. ...

  10. Java中整数值的4中表示方式u

    Java中整数值有4中表示方式:十进制.二进制.八进制和十六进制,其中二进制的整数以0b或0B开头:八进制的整数以0开头: 十六进制的整数以0x或0X开头,其中10-15分别以a-f(此处的a-f不区 ...