CodeForces 588A

题意:Duff喜欢吃肉,想在接下来的n天,每天都有Ai斤肉吃,但每一天肉的单价Pi不定,肉 可以保存不过期,现已知n天每天肉的斤数Ai,以及单价Pi,为了使每天都             有想要的Ai斤肉吃,求最小花费。

 思路:cost=Ai*min(pi)  1<=i<=n;

代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn=1e5+;
const int inf=0x3f3f3f3f;
int cost[maxn],p[maxn]; int main()
{
int d,minn,res;
while(~scanf("%d",&d))
{
res=;minn=inf;
for(int i=;i<d;i++)
{
scanf("%d%d",&cost[i],&p[i]);
if(p[i]<minn)
minn=p[i];
res+=cost[i]*minn;
}
printf("%d\n",res);
}
return ;
}

CodeForces 588B

题意:有一个数n,有多个因子,例如12={1,2,4,6,12},满足可爱数的条件是:为n的因子,并且这个数的因子数不能被开方。现求最大可爱数。

思路:数据较大1e12.

         方案一、暴力+用sqrt减少循环次数。使时间复杂度达到根号n*根号根号n,即1e9.

方案二、打一个素数表,整数可以拆分成任意素数的乘积。

代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std;
long long n; bool deal(long long x)
{
long long y=sqrt(x)+;
for(long long i=;i<=y;i++)
if(x%(i*i)==)
return ;
return ;
} int main()
{
while(~scanf("%lld",&n))
{
long long m=sqrt(n);int flag=;
long long res;
for(long long i=;i<=m+;i++)
{
if(n%i==&&deal(n/i))
{
flag=;
res=n/i;
break;
}
}
if(!flag)
{
for(long long i=m;i>=;i--)
{
if(n%i==&&deal(i))
{
res=i;
break;
}
}
}
printf("%lld\n", res);
}
return ;
}

CodeForces 587A

题意:n个数,A1,A2.....An。选k(k<=n)个数,构成2^a1+2^a2+...2^ak=2^x(可为任意),算一次,一个数只能被选一次。求数全被选完最少需要多少次。

思路:可发现:2^2=2^1+2^1

2^3=2^2+2^2

2^4=2^3+2^3

......

2^n=2^(n-1)+2^(n-1)

由于n个数任意取,并且2^n=2^(n-1)+2^(n-1).   只看指数,即Ai,(1,1)=2,  (2,2)=3,    (n-1,n-1)=n

为了尽少次数的到底2^x.    需要统计Ai的个数。然后(1,1)=2,  (2,2)=3,    (n-1,n-1)=n,

一 直合成到最大。合成后剩下的次数即为result.

代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=1e6+; int f[*maxn],a[maxn];
int n,res,maxx; void deal()
{
res=;
for(int i=;i<=maxn;i++)
{
if(f[i]%==)
{
f[i+]+=(f[i]-)/;
res++;
}
else
f[i+]+=f[i]/;
}
} int main()
{
while(~scanf("%d",&n))
{
memset(f,,sizeof(f));
maxx=-;
for(int i=;i<n;i++)
{
scanf("%d",&a[i]);
maxx=max(maxx,a[i]);
f[a[i]]++;
}
deal();
printf("%d\n",res);
}
return ;
}

剩下题目待补,革命尚未成功,同志仍需努力!

Codeforces Round #326(Div2)的更多相关文章

  1. Codeforces Round #328(Div2)

    CodeForces 592A 题意:在8*8棋盘里,有黑白棋,F1选手(W棋往上-->最后至目标点:第1行)先走,F2选手(B棋往下-->最后至目标点:第8行)其次.棋子数不一定相等,F ...

  2. Codeforces Round #468(div2)

    A Friends Meeting 题意:有两个人在数轴上的不同位置,现在他们需要到一个位置碰面.每次每人只能向左或向右走1个单位,轮流进行.每个人第一次走时疲劳度+1,第二次走时疲劳度+2,以此类推 ...

  3. Codeforces Round #329(Div2)

    CodeForces 593A 题意:n个字符串,选一些字符串,在这些字符串中使得不同字母最多有两个,求满足这个条件可选得的最多字母个数. 思路:用c[i][j]统计文章中只有i,j对应两个字母出现的 ...

  4. Educational Codeforces Round 64(ECR64)

    Educational Codeforces Round 64 CodeForces 1156A 题意:1代表圆,2代表正三角形,3代表正方形.给一个只含1,2,3的数列a,ai+1内接在ai内,求总 ...

  5. Codeforces Round #499(Div2) C. Fly (二分精度)

    http://codeforces.com/contest/1011/problem/C 题目 这是一道大水题! 仅以此题解作为我这个蒟蒻掉分的见证 #include<iostream> ...

  6. codeforces Educational Codeforces Round 16-E(DP)

    题目链接:http://codeforces.com/contest/710/problem/E 题意:开始文本为空,可以选择话费时间x输入或删除一个字符,也可以选择复制并粘贴一串字符(即长度变为两倍 ...

  7. cf_ducational Codeforces Round 16_D(gcd)

    题意:求R-L区间满足x=a1*k+b1=a2*l+b2的x的个数; 思路:求出最小的满足条件的x0,则ans=(L-x)/(a1/gcd(a1, a2)*a2)+1; 注意剪枝,不然会超时: 代码: ...

  8. Codeforces Round #581(Div. 2)

    Codeforces Round #581(Div. 2) CF 1204 A. BowWow and the Timetable 题解:发现,$4$的幂次的二进制就是一个$1$后面跟偶数个$0$. ...

  9. codeforces 572(Div2)A、B、C、D1、D2、E

    Cdoeforces 572(Div2)A.B.C.D1.D2.E 传送门:https://codeforces.com/contest/1189 A.题意: 给你一串长为n的字符串,要求你将其切割为 ...

随机推荐

  1. Entity Framework 连接 mysql 。(code first模式)

    准备工作 1.下载vs2015 2.下载mysql2017 3.安装 1.创建类库 . 2.打开Nuget包,下载最新版的entity framewor. 3.在引用中添加 mysql.data; m ...

  2. Windows Thin PC(7月2日发布)下载+激活+汉化

    在7月2日Windows 7 瘦身版Windows Thin PC(WinTPC)完成了RTM版的编译开发,WinTPC是一个面向企业用户的产品,主要面向虚   拟桌面基础架构(VDI)消费者,Win ...

  3. pooling

    转自:http://www.gageet.com/2014/09182.php 本文部分参考了:http://www.zhihu.com/question/23437871 卷积层是对图像的一个邻域进 ...

  4. iconv for linux(c)

    // code_convert("gb2312","utf-8",inbuf,outbuf,outlen);static int code_convert(co ...

  5. 【MySQL】使用SQL语句操作MySQL

    前言: MySQL在工作中是最常用的数据库,但在使用Django和Flask的时候,都是使用ORM进行操作,除了select语句外,其他的SQL语句操作MySQL的能力没有啥提高,为了解决这个问题, ...

  6. sql的使用

    1.自动获取最新订单号 select concat('XJDD',DATE_FORMAT(now(),'%Y%m%d'), LPAD(( FOR )) , max(SUBSTRING(inquiryn ...

  7. Linux帮助都有哪几种,如何使用?

    帮助文件有2类,内置命令和外部命令. 其中内置命令就是shell内核自带的,因为shell当中自己要进行管理,那么就需要一些命令进行管理,不同的shell肯定有不同的shell命令,我们用type命令 ...

  8. 39条常见的Linux系统简单面试题

    39条常见的Linux系统简单面试题 本文主要分享39条常见的Linux系统简单面试题,其中包括如何看当前Linux系统有几颗物理CPU和每颗CPU的核数.如何实时查看网卡流量为多少等等,希望对你有所 ...

  9. java从图片中识别文字

    package com.dream.common; import java.awt.image.BufferedImage; import java.io.File; import java.io.I ...

  10. oauth2.0协议接口-第一篇-api逻辑

    开放平台是支持OAuth2.0和RESTful协议的资源分享平台,经过授权的合作伙伴可以读取和写入资讯.用户.文件.数据库等资源. 1.创建数据库表结构 CMSSyncClient(数据同步客户端) ...