问题 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次操作分为以下两步:

  1. 将ai加到序列b的尾部;
  2. 翻转序列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相关推荐

  1. 实验室每日一题 2020.11.30

    实验室每日一题 2020.11.30 先打开没有加密的文本文档,里面有一串密文,根据结尾的+推测应该是XXencode,直接找个在线网站解密,又得到一串密文:fwilvyhublqwhuhvwlqj, ...

  2. 《nature》2020.11.30期,重症COVID-19的主要遗传危险因素来自尼安德特人

    <nature>最新2020.11.30期快报! 1.重症COVID-19的主要遗传危险因素来自尼安德特人 严重COVID-19的风险是由一个遗传自尼安德特人的基因组片段引起的,南亚和欧洲 ...

  3. latex 插入表格_【2020.11.30】IEEE trans英文latex写作心得和学习历程

    安装:texstudio+texlive(时间较长的是texlive,估计要1小时左右,建议安装的时候放在一边吃个饭回来就差不多) https://www.cnblogs.com/libbin/p/1 ...

  4. 【2020.11.30提高组模拟】剪辣椒(chilli)

    剪辣椒(chilli) 题目描述 在花园里劳累了一上午之后,你决定用自己种的干辣椒奖励自己. 你有n个辣椒,这些辣椒用n-1条绳子连接在一起,任意两个辣椒通过用若干个绳子相连,即形成一棵树. 你决定分 ...

  5. QIIME 2教程. 30补充资源SupplementaryResources(2020.11)

    文章目录 补充资源 Supplementary resources 教学内容 Educational content 应用生物信息学导论 肠道检查:探索身体中的微生物群系 微生物生态学统计分析指南 译 ...

  6. UPC第41场,第42场部分题解

    UPC第41场,第42场部分题解 第41场 A: LR Constraints We have N cards arranged in a row from left to right. We wil ...

  7. QIIME 2教程. 04人体微生物组分析Moving Pictures(2020.11)

    文章目录 QIIME 2用户文档. 4人体各部位微生物组 本节视频视频教程 启动QIIME2运行环境 样本元数据 下载和导入数据 拆分样品 序列质控和生成特征表 方法1. DADA2 方法2. Deb ...

  8. QIIME 2教程. 01简介和安装 Introduction Install(2020.11开始更新)

    写在前面 QIIME是微生物组领域最广泛使用的分析流程,10年来引用20000+次,2019年Nature杂志评为近70年来人体菌群研究的25个里程碑事件--里程碑16:生物信息学工具助力菌群测序数据 ...

  9. QIIME 2教程. 32如何写方法和引用Citing(2020.11)

    文章目录 引用QIIME 2 引用插件 检索特定于插件的引用 Retrieving plugin-specific citations 使用来源追溯列出引用 Using provenance to l ...

  10. QIIME 2教程. 31名词Glossary(2020.11)

    文章目录 名词解释 译者简介 Reference 猜你喜欢 写在后面 名词解释 User Glossary https://docs.qiime2.org/2020.11/glossary/ 译者注: ...

最新文章

  1. UI设计师必须了解:2015年十大移动端APP设计主流趋势
  2. 进击的Android Hook 注入术《二》
  3. nginx在linux为何效率高
  4. python web django base skill
  5. python发展路线_Python进阶路径-从学徒到大师
  6. 数博会重磅活动:第三届大数据科学与工程国际会议日程
  7. 微信公众号开发自动回复的Python库——werobot
  8. HttpComponents之httpclient基本使用方法
  9. 遥感高光谱分类文献阅读:Going Deeper with Contextual CNN for Hyperspectral Image Classification
  10. Hdu 5806 NanoApe Loves Sequence Ⅱ(双指针) (C++,Java)
  11. 移远NB-IOT模块BC26资料
  12. GB/T 35273—2020《信息安全技术个人信息安全规范》正式发布
  13. wps重复上一步快捷键_word回到上一步快捷键是什么
  14. 引用 孙悟空的师傅菩提祖师的真实真份和镇元大仙辈份排名+四大灵猴
  15. VOT 数据集 groundtruth 8个维度 转成 4个维度的方法
  16. iOS UIcollectionview 数据量少时候bounces无效的解决方法
  17. Centos7 安装coturn部署一套 STUN/TURN 服务 webRTC打洞服务器
  18. 资本寒冬,毕业不满一年被裁,失业后我们如何自渡?
  19. 用UltraIso便捷版制作万能隐藏启动U盘
  20. 【蓝桥杯摆烂篇】蓝桥模拟赛【摆烂day3】

热门文章

  1. mysql计算个税_2019年个人所得税计算函数
  2. Android开发入门教程1-开发环境的搭建
  3. Android--手机一键Root原理分析
  4. 2011年中国大陆十佳IC设计公司
  5. 嵌入式软件测试——初探
  6. JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@xxx] will not be managed by Spring
  7. 嵌入式硬件-读懂原理图
  8. android 游戏音效格式,Android基础 - Android Studio 添加游戏音效
  9. 浙江工大学计算机学院保研,浙江工业大学计算机学院保研初试名单
  10. 简单实现网站灰色效果以谨记2020年4月4日悼念日