A. Doggo Recoloring

题目意思是给一个字符串(都是小写字母),如果有两个字符相同,我们可以将这两个字符变成其他字符,问能不能使字符串字母都一样

思路  有两个相同字符时就能;  字符串长度为1时也可以。

#include<bits/stdc++.h>
#define int long long
#define MAX(a,b,c) max(a,max(b,c))
#define MIN(a,b,c) min(a,min(b,c))
#define pb push_back
#define fi first
#define se second
typedef long long ll;
typedef long long LL;
typedef unsigned long long ull;
typedef unsigned long long uLL;
using namespace std;
const int maxn=3e6+;
const int INF=0x3f3f3f3f;
map<char,int> mp;
int32_t main()
{
int n; cin>>n;
if(n==) {cout<<"YES"<<endl; return ;}
string ss; cin>>ss;
int t=;
for(int i=;i<n;i++)
{
mp[ss[i]]++;
if(mp[ss[i]]==)
{
t=; break;
}
}if(t) cout<<"YES"<<endl; else cout<<"NO"<<endl;
}

A.cpp

B. Weakened Common Divisor

给你n对数字,让你求一个数  是每一对数中两个中任意一个数的非1因子;

有的话直接输出那个数,没有输出-1;

给出n<=1e5+5e4; ai,bi<=2e9;

直接找ai, bi 的因子  再看是不是 其他对数的因子,分析一下   n为1e5;

1e9 只有99个;  但是有一组很强的数据  735134400 1396755360    有2456 个因子(没有重复的)  直接超时了; cf 测评机太强了   改了一下  1.4s过了这个第45点。

最后还是超时在第84个点了

#pragma once
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=2e5+;
int vs[maxn];
int main()
{
int n; scanf("%d",&n);
int a,b;
int t=;
for(int i=;i<=n;i++)
{
scanf("%d %d",&a,&b);
if(i==)
{
int j;
for(j=;j*j<=a||j*j<=b;j++)
{
if(a%j==&&a/j!=) vs[++t]=a/j;
if(b%j==&&b/j!=) vs[++t]=b/j;
if( (b%j==||a%j==)&&j!=) vs[++t]=j;
}
}
else
{
int x=;
for(int j=;j<=t;j++)
{
if( (a>=vs[j]&&a%vs[j]==)||(b>=vs[j]&&b%vs[j]==) )
{
vs[++x]=vs[j];
}
}
t=x;
}
if(t==) { printf("%d\n",-); return ;}
}printf("%d\n",vs[]);
}

超时代码

再来考虑   2456 个因子  如果有 2 3   再来个 6 这样的数就不用放了,所以我们只要把质因数放进去就行了。

求2456个数的素因子;  应该是可以的;

#pragma once
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=2e5+;
int vs[maxn];
int main()
{
int n; scanf("%d",&n);
int a,b;
int t=;
for(int i=;i<=n;i++)
{
scanf("%d %d",&a,&b);
if(i==)
{
int j;
for(j=;j*j<=a||j*j<=b;j++)
{
if(a%j==&&a/j!=) vs[++t]=a/j;
if(b%j==&&b/j!=) vs[++t]=b/j;
if( (b%j==||a%j==)&&j!=) vs[++t]=j;
}
sort(vs+,vs+t+);
int x=;
for(int j=;j<=t;j++)
{
int w=;
for(int c=;c*c<=t;c++)
{ }
}
}
else
{
int x=;
for(int j=;j<=t;j++)
{
if( (a>=vs[j]&&a%vs[j]==)||(b>=vs[j]&&b%vs[j]==) )
{
vs[++x]=vs[j];
}
}
t=x;
}
cout<<t<<endl;
if(t==) { printf("%d\n",-); return ;}
}printf("%d\n",vs[]);
}

未完成代码

这个思路做不到的话  还有一个思路;

拿 17 18  为例子  他们的因数  2 3 6 9 18 1 17; 都是17*18的因数;

15  24来说   2 3 4 5 6 8 12 15 24    是 15*24的因数  或者说  15*24/gcd(15,24);

这两个例子的  最大公约数  gcd(17*18,15*24)=18;   即 17*18  与 25*24 不互质  存在一个约数;

所以n组 gcd的值不为1,为x>1;  就有约束 ;  还是x的因数;

是不是我们输出 x 就行了   答案是否;例如  2  17  2  17 ;答案是 2 或 14, 不是34;

我们就从2-sqrt(x)找因数  找不到才是gcd的值; 尽管这样  2-sqrt(x)的值还是很大;

要进一步缩小       g=max(gcd(g,a[1]),gcd(g,b[1]))   就有了和第一组数比较  ;

#include<bits/stdc++.h>
#define int long long
#define MAX(a,b,c) max(a,max(b,c))
#define MIN(a,b,c) min(a,min(b,c))
#define pb push_back
#define fi first
#define se second
typedef long long ll;
typedef long long LL;
typedef unsigned long long ull;
typedef unsigned long long uLL;
using namespace std;
const int maxn=2e5+;
const int INF=0x3f3f3f3f;
int a[maxn];
int b[maxn];
int gcd(int a,int b){return b ? gcd(b, a%b): a; }
int32_t main()
{
int n; scanf("%lld",&n); int g=;
for(int i=;i<=n;i++)
{
scanf("%lld %lld",&a[i],&b[i]);
if(i==) g=a[i]*b[i];
else g=gcd(g,a[i]*b[i]);
} if(g==) { cout<<-<<endl; return ; }
g=max(gcd(g,a[]),gcd(g,b[]));//cout<<g<<endl;
for(int i=;i*i<=g;i++)
{
if(g%i==) {cout<<i<<endl; return ;}
}
cout<<g<<endl; return ;
}

B.cpp AC代码

C. Plasticine zebra

给你一个字符串    每一个点  我们可以执行   左边分别 第一个和最后一个。第二个和倒数第二个,第三.....。互换。右边也一样;然后把左边移到右边, 问你wb这样连续的字母最大有多少;

其实每次操作都是头尾相连 中间断开 ;  没看出来的可以倒看;

最后就是一个环 上找一点断开;找那个点断开  wb这样连续字母最大之

几个hack数据   bbbb  1     wbwb  4

#include<bits/stdc++.h>
#define int long long
#define MAX(a,b,c) max(a,max(b,c))
#define MIN(a,b,c) min(a,min(b,c))
#define pb push_back
#define fi first
#define se second
typedef long long ll;
typedef long long LL;
typedef unsigned long long ull;
typedef unsigned long long uLL;
using namespace std;
const int maxn=3e6+;
const int INF=0x3f3f3f3f;
int32_t main()
{
string ss; cin>>ss; int k=ss.size();
ss=ss+ss;
int ans=;
int num=;
for(int i=;i<ss.size()-;i++)
{
if(ss[i]!=ss[i+]) num++;
else num=;
ans=max(ans,num);
}
cout<<min(k,ans)<<endl;
}

C.cpp

#505 1&2 A-C 后面未完成的更多相关文章

  1. [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合

    [占位-未完成]scikit-learn一般实例之十一:异构数据源的特征联合 Datasets can often contain components of that require differe ...

  2. [占位-未完成]scikit-learn一般实例之十:核岭回归和SVR的比较

    [占位-未完成]scikit-learn一般实例之十:核岭回归和SVR的比较

  3. PIC12F508/505/509/510/506/519/526/527单片机破解芯片解密方法!

    IC芯片解密PIC12F508/505/509/510/506/519/526/527单片机破解 单片机芯片解密型号: PIC12F508解密 | PIC12F505解密 | PIC12F506解密  ...

  4. 1Z0-053 争议题目解析505

    1Z0-053 争议题目解析505 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 505.You configured the default backup device type ...

  5. 解决java代码测试http协议505错误

    代码功能:通过java代码获取网页源代码: 所用工具:Myclipse8.5+tomcat6.0+浏览器 系统环境:windows xp旗舰版 火狐浏览器版本: IE浏览器版本: 测试http协议有错 ...

  6. 经验总结:HTTP返回505错误小记

    昨天调试代码的时候,用http请求一个图片,返回的结果为如下: HTTP/1.1 505 HTTP Version Not Supported Server: Apache-Coyote/1.1 Da ...

  7. HTTP错误大全 404 200 501 502 505

    HTTP错误 大全 403 401 400 404 304 200 HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 - 未授权:服务器配置问题导致登录 ...

  8. [未完成]WebService学习第一天学习笔记

    [未完成]WebService学习第一天学习笔记[未完成]WebService学习第一天学习笔记

  9. [未完成]关于GUI Java图形化界

    "笔记内容完成,整体未完成" GUI 图形化用户界面 用java做图形化用户界面的程序不多,大多用C++和defy.因为,Java做图形化效率低. 首先你要安装一个虚拟机,C++是 ...

随机推荐

  1. prototype:构造函数的真相、原型链

    函数不是构造函数,但是当且仅当使用 new 时,函数调用会变成 ‘构造函数调用’.那么对 ’构造函数‘ 最准确的解释是:所有带 new 的函数调用. Nothing 只是一个普通的函数,但使用 new ...

  2. iframe子父页面函数互相调用

    1.iframe子页面调用父页面js函数 子页面调用父页面函数只需要写上window.praent就可以了.比如调用a()函数,就写成: window.parent.a();  子页面取父页面中的标签 ...

  3. [Codeforces708E]Student's Camp

    Problem 一个n*m块砖的建筑,一共k天,每天风从两边吹,吹掉砖的概率为p,反之为1-p,求最终建筑没有倒塌的可能性(上层与下层有交集且每一层都有砖) Solution 首先,我们可以预处理出p ...

  4. RabbitMQ 设置消息的TTL(过期时间)

    我们在RabbitMQ中发布消息时,在代码中有两种方法设置某个队列的消息过期时间: 1.针对队列来说,可以使用x-message-ttl参数设置当前队列中所有消息的过期时间,即当前队列中所有的消息过期 ...

  5. 3.5 C++间接继承

    参考:http://www.weixueyuan.net/view/6362.html 总结: 假设类C继承自类B,类B继承自类A.那么类C中的除了能够继承B类的成员函数和成员变量外,同样也能继承B类 ...

  6. CentOS7安装Nginx及配置

    Nginx是一款轻量级的网页服务器.反向代理服务器.相较于Apache.lighttpd具有占有内存少,稳定性高等优势.**它最常的用途是提供反向代理服务.** 安装   在Centos下,yum源不 ...

  7. IE浏览器兼容的处理方式之一,使用特殊的注释 <!--[if IE]> ....<![endif]-->

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. scrapy shell的作用

    1.可以方便我们做一些数据提取的测试代码: 2.如果想要执行scrapy命令,那么毫无疑问,肯定是要先进入到scrapy所在的环境中: 3.如果想要读取某个项目的配置信息,那么应该先进入到这个项目中. ...

  9. robotframework·WEB项目

    date:2018527 day11 一.项目分层 1.测试数据(配置变量,如网址.用户名.密码等) 2.关键字(关键字封装,要调用直接使用关键字名即可,输入内容.点击元素.滚动滑动条等等) 3.测试 ...

  10. [转]linux C/C++服务器后台开发面试题总结

    linux C/C++服务器后台开发面试题总结  https://www.cnblogs.com/nancymake/p/6516933.html 一.编程语言 1.根据熟悉的语言,谈谈两种语言的区别 ...