upc第十一场2020.11.30
问题 A: 约数
时间限制: 1 Sec 内存限制: 512 MB
题目描述
对于一个正整数n,如果n除以某个正整数d所得的余数为0,我们称d是n的约数。显然1和n一定是n的约数,请问对于给定的n(n≥2),除了n本身以外,最大的约数是多少?
输入
共一行,包含一个正整数n。
输出
共一行,包含一个正整数,表示n除了自身以外的最大约数。
样例输入 Copy
15
样例输出 Copy
5
提示
15的约数有1,3,5,15,除了15本身以外的最大约数为5。
对于30%的数据,n≤100;
对于50%的数据,n≤106;
对于100%的数据,2≤n≤2×109 。
思路:求最小的约数,然后与原数相除即为最大约数
#include<bits/stdc++.h>
using namespace std;
long long n,i,r;
int main()
{scanf("%lld",&n);for(i=2;i<n;i++){if(i!=n&&n%i==0){r=i;break;}}printf("%d",n/r);return 0;
}
问题 B: HD阶乘
时间限制: 1 Sec 内存限制: 128 MB
题目描述
n的阶乘定义为n! = n ∗ (n − 1) ∗ (n − 2) ∗ … ∗ 1。
n的双阶乘定义为n!! = n ∗ (n − 2) ∗ (n − 4) ∗ … ∗ 2或n!! = n∗ (n − 2) ∗ (n − 4) ∗ … ∗ 1,取决于n的奇偶性。
但是阶乘的增长速度太快了,所以我们现在只想知道n!和n!!末尾的0的个数。
输入
一个正整数n, n ≤ 107
输出
两个整数, 分别为n!和n!!末尾0的个数。
样例输入 Copy
10
样例输出 Copy
2 1
提示
10! = 3628800, 10!! = 10 ∗ 8 ∗ 6 ∗ 4 ∗ 2 = 3840
这题现在我也不是很理解,不过就是:
阶乘尾部出现的零就是5和偶数相乘的结果,在n阶乘中,偶数的个数要比5个数多得多,所以尾部零的个数就为多少个5相乘的个数(10看做2x5即一个5,25看做两个5…)。
在求n!!的时候,如果n为奇数,则都是奇数相乘,而奇数相乘的结果必然为奇数,奇数的末尾不可能有0,所以这种情况下输出0即可。如果n为偶数,则都是偶数相乘,那结果必然为偶数,末尾就可能有0,需要进行计算判断。其中双阶乘的末尾的0的出现通过两种方式,第一种当n<50时,主要是通过10的倍数,第二种当n>=50时,这个时候数字当中出现5,有10的倍数的原因,也有5*偶数的原因。
#include<bits/stdc++.h>
using namespace std;
int main()
{long long n,ans1=0,ans2=0,t1,t2,p,x1,x2;scanf("%lld",&n);t1=n;t2=n;x1=5;x2=10;p=5;while(t1/x1)//直到/5的倍数为0时停 {ans1+=t1/x1;//累加出现5的个数 x1*=p; //每次*5 }if(n%2==0){ while(t2/x2)//直到/10的倍数为0时停 {ans2+=t2/x2;// 累加出现10的个数 x2*=p;//每次*5}}elseans2=0;//当n为奇数时那绝对不会出现0 printf("%lld %lld",ans1,ans2);return 0;}
问题 C: HD序列
时间限制: 1 Sec 内存限制: 128 MB
题目描述
小Z手上有一个长度为n的整数序列a1, a2,…,an,但是他不太喜欢这个序列,因此他想通过一些操作将序列a变成自己想要的序列b。初始时序列b是空的,接下来小Z将依次进行n次操作,其中第i次操作分为以下两步:
- 将ai加到序列b的尾部;
- 翻转序列b(即b1,b2,…,bi变成bi,bi-1,…,b1 )。
小Z想知道n次操作之后序列b会是什么样的,你能帮助他吗?
输入
第一行包含一个正整数n;
第二行包含n个正整数,第i个正整数表示ai。
输出
共一行,包含n个数,表示n次操作后的序列b。
样例输入 Copy
4
1 2 3 4
样例输出 Copy
4 2 1 3
提示
每次操作后序列b如下:
●1
●2,1
●3,1,2
●4,2,1,3
【数据范围】
对于20%的数据,n≤100;
对于50%的数据,n≤1000;
对于100%的数据,1≤n≤2×105,0≤ai≤109。
写几个数列找规律即可,首先对n进行奇偶分类
#include<bits/stdc++.h>
using namespace std;
long long n,a[200001];
int main()
{ long long i;scanf("%lld",&n);for(i=1;i<=n;i++)scanf("%lld",&a[i]); if(n%2==0){for(i=n;i>=2;i=i-2)printf("%lld ",a[i]);for(i=1;i<=n-1;i+=2)printf("%lld ",a[i]);}else {for(i=n;i>=1;i-=2)printf("%lld ",a[i]);for(i=2;i<=n-1;i+=2)printf("%lld ",a[i]);}return 0;
}
问题 D: HD糖果
时间限制: 1 Sec 内存限制: 128 MB
题目描述
小民是一个很喜欢吃糖果的小孩子,他给所有的糖果进行了分类,有A~Z一 共26种糖果,现在小民有一排糖果,小民很奇怪,吃糖果只喜欢吃连续的若干个 ,并且不希望吃到相同分类的糖果。现在小民让你帮他计算一下L的最大值,使得他的一排糖果中的***任意连续L个糖果都不会有相同的分类。***
输入
输入仅一行,一行由大写字母组成的字符串,代表小民的一排糖果。
输出
输出仅一行,输出L的最大值。如果一排糖果都没有相同的,请输出−1。
样例输入 Copy
ABABABABABAB
样例输出 Copy
2
提示
令字符串的长度为N
对于20%的数据:1≤N≤100;
对于50%的数据:1≤N≤1000;
对于70%的数据:1≤N≤10000;
对于100%的数据:1≤N≤10000000。
#include<bits/stdc++.h>
using namespace std;
long long ans,v[10000001],len;
char s[10000001],flag=1;
int main()
{scanf("%s",s+1);len=strlen(s+1);for(int i=1;i<=len;i++){int u=s[i]-'A'+1; //输入字母的ASCII码+1if(v[u]) //如果这个地方为真及说明之前这个字母出现过{ ans=min(ans,i-v[u]); //更新ans为当前位置减去之前出现过的位置flag=0; //只要是已经出现重复过得就不要再执行ans++了}if(flag==1) ans++; //只要没出现过相同的字母就直接ans++v[u]=i; //保存当前出现的位置}if(ans==len) printf("-1\n"); //如果一直没有出现过重复的else printf("%lld\n",ans);return 0;
}
问题 G: 数一数
时间限制: 1 Sec 内存限制: 128 MB
题目描述
星期天早上,小明开始做数学家庭作业。因为小明成绩很优异,觉得题目太简单了,思考出道难点的数学题去学校考考同学,他注意到:数学书的第10页和第11页在同一张纸上,但第11页和第12页不在同一张纸上。
哈哈,题目有了,请问数学书的第x页到第y页共有多少张纸呢?
例如:该书的第81页到第92页,共有7张纸。
输入
一行两个数x、y如题所述,用空格隔开。
输出
一个数,表示纸张数。
样例输入 Copy
81 92
样例输出 Copy
7
提示
50%:0<y-x<=15;
100%:1<=x,y<=longint;0<y-x<longint。
#include<bits/stdc++.h>
using namespace std;
int main()
{long long x,y,ans=0,k,m;scanf("%lld %lld",&x,&y);if(x%2!=0) ans++,x++; //偶数页和奇数页在同一张之上,所以为奇数页时,所以我们是从偶数页开始计算的m=y-x+1;if(m%2==0) k=m/2; else k=m/2+1;ans=ans+k;printf("%lld",ans);return 0;
}
问题 H: 博物馆
时间限制: 1 Sec 内存限制: 128 MB
题目描述
从前,有一个偌大的博物馆,每天都会有数以万计的人们来参观,欣赏这里的艺术作品。这一天,博物馆来了N批人,第i批人有Ai个人以及一个导游组成,他们依次到达,但同时也有一些批次的人离开,由于人次太多,博物馆的管理人员递给你一些人数表,就请你来统计一下剩下多少人。
输入
第一行是个整数N,接下来N行。每行两个数,第一个数X,如果X=0则后面接一个数Ai,表示来了Ai个人;如果X=1,那么接下来就有一个数Y,表示来的人中的第Y批离开了。
输出
一个数,表示剩下多少人。
样例输入 Copy
6
0 5
0 6
1 1
0 7
0 8
1 3
样例输出 Copy
16
提示
有四批人,每批人要加上一位导游,分别是6,7,8,9人,离开的是第1和3批,即走了6+8=14人,剩7+9=16人。
对于30%的数据,1≤N≤100,1≤Ai≤1000;
对于100%的数据,1≤N≤1000000,1≤Ai≤1000000。
保证:X只为0或1,Y一定符合要求。
#include<bits/stdc++.h>
using namespace std;
long long s,n,a[1000000],x,m;
int main()
{ long long i;scanf("%lld",&n);i=0;while(n--){ scanf("%lld",&x);if(x==0){ i++;scanf("%lld",&a[i]);s=s+(a[i]+1);}else{scanf("%lld",&m);s=s-(a[m]+1);}}printf("%lld",s);return 0;
}
问题 I: 旅游III
时间限制: 1 Sec 内存限制: 128 MB
题目描述
Lanlan的好朋友Qiqi来到了东莞,她决定带Qiqi去东莞的名胜景区旅游,以此增进友谊。但Qiqi不喜欢去拥挤度大于k的景点,而且旅游的时间不能是断开的。Lanlan现在知道了明天n个连续时间景区的拥挤度,她想知道她最多能陪Qiqi旅游多久。
输入
第一行两个整数n,k。
第二行有n个整数表示每个时间的拥挤程度(数值小于1000)。
输出
一个整数表示Lanlan最多能陪Qiqi的时间。
样例输入 Copy
20 2
1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
样例输出 Copy
16
提示
60%的数据 N<=1000
100%的数据 N<=100000
upc第十一场2020.11.30相关推荐
- 实验室每日一题 2020.11.30
实验室每日一题 2020.11.30 先打开没有加密的文本文档,里面有一串密文,根据结尾的+推测应该是XXencode,直接找个在线网站解密,又得到一串密文:fwilvyhublqwhuhvwlqj, ...
- 《nature》2020.11.30期,重症COVID-19的主要遗传危险因素来自尼安德特人
<nature>最新2020.11.30期快报! 1.重症COVID-19的主要遗传危险因素来自尼安德特人 严重COVID-19的风险是由一个遗传自尼安德特人的基因组片段引起的,南亚和欧洲 ...
- latex 插入表格_【2020.11.30】IEEE trans英文latex写作心得和学习历程
安装:texstudio+texlive(时间较长的是texlive,估计要1小时左右,建议安装的时候放在一边吃个饭回来就差不多) https://www.cnblogs.com/libbin/p/1 ...
- 【2020.11.30提高组模拟】剪辣椒(chilli)
剪辣椒(chilli) 题目描述 在花园里劳累了一上午之后,你决定用自己种的干辣椒奖励自己. 你有n个辣椒,这些辣椒用n-1条绳子连接在一起,任意两个辣椒通过用若干个绳子相连,即形成一棵树. 你决定分 ...
- QIIME 2教程. 30补充资源SupplementaryResources(2020.11)
文章目录 补充资源 Supplementary resources 教学内容 Educational content 应用生物信息学导论 肠道检查:探索身体中的微生物群系 微生物生态学统计分析指南 译 ...
- UPC第41场,第42场部分题解
UPC第41场,第42场部分题解 第41场 A: LR Constraints We have N cards arranged in a row from left to right. We wil ...
- QIIME 2教程. 04人体微生物组分析Moving Pictures(2020.11)
文章目录 QIIME 2用户文档. 4人体各部位微生物组 本节视频视频教程 启动QIIME2运行环境 样本元数据 下载和导入数据 拆分样品 序列质控和生成特征表 方法1. DADA2 方法2. Deb ...
- QIIME 2教程. 01简介和安装 Introduction Install(2020.11开始更新)
写在前面 QIIME是微生物组领域最广泛使用的分析流程,10年来引用20000+次,2019年Nature杂志评为近70年来人体菌群研究的25个里程碑事件--里程碑16:生物信息学工具助力菌群测序数据 ...
- QIIME 2教程. 32如何写方法和引用Citing(2020.11)
文章目录 引用QIIME 2 引用插件 检索特定于插件的引用 Retrieving plugin-specific citations 使用来源追溯列出引用 Using provenance to l ...
- QIIME 2教程. 31名词Glossary(2020.11)
文章目录 名词解释 译者简介 Reference 猜你喜欢 写在后面 名词解释 User Glossary https://docs.qiime2.org/2020.11/glossary/ 译者注: ...
最新文章
- UI设计师必须了解:2015年十大移动端APP设计主流趋势
- 进击的Android Hook 注入术《二》
- nginx在linux为何效率高
- python web django base skill
- python发展路线_Python进阶路径-从学徒到大师
- 数博会重磅活动:第三届大数据科学与工程国际会议日程
- 微信公众号开发自动回复的Python库——werobot
- HttpComponents之httpclient基本使用方法
- 遥感高光谱分类文献阅读:Going Deeper with Contextual CNN for Hyperspectral Image Classification
- Hdu 5806 NanoApe Loves Sequence Ⅱ(双指针) (C++,Java)
- 移远NB-IOT模块BC26资料
- GB/T 35273—2020《信息安全技术个人信息安全规范》正式发布
- wps重复上一步快捷键_word回到上一步快捷键是什么
- 引用 孙悟空的师傅菩提祖师的真实真份和镇元大仙辈份排名+四大灵猴
- VOT 数据集 groundtruth 8个维度 转成 4个维度的方法
- iOS UIcollectionview 数据量少时候bounces无效的解决方法
- Centos7 安装coturn部署一套 STUN/TURN 服务 webRTC打洞服务器
- 资本寒冬,毕业不满一年被裁,失业后我们如何自渡?
- 用UltraIso便捷版制作万能隐藏启动U盘
- 【蓝桥杯摆烂篇】蓝桥模拟赛【摆烂day3】
热门文章
- mysql计算个税_2019年个人所得税计算函数
- Android开发入门教程1-开发环境的搭建
- Android--手机一键Root原理分析
- 2011年中国大陆十佳IC设计公司
- 嵌入式软件测试——初探
- JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@xxx] will not be managed by Spring
- 嵌入式硬件-读懂原理图
- android 游戏音效格式,Android基础 - Android Studio 添加游戏音效
- 浙江工大学计算机学院保研,浙江工业大学计算机学院保研初试名单
- 简单实现网站灰色效果以谨记2020年4月4日悼念日