2020-5-5

问题 D: 洁净无瑕

时间限制: 1 Sec  内存限制: 128 MB
[提交] [状态]

题目描述

小X是一位富豪,酷爱收藏宝石。
在他的收藏柜中,从左到右依次摆放着各种形态不一的钻石。为了评价一颗钻石的美观程度,小X为每颗钻石赋予了一个洁净度ai。
小X认为,钻石之间不能太冲突。他会从左到右依次看过去,若两颗相邻的钻石,其中一颗的洁净度为奇数,另一个为偶数,他就会下定狠心将这两颗钻石扔掉。如此反复,直到没有冲突的钻石了。
现在他想知道,最后收藏柜中会剩下多少颗钻石。

输入

第一行一个整数n,表示钻石的个数。
第二行共n个正整数,第i个数为钻石的洁净度ai。

输出

一行一个整数,表示最后剩下的钻石的数量。

样例输入 Copy

4
1 3 2 4

样例输出 Copy

0

提示

第二个和第三个钻石产生了冲突,接着第一个和第四个钻石产生了冲突,因此没有钻石剩下。

对于60%的数据,n≤1000。
对于100%的数据,n≤1000000。
|ai|≤232−1,数据有梯度。

 

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N=100005;
int n;
stack<ll>q;
int main()
{cin>>n;for(int i=1;i<=n;i++){ll a;scanf("%lld",&a);if(i==1||q.empty()) q.push(a);else{ll tmp=q.top();if((tmp%2)+(a%2)==1)q.pop();else q.push(a);}}cout<<q.size();return 0;
}

 

问题 F: 魔法序列

时间限制: 1 Sec  内存限制: 128 MB
[提交] [状态]

题目描述

小E为了完成公主的任务,需排布魔法阵,从中获得法力。
简单起见,魔法阵可以看成一个长度为n的序列。序列从左到右都摆放了一张符卡,符卡有一个强度ai。法术的释放要每个元素相互配合,取得共鸣效果。一个由一些符卡组成的咒语的魔力值为这个咒语中所有符卡的强度的最大公因数乘以符卡的个数。
小E会从魔法阵中选择一段连续符卡区间[l,r](包括l,r端点),作为吟唱的咒语。她想知道,咒语最大的魔力值是多少。

输入

第一行一个整数n,表示符卡个数。
第二行n个正整数,第i个数表示符卡的强度ai。

输出

输出一个整数,表示最大的魔力值。

样例输入 Copy

5
30 60 20 20 20

样例输出 Copy

80

提示

样例解释
选择区间[2,5],其中gcd(60,20,20,20)=20,故魔力值为(5-2+1)*20=80。

 

 

此代码,参照大佬的,还要再理解一下啊。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+100;
ll n,a[maxn],ans;ll gcd(ll a,ll b){return b==0?a:gcd(b,a%b);
}map<ll,ll>mp1,mp;int main(){scanf("%lld",&n);for(int i=1;i<=n;i++){scanf("%lld",&a[i]);}for(int i=1;i<=n;i++){//枚举右端点mp=mp1;//用之前的区间更新这次对于右端点来说gcd的值和位置mp1.clear();//清空ans=max(ans,a[i]);//自己一个if(!mp1.count(a[i])) mp1[a[i]]=i;for(auto it=mp.begin();it!=mp.end();it++){ll tmp=gcd(a[i],it->first);ans=max(ans,tmp*(i-it->second+1));if(!mp1.count(tmp)) mp1[tmp]=it->second;//用于下次else mp1[tmp]=min(mp1[tmp],it->second);//最小右端,让区间能长}}printf("%lld",ans);return 0;
}

问题 E: 夜莺之歌

时间限制: 2 Sec  内存限制: 128 MB  Special Judge
[提交] [状态]

题目描述

小W酷爱鸟类,尤其喜欢鸟儿婉转的歌声。
这天夜里,夜莺的歌声又吸引住了小W。由于长期的观察,小W已经能轻松地辨别出每只夜莺,并且给每只鸟儿都起了个只有英文字母的名字。夜莺歌声婉转,每只鸟在小W心中都有一个排名,排名是互不相同的。这次聆听后,小W心中的排名会发生一些变化。
具体地,对于一只夜莺,如果小W觉得DOWN了,就说明对她歌声的好感度就下降了,即排名下降了;如果觉得UP,则好感度上升,即排名上升了;如果是SAME,好感度不变,排名也仍然不变。
现在小W给了你现在的排名情况和这次聆听好感度的变化,他想让你猜一猜上一次的排名情况。由于情况众多,输出任何一种可能的排名情况都是允许的。

输入

第一行输入一个正整数n,表示夜莺的数目。
接下来n组输入,第一行为夜莺的名称,第二行为其排名的变化,UP表示升高,DOWN表示降低,SAME表示没有变化。注意,输入越靠前,排名越高。

输出

一共n行,每行一个字符串,表示为上次可能的排名。

样例输入 Copy

3
MISTIA
UP
XIAOSUIGU
SAME
LORELEI
DOWN

样例输出 Copy

LORELEI
XIAOSUIGU
MISTIA

提示

样例解释
原先的排名从高到低为:LORELEI、XIAOSUIGU、MISTIA
现在的排名从高到低为:MISTIA、XIAOSUIGU、LORELEI
可见LORELEI的排名降低了,为DOWN;MISTIA的排名升高了,为UP;XIAOSUIGU的排名没有变,为SAME。符合输入。

对于30%的数据:n≤10。
对于60%的数据:n≤1000。
对于另外10%的数据:1≤n≤50000且所有排名信息第二行均为SAME。
对于100%的数据:1≤n≤50000,每只鸟儿的名字均由不超过100个大写英文字母组成
保证数据至少有一组解。

map其实效率不高。。。。。。。还不如二维数组。。。。。。。。。。。。。。

 

 

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N=100005;
struct node{char name[105];int p=0;int g=0;}nd[50005];bool cmp(node x,node y)
{return x.p<y.p;
}
int main()
{int n;cin>>n;string s1="UP",s2="DOWN",s3="SAME",lev;for(int i=1;i<=n;i++){cin>>nd[i].name>>lev;nd[i].p=i;if(lev==s1) nd[i].g=1;else if(lev==s2) nd[i].g=-1;else if(lev==s3) nd[i].g=0;}
//  for(int i=1;i<=n;i++)
//    printf("%s %d %d\n",nd[i].name,nd[i].p,nd[i].g);for(int i=1;i<=n;i++){if(nd[i].g==0) continue;for(int j=i+1;j<=n;j++){if(nd[j].g==0) continue;if((nd[i].g==1)&&(nd[j].g==-1)){int tmp=nd[i].p;nd[i].p=nd[j].p;nd[j].p=tmp;nd[i].g=0;nd[j].g=0;break;}}}
sort(nd+1,nd+n+1,cmp);
for(int i=1;i<=n;i++)printf("%s\n",nd[i].name);return 0;
}/**************************************************************Problem: 15342User: 2019UPC110Language: C++Result: 时间超限
****************************************************************/

 

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int N=100005;
priority_queue<int,vector<int>,greater<int> >q1;
priority_queue<int,vector<int>,greater<int> >q2;
int a[50500];
map<int,string>mp;
int main()
{int n;scanf("%d",&n);string str;for(int i=1; i<=n; i++){cin>>str;mp[i]=str;char lev[10]="";scanf("%s",lev);if(strcmp(lev,"UP")==0){a[i]=1;q1.push(i);}else if(strcmp(lev,"SAME")==0){a[i]=0;}else if(strcmp(lev,"DOWN")==0){a[i]=3;q2.push(i);}}for(int i=1; i<=n; i++){if(a[i]==0)cout<<mp[i]<<endl;else if(!q2.empty()){int b=q2.top();q2.pop();cout<<mp[b]<<endl;}else if(!q1.empty()){int b=q1.top();q1.pop();cout<<mp[b]<<endl;}}return 0;
}/**************************************************************Problem: 15342User: 2019UPC110Language: C++Result: 时间超限
****************************************************************/

 

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
char s[50500][200]= {0};
int a[50500]= {0};
priority_queue<int,vector<int>,greater<int> >q1;
priority_queue<int,vector<int>,greater<int> >q2;
int main()
{int n;scanf("%d",&n);for(int i=0; i<n; i++){scanf("%s",s[i]);char lev[10]="";scanf("%s",lev);if(strcmp(lev,"UP")==0){a[i]=1;q1.push(i);}else if(strcmp(lev,"SAME")==0){a[i]=0;}else if(strcmp(lev,"DOWN")==0){a[i]=3;q2.push(i);}}for(int i=0; i<n; i++){if(a[i]==0)printf("%s\n",s[i]);else if(!q2.empty()){int b=q2.top();q2.pop();printf("%s\n",s[b]);}else if(!q1.empty()){int b=q1.top();q1.pop();printf("%s\n",s[b]);}}return 0;
}/**************************************************************Problem: 15342User: 2019UPC110Language: C++Result: 正确Time:70 msMemory:12492 kb
****************************************************************/

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1382639.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

day-5

1、模块 定义&#xff1a;模块&#xff0c;用一砣代码实现了某个功能的代码集合。 本质就是.py结尾的python文件&#xff08;变量&#xff0c;函数&#xff0c;类&#xff0c;逻辑&#xff09; 例&#xff1a;test.py 模块名&#xff1a;test类似于函数式…

5 Series Solutions

文章目录 this chapter, blend power series with solving ordinary differential equations. a class of linear (homogeneous) differential equations admitting solutions that can be represented as a power series. Due to the technicality, only second order. All…

Isolated power 板级小功率电源

电源模块体积单位通常使用砖来命名1/4砖、1/8砖 全砖&#xff1a;116.8*61.0*12.7mm 半砖&#xff1a;61.0*57.9*12.7mm 四分之一砖&#xff1a;57.9*36.8*8.1mm 八分之一砖&#xff1a;57.9*22.9*10.4mm 砖式DC/DC转换器的工作环境越来越恶劣&#xff0c;尽管这些模块产品…

linux umask:文件访问权限控制预设值

1. umask 定义 在 linux 系统中&#xff0c;umask 被定义在 /etc/profile 配置文件中&#xff0c;有一段 shell 脚本对 umask 是这么定义的。在 shell 会话输入命令&#xff1a; $ cat /etc/profile # 查看 /etc/profile 配置文件的内容 if [ $UID -gt 199 ] &&…

iOS 13.2升级后:iPhone、iPad频繁杀后台,怎么解决呢?

编辑&#xff5c;排版&#xff5c; 宅哥技术转载请联系商务合作给你开白名单来源&#xff1a;宅哥技术&#xff08;zg_jishu&#xff09; ---------♥--------- 杀后台 现在很多小伙伴都更新到了iOS13.2版本&#xff0c;更新完后很多朋友都说系统杀后台好严重&#xff0c;什么是…

分享如何升级macOS Catalina

了解如何下载和安装最新版 Mac 操作系统 macOS Catalina。 macOS Catalina 让您喜爱的所有 Mac 体验都更进一步。在三个全新的 Mac 应用程序中体验音乐&#xff0c;电视和播客。在 Mac 上畅玩您最喜欢的 iPad 应用。拿起 iPad 和 Apple Pencil 扩展您的工作空间&#xff0c;释放…

LeetCode700. 二叉搜索树中的搜索

700. 二叉搜索树中的搜索 文章目录 [700. 二叉搜索树中的搜索](https://leetcode.cn/problems/search-in-a-binary-search-tree/)一、题目二、题解方法一&#xff1a;迭代方法二&#xff1a;递归 带main函数测试用例 一、题目 给定二叉搜索树&#xff08;BST&#xff09;的根节…

升级鸿蒙系统效果,鸿蒙系统初体验 全方位体验升级[多图]

鸿蒙系统是近期华为发布的&#xff0c;这个的话&#xff0c;在更新了以后&#xff0c;就能够看到了&#xff0c;不过只是对于某些适配机型来说是这样&#xff0c;其他的话&#xff0c;是没有的&#xff0c;很多用户都十分的好奇&#xff0c;也是在观望当中&#xff0c;这个的话…

android6.1内存,iPhone 6为何坚持1GB内存?安卓太坑爹!

这个问题说简单也简单&#xff0c;说复杂也很复杂。有人该回答了&#xff1a;“是苹果优化好呗&#xff01;”说苹果好&#xff0c;里面本身就带着几分“Android呵呵”的意思。而事实似乎并非如此。iOS设备采取了与Android不同的内存垃圾回收机制&#xff0c;因此两者对运存容量…

iPad Pro 11 英寸(2021 年)评测:比笔记本电脑更奢华

Apple 的高端中型 iPad 还没有完全准备好取代您的 MacBook&#xff0c;但我们不否认它是一款出色的平板电脑。那么 11 英寸iPad Pro具体性能如何呢&#xff1f;它能替代MacBook吗&#xff1f; iPad Pro 11in (2021, M1) 全面评测 苹果公司于 2020 年夏季开始&#xff0c;处理器…

牛客题解-------BC99:正方形图案

目录 一、题目相关 二、题目链接 三、题目 题目描述&#xff1a; 输入 输出 样例 四、题目分析 五、AC参考代码 六、共勉 一、题目相关 在对于初学C语言的我来说&#xff0c;对于图形打印一直都有一种未知的恐惧&#xff0c;大家是否跟我一样在开始对于图形的打印只…

Python爬虫:抓取表情包的下载链接

Python爬虫:抓取表情包的下载链接 1. 前言2. 具体实现3. 实现代码 1. 前言 最近发现了一个提供表情包的网址&#xff0c;觉得上面的内容不错&#xff0c;于是就考虑用Python爬虫获取上面表情包的下载链接。整体而言&#xff0c;实现这个挺简单的&#xff0c;就是找到提供表情包…

步入React正殿 - 事件处理

目录 扩展学习资料 React事件和DOM事件 和传统DOM事件处理异同 this关键字的处理 this关键字 在JSX中使用bind方法 在构造函数中使用bind方法 使用箭头函数【推荐】 向事件处理程序传递参数【不跨组件】 向父组件传递参数 /src/App.js /src/components/listItem.jsx…

微信对接系列——微信自动退款

业务背景 关于微信自动退款串接背景基于酷客多多商户系统&#xff0c;系统组成主要有前端小程序、商家后台管理系统、运营商系统等 业务流程 退款单状态&#xff1a;待退款、退款中、退款完成、自动退款失败等 由于微信申请退款接口接受请求后不会立即进行退款处理&#xf…

基于grpc从零开始搭建一个准生产分布式应用(1) - 开始准备

开始前必读&#xff1a;​​基于grpc从零开始搭建一个准生产分布式应用(0) - quickStart​​ 本来笔者并不想开设这个系列&#xff0c;因为工作量比较大&#xff0c;另外此专题的技术点也偏简单。最近复盘了下最近的工作&#xff0c;发现一个问题就是各个互联网大厂一般都会有…

微信小程序开发(十)小程序支付-查询退款

应用场景 提交退款申请后&#xff0c;通过调用该接口查询退款状态。退款有一定延时&#xff0c;用零钱支付的退款20分钟内到账&#xff0c;银行卡支付的退款3个工作日后重新查询退款状态。 接口说明 这里退款还是根据商户订单号-out_trade_no去微信那边查询 代码实现 /** 根…

微信中的这个功能尽早设置,即使转错账也能及时收回!

生活在快节奏的我们&#xff0c;是离不开互联网的&#xff0c;出门在外&#xff0c;旅行&#xff0c;购物&#xff0c;点餐等等都离不开手机中&#xff0c;手机中最不可能缺少的两款APP就是微信和支付宝&#xff0c;不管是微信&#xff0c;还是支付宝这两款软件在大家心目中是不…

Java - 微信支付

首先贴出官方文档&#xff0c;关于介绍&#xff0c;场景&#xff0c;参数说明&#xff0c;可以直接看文档&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/index.html 一. APP支付 官方文档&#xff1a;https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter9_1…

JAVA微信退款(JSAPI支付)

上一章咱们介绍了微信支付整个流程&#xff0c;这章就趁热打铁地整理下微信退款&#xff08;JSAPI支付&#xff09;相关的知识&#xff0c;为这几章的微信支付画上一个句号把。 前提&#xff1a;从微信公众号那边获取appid&#xff0c;mchid&#xff0c;paternerKey三个参数备…

实例:用C#.NET手把手教你做微信公众号开发(20)--使用微信支付线上收款:jsapi方式

在做线上、线下销售时&#xff0c;可以使用微信便捷支付&#xff0c;通过微信公众号收款有很多种收款方式&#xff0c;如下图&#xff1a; 今天我们来讲一下jsapi支付&#xff0c;场景就是在微信内打开某个页面&#xff0c;完成在线支付&#xff0c;同样一个网页&#xff0c;使…