A.LCM Problem

题意:最小公倍数LCM(x,y),处于[l,r]之间,并且x,y也处于[l,r]之间,给出l,r找出x,y;

思路:里面最小的最小公倍数就是基于l左端点的,而那个最小公倍数就是2*l,直接判断2*l是否小于r

注意:当时看到最小公倍数,题目中提到了一个LCM(9,6)=18,就只想最大公因子、分解因式之类的问题,就想错了方向,wa的第一个是想的最大的数分解因式,结果TLE了。

 1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cstdio>
5 #include<cmath>
6 #include<cstring>
7 using namespace std;
8 int main(){
9 int t;
10 scanf("%d",&t);
11 while(t--){
12 long long int l,r;
13 scanf("%lld %lld",&l,&r);
14 int flag=0;
15 if(l*2<=r){
16 printf("%lld %lld\n",l,l*2);
17 }else{
18 printf("-1 -1\n");
19 }
20
21 }
22 }

B. Array Walk

题意:你的初始分数为a1,当你往左或者右边走的时候总分数就会加上所在位置的分数,不可以连续向左走,现在一共有n个位置,一共走k步,最多向左走z步,问所取得的最大分数是多少

思路:要把这个问题分开来看,你往左走的情况只有:1.往左走一步立即向右一步;2.提供的步数不够满足往左走完再往右走,只能是最后一步往左走一步;遍历找最大值

注意:这题必须用输入输出流的优化,并且定义数组的时候需要在外面,不然数组内放不下这么多数,因为是这样所以在循环内,数组必须每次都重置0再进行计算;

 1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cmath>
5 #include<cstring>
6 using namespace std;
7 const int maxx=2e5+3;
8 long long int a[maxx],b[maxx],sum[maxx];
9 int main(){
10 ios::sync_with_stdio(0);
11 cin.tie(0), cout.tie(0);
12 int t;
13 cin>>t;
14 while(t--){
15 int n,k,z;
16 cin>>n>>k>>z;
17 for(int i=1;i<=n;i++){
18 a[i]=0;
19 b[i]=0;
20 sum[i]=0;
21 cin>>a[i];
22 }
23 for(int i=1;i<=n;i++){
24 sum[i]+=sum[i-1]+a[i];
25 }
26 for(int i=2;i<=n;i++){
27 b[i]=a[i]+a[i-1];
28 }
29 long long int summ=sum[k+1];//第一种是一直向右走的,直接就是前缀和
30 for(int i=2;i<=n;i++){//i向右走,并且i是当前向右的位置坐标
31 for(int j=1;j<=z&&j<=k-i+1;j++){//向左走应该小于剩余步数并且小于z
32 if(j*2<=k-i+1){
33 summ=max(summ,j*b[i]+sum[i+k-i+1-j*2]);
34 //i+k-2*j-i+1 是最后的当前位置
35 }else if(j*2-1<=k-i+1){
36 summ=max(summ,(j-1)*b[i]+a[i-1]+sum[i]);
37 }
38 }
39 }
40 cout<<summ<<endl;
41 }
42 }

C. Good String

题意:字符串有做循环位移和右循环位移两种操作。例如字符串“123456”,如果进行左循环位置后得“234561”,如果进行右循环位移后得“612345”。我们称一个字符串为好的,当且仅当它进行左循环位移和右循环位移后相等。现在给定一个字符串只包含0-9,可以删除字符串中某些字符,要求最少删除多少个字符串可以让字符串边好。

思路:要满足左右循环位移一位后字符串完全相等,那么字符串要么全由一个字符串组成,例如,’111111‘,或者只有两个字符循环出现,例如样例中的“2525252525”。那么我们就可以去构造字符串,然后去判断。只有一个字符的时候只要记录一下每个字符出现的次数即可。如果是两个字符循环出现的话,可以枚举剩下的两个字符,然后去和原字符串匹配。复杂度为10*10*n。

Educational Codeforces Round 92 (Rated for Div. 2)的更多相关文章

  1. Educational Codeforces Round 92 (Rated for Div. 2) B、C题解

    TAT 第一场codeforces B. Array Walk #暴力 #贪心 题目链接 题意 有\(a1, a2, ..., an\) 个格子(每个格子有各自分数),最初为1号格(初始分数为\(a1 ...

  2. Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...

  3. Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems(动态规划+矩阵快速幂)

    Problem   Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec P ...

  4. Educational Codeforces Round 43 (Rated for Div. 2)

    Educational Codeforces Round 43 (Rated for Div. 2) https://codeforces.com/contest/976 A #include< ...

  5. Educational Codeforces Round 35 (Rated for Div. 2)

    Educational Codeforces Round 35 (Rated for Div. 2) https://codeforces.com/contest/911 A 模拟 #include& ...

  6. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) F. Isomorphic Strings 题目连接: http://cod ...

  7. Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes

    Codeforces Educational Codeforces Round 44 (Rated for Div. 2) E. Pencils and Boxes 题目连接: http://code ...

  8. Educational Codeforces Round 63 (Rated for Div. 2) 题解

    Educational Codeforces Round 63 (Rated for Div. 2)题解 题目链接 A. Reverse a Substring 给出一个字符串,现在可以对这个字符串进 ...

  9. Educational Codeforces Round 39 (Rated for Div. 2) G

    Educational Codeforces Round 39 (Rated for Div. 2) G 题意: 给一个序列\(a_i(1 <= a_i <= 10^{9}),2 < ...

随机推荐

  1. 写了一个 gorm 乐观锁插件

    前言 最近在用 Go 写业务的时碰到了并发更新数据的场景,由于该业务并发度不高,只是为了防止出现并发时数据异常. 所以自然就想到了乐观锁的解决方案. 实现 乐观锁的实现比较简单,相信大部分有数据库使用 ...

  2. Python图像处理库——PIL

    PIL全称Python Image Library,是python官方的图像处理库,包含各种图像处理模块.Pillow是PIL的一个派生分支,包含与PIL相同的功能,并且更灵活.python3.0之后 ...

  3. 前端富文本编辑器vue + tinymce

    之前有项目需要用到富文本编辑器,在网上找了好几个后,最终选择了这个功能强大,扩展性强的tinymce tinymce中文文档地址(不全):http://tinymce.ax-z.cn/ tinymce ...

  4. Docker备份Gitlab容器以及还原数据

    概述 今天,我们将学习如何快速地对docker容器进行快捷备份.恢复和迁移.Docker是一个开源平台,用于自动化部署应用,以通过快捷的途径在称之为容器的轻量级软件层下打包.发布和运行这些应用.它使得 ...

  5. SpringCloud(六)分布式事务

    在分布式系统中,分布式事务基本上是绕不开的, 分布式事务是指事务的参与者.支持事务的服务器.资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上 .其实就可以简单理解成在分布式系统中实现事务 ...

  6. java面试-线程池使用过吗,谈谈对ThreadPoolExector的理解

    一.架构说明: 二.为什么使用线程池,优势是什么? 线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,那么超出数量的线程排队 ...

  7. (三)Struts2的Action(简单讲解版)

    Actions是Struts2框架的核心,因为它们适用于任何MVC(Model View Controller)框架. 每个URL映射到特定的action,其提供处理来自用户的请求所需的处理逻辑.但a ...

  8. 采用QT技术,开发OFD电子文档阅读器

    前言 ofd作为板式文档规范,相当于国产化的pdf.由于pdf标准制定的较早,相关生态也比较完备,市面上的pdf阅读器种类繁多.国内ofd阅读器寥寥无几,作者此前采用wpf开发了一款阅读器,但该阅读器 ...

  9. 【随笔】C++类静态成员变量初始化引发的惨痛教训

    事情是这样的,我在某个类中声明了一个静态的map成员, 文件名暂且称之为 xxx.h 然后在 xxx.cc 中全局定义了这个东西,静态成员在类里面只是声明,需要在外边被定义才有内存 然后又在main. ...

  10. Day16_89_通过反射机制获取所有构造方法

    通过反射机制获取某个特定的构造方法 * 代码 import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; publ ...