A-天使果冻

链接:https://ac.nowcoder.com/acm/contest/11161/A
来源:牛客网

题意:一个数组包含n个数,求前i个数的次大值是多少(倘若最大值有两个,则次大值即为最大值)?
思路:使用两个变量,记录最大值、第二大值即可,在遍历过程中不断维护,代码中使用了dp[i]数组存下来了前i个第二大值的数值,此外当时还想到了一种做法,就是使用优先队列,下面贴上代码:

方法一:两个变量维持

#include <bits/stdc++.h>
using namespace std;
const int inf=0x3f3f3f3f;
int main()
{int n,q,x;int deg[100006];int dp[100006];scanf("%d",&n);int maxx=0;int second_maxx;for(int i=0;i<n;i++) {scanf("%d",&deg[i]);}maxx=deg[0];second_maxx=0;for(int i=1;i<n;i++){if(deg[i]>=maxx){second_maxx=maxx;maxx=deg[i];dp[i]=second_maxx;//cout<<i<<"结果"<<dp[i]<<endl;}else{if(deg[i]>second_maxx){second_maxx = deg[i];dp[i]=second_maxx;  // cout<<i<<"结果"<<dp[i]<<endl;}else{dp[i]=second_maxx;}}}scanf("%d",&q);while (q--){scanf("%d",&x);cout<<dp[x-1]<<endl;}system("pause");return 0;
}

方法二:优先队列(优先队列一个拥有权值观念的queue,自动依照元素的权值排列,权值最高排在前面)

#include<bits/stdc++.h>
using namespace std;
priority_queue<int> q;
const int maxn = 1e6;
int a[maxn];
int ans[maxn];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];q.push(a[i]);int tmp = q.top();q.pop();ans[i] = q.top();q.push(tmp);}int q;cin>>q;while(q--){int x;cin>>x;cout<<ans[x]<<endl;} return 0;} 

B-心跳调试

链接:https://ac.nowcoder.com/acm/contest/11161/B
来源:牛客网

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e9+7;
const int N=1e6+5;
ll a[N];
ll sum[N];
ll poww(ll a,ll b)
{ll res=1;while(b){if(b&1){res=res*a%mod;}a=a*a%mod;b>>=1;}return res;
}
int main()
{int n;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%lld",&a[i]);}for(int i=n;i>=1;i--){sum[i]=(sum[i+1]+a[i])%mod;}ll ans=1;for(int i=2;i<=n;i++){ans=ans*poww(sum[i],mod-2)%mod*a[i]%mod;}cout << (ans%mod+mod)%mod << endl;
}

牛客挑战赛48--A and B相关推荐

  1. E 速度即转发(牛客挑战赛48)(树套树)

    速度即转发 给定一个长度为nnn的数组aaa,里面元素为a1,a2,a3,-,an−1,ana_1, a_2, a_3, \dots, a_{n - 1}, a_na1​,a2​,a3​,-,an−1 ...

  2. 牛客挑战赛47 C 条件(Floyd bitset优化)

    牛客挑战赛47 C 条件 思路:首先我们要两个图,一个是一定能到达的,一个是可能到达的,如果我们使用floyd (n^3)就有可能会超时,因为只要求询问能否到达,所以权值只有0和1,那我们可以使用bi ...

  3. 牛客挑战赛47 A 一道GCD问题

    牛客挑战赛47 A 一道GCD问题 思路参考牛客上的题解: 根据多维的更相减损术得gcd(x,y,z)=gcd(x,y−x,z−y)得 gcd(a1+k,a2+k,a3+k-,an+k)=gcd(a1 ...

  4. 牛客挑战赛47 D Lots of Edges(最短路+递归枚举子集)

    牛客挑战赛47 D Lots of Edges 思路:点的权值最多只有(1<<17)-1(131071) ,那我们可以枚举终点的值来算最短路,每个点能连边的值都是固定的,可以通过递归枚举子 ...

  5. 牛客挑战赛42 A.小睿睿的数列

    牛客挑战赛42 A.小睿睿的数列 题目链接 题目描述 小睿睿给了你一个长度为n的数列,他想问你该数列中满足条件(区间内存在某个数是区间内所有数的公因数)的最长区间有多少个 输入描述: 第一行 111 ...

  6. 牛客挑战赛36 - 纸飞机

    题目链接:牛客挑战赛36 - 纸飞机 题目描述 直线上有n座山峰,第i座的高度为hi.从某座山峰上放飞一架纸飞机,它可以从左往右依次经过一系列高度严格递减的山头. 假设五座山峰的高度依次是3,4,3, ...

  7. 牛客挑战赛34 A 能天使的愿望 (dp 分组背包)

    链接:https://ac.nowcoder.com/acm/contest/2271/A 来源:牛客网 题目描述 出题人寄给大家的一些闲话:参加了CSP-J/S 2019 的同学,考的都怎么样啊?不 ...

  8. 牛客挑战赛34 A.能天使的愿望(分组背包)

    链接:https://ac.nowcoder.com/acm/contest/2271/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 65536K,其他语言1310 ...

  9. 牛客挑战赛51 E NIT的gcd(欧拉反演,建图优化,三元环计数)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 给你一个正整数 nnn. 请你输出 ∑i=1n∑j=1n∑k=1ngcd⁡(i,j)g ...

最新文章

  1. win 2003 联网
  2. 使用保险丝结构管理MQ和ESB的大型部署,第I部分
  3. 【CodeForces - 347C 】Alice and Bob (思维,数学,等差数列)
  4. gdp python 变迁动图_19602018年世界各国GDP排名变化Python动图实现
  5. java java 检查型异常_如何整合Java中的有效性检查和异常抛出?
  6. NOIP2013 D1T3 货车运输 倍增LCA OR 并查集按秩合并
  7. cad关闭图层的快捷命令是什么_36个CAD快捷键命令,18个CAD制图技巧,学会轻松玩转CAD...
  8. 12月1日struts、spring、hibernate等框架的整合培训日记
  9. 苹果的编程语言--Swift
  10. DAS Tool 介绍
  11. Windows系统镜像、PE系统下载地址大全
  12. .NET如何对接PayPal支付
  13. 微信机器自动问答机器人
  14. 极客云原生营-云原生知识
  15. 《数据库系统概论》知识整理
  16. 卡耐基梅隆大学赢得DARPA网络挑战赛
  17. 2018天池比赛首战落幕
  18. JVM虚拟机(JDK8)
  19. 如何用python写游戏脚本?
  20. Web学习(二)CSS

热门文章

  1. 精选微软等公司数据结构+算法经典面试100题及答案
  2. Divisibility Problem
  3. 机器学习笔记——朴素贝叶斯(Naive Bayes)
  4. 设备树dts/dtsi格式
  5. rtx2060为什么叫智商卡_【装机帮扶站】第347期:RTX2060上市,如何购买更实惠?...
  6. 对软件工程需求分析及创新项目等实际问题给提出建议或意见
  7. A20:Unity 数学知识——数学公式汇总
  8. (杂谈四) 北京城の八月
  9. java毕业设计跨境电商网站源码+lw文档+mybatis+系统+mysql数据库+调试
  10. 解析淘宝二合一连接php,如何从淘口令或二合一链接中提取淘客PID?