2851 菜菜买气球

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 黄金 Gold

题解

题目描述 Description

六一儿童节到了,菜菜爸爸带着菜菜来到了游乐园,菜菜可高兴坏了。这不,菜菜看到了一排卖气球的,便吵着闹着要买气球。

不过这些卖气球的也奇怪,他们都站成了一排,而且每个人每次都只卖一定数量的气球,多了不卖,少了也不卖。

菜菜爸爸已经打听好了这N个人每次卖的气球数量,忽然想考考菜菜:只能从连续的若干个人那里买气球,并且气球总数必须是质数,求最大的可行的气球总数。

这个问题可难住了菜菜,他找到了你,请你帮忙计算该从哪个人买到哪个人,气球总数是多少。

输入描述 Input Description

第一行,一个正整数N。

第二行,N个正整数,第i个数表示第i个人每次卖的气球数ni。

输出描述 Output Description

一行,三个正整数l,r,s,分别表示买第l个人到第r个人的气球,总数为s,要求s尽可能大。在有若干个最优解的情况下,输出l最小的一组。数据保证有解。

样例输入 Sample Input

3

1 3 4

样例输出 Sample Output

2 3 7

数据范围及提示 Data Size & Hint

对于10%的数据,有0<N<=20。

对于100%的数据,有0<N<=2000,0<ni<=1000。

分类标签 Tags 点此展开

模拟 素数判定 数论
dp写的,还用了筛法求素数,结果~~
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
#define N 2001
int prime[N],a[N],f[N][N];
bool check[N];
int n,l,r,ma;
void init(){int tot=0;for(int i=2;i<=2000;i++){if(!check[i])prime[tot++]=i;for(int j=0;j<tot;j++){if(i*prime[j]>2000) break;check[i*prime[j]]=1;if(i%prime[j]==0) break;}}
}
int main(){init();scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}for(int i=1;i<=n;i++) f[i][i]=a[i];for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){f[i][j]=max(f[i][j],f[i][j-1]+a[j]);if(ma<f[i][j]&&!check[f[i][j]]){ma=f[i][j];l=i;r=j;}}}printf("%d %d %d\n",l,r,ma);return 0;
}

思路:f[i][j]表示第i个气球到第j个气球的最大值,再加上一个pd()判断是素数,记录一下,就ok

AC代码:

#include<cstdio>
#include<cmath>
#include<cstring>
using namespace std;
#define N 2010
int n,l,r,ma,a[N],f[N][N];
int jfs(int x,int y){if(x==y) return a[x];if(f[x][y]>=0) return f[x][y];int mid=x+y>>1;return f[x][y]=jfs(x,mid)+jfs(mid+1,y);
}
int pd(int x){if(x<2) return 0;for(int i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1;
}
int main(){scanf("%d",&n);for(int i=1;i<=n;i++)scanf("%d",a+i);memset(f,-1,sizeof f);for(int i=1;i<=n;i++){for(int j=i;j<=n;j++){int p=jfs(i,j);if(p>ma&&pd(p))ma=p,l=i,r=j;}}printf("%d %d %d\n",l,r,ma);return 0;
}

毕竟这是一道数论题,搜索、dp……肯定不如数论优啊。

下面为AC数论版代码

就是短了点。。。

#include<cstdio>
#include<cmath>
using namespace std;
#define N 2001
int a[N],sum[N],n,ans,l,r;
int pd(int x){if(x<2) return 0;for(int i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1;
}
int main(){scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);sum[i]=sum[i-1]+a[i];}for(int i=1;i<=n;i++)for(int j=i;j<=n;j++)if(pd(sum[j]-sum[i-1])){if(sum[j]-sum[i-1]>ans){ans=sum[j]-sum[i-1];l=i; r=j;}}printf("%d %d %d\n",l,r,ans);return 0;
}

转载于:https://www.cnblogs.com/shenben/p/5639585.html

2851 菜菜买气球相关推荐

  1. 有哪些投资小的生意(盘点四个投资小风险低的生意)

    在当前社会上,有不少下岗失业人员,年龄都在50岁左右,这个年龄段想重新找一份工作,肯定是非常困难的.那么,一个53岁的下岗失业者,现在适合做哪些投资小的生意呢?我这里根据当前市场情况,推荐一些项目,仅 ...

  2. Java小型管理系统,文章中有源码,适合作为课程作业,个人小项目(中等)

    Bills.java package cn.tx1;/*** ID 类别 账户 类型 余额 时间 备注*/ public class Bills {private String name;privat ...

  3. python turtle画气球-如何用python的装饰器定义一个像C++一样的强

    如何用python的装饰器定义一个像C++一样的强 Python作为一个动态的脚本语言,其函数在定义时是不需要指出参数的类型,也不需要指出函数是否有返回值.使用python的装饰器来定义一个像C++那 ...

  4. 互联网不互联,挡住淘菜菜?

    文|螳螂观察 作者|陈小江 近段时间的社区团购,有点风声鹤唳了. 11月16日,阿里旗下社区团购业务"淘菜菜"进行了一项业务调整,将暂停贵州区域服务. 在大部分网友眼中,这是一个公 ...

  5. iphone11什么时候上市_hd3手表高仿哪里买 什么时候上市?

    hd3手表高仿哪里买 什么时候上市? 导读:hd3手表高仿哪里买zf的万国7日链 高仿表 怎么样?款式设计非常出色,很多手表的款式,依靠着该性价比的迅速提升来做出的有效转化,年轻人对于 复刻表 的选择 ...

  6. 互联网晚报 | 9月16日 星期四 | 网易云音乐发布“村民证”;阿里社区电商品牌升级为“淘菜菜”;高德打车上线“实景上车点”...

    ‍ ‍今日看点 ✦ 美团.饿了么发布声明:严禁诱导和强迫骑手注册成个体工商户 ✦ 阿里社区电商品牌升级为"淘菜菜",整合"盒马集市"与"淘宝买菜&qu ...

  7. 无锡金秋购物节 淘菜菜提供社区消费全景式服务

    10月1日-3日,江苏省无锡市政府举办"无锡太湖(金秋)购物节",通过线上线下融合,为市民带来多元丰富的消费体验.作为此次入选政府合作的社区电商平台,淘菜菜直连近万个农产品基地和1 ...

  8. NKOJ——P1095——气球游戏

    时间限制 : 15000 MS 空间限制 : 65536 KB 评测说明 : 1s,64m 原题 问题描述 输入格式 输出格式 样例 样例 1 样例输入 1 样例输出 1 样例 2 样例输入 2 样例 ...

  9. 《地图气球》小程序从产品到运维的个人全栈开发过程分享(长文)

    前言 怕过不了审,先声明一下,这不是广告,因为这个小程序没上架. 从5年前入行的时候就一直想做一个社交产品,最近工作略闲,加之小程序火爆,下班后时间多,于是就花费了一个月业余时间,动手做了一个基于地理 ...

最新文章

  1. HDU_1253 胜利大逃亡(BFS)
  2. 因果推断研究获2021诺贝尔经济学奖,图灵奖得主Judea Pearl祝贺并反对
  3. leetcode算法题--最佳买卖股票时机含冷冻期★
  4. JVM内存管理–GC算法精解(五分钟让你彻底明白标记/清除算法)
  5. 如何设置windows下xampp的phpMyAdmin外网访问?
  6. php mysqli::close()
  7. 常用脚本--查看数据库文件大小
  8. 史上最全AI论文集结:近千篇论文分门别类整理好
  9. img = img1*mask + img2*(1-mask) How do that ?
  10. Kyle Torpey:当前在以太坊发送WBTC成本比链上进行BTC交易成本更高
  11. python接口自动化(三十七)-封装与调用--读取excel 数据(详解)
  12. 街霸5 android,MD街头霸王5免安装版
  13. 黑苹果卡在白苹果不动_从黑苹果到“白苹果”这一年我经历了什么
  14. 【cuda】——npp/cuda图像预处理resize+norm对比
  15. Android模仿微信浮窗功能的效果实现
  16. Ubuntu20.4:安装OpenCV4,配置vscode+CMake作为基本开发环境
  17. 用于 Linux* 的英特尔® 图形驱动程序 以后买本本的时候,先注意一下
  18. Python抓取QQ音乐歌单并分析
  19. sql语句查询,多字段like模糊查询优化
  20. NanoPi NEO小试牛刀(一)

热门文章

  1. Linux基础学习系列:对于fork()函数的学习,及进程创建相关知识
  2. 市场忽略了糖价的爆发力
  3. 杨老师课堂之JavaEE三大框架Hibernate入门第一课
  4. 微软发布屏蔽Win10升级的官方办法
  5. 基于SSH框架实际开发时遇到的问题及解决办法
  6. 基于OS信号实现Java异步通知
  7. 实验一:SQL server 2005高可用性之----日志传送
  8. 关于ASP无组件上传在2003下出错
  9. 深入理解 Event Loop
  10. centos6.5安装zabbix3.4