题目链接:  http://codeforces.com/contest/977  

A. Wrong Subtraction

题意

给定一个数x,求n次操作输出。操作规则:10的倍数则除10,否则减1

直接写,手速题,没啥好说的

B. Two-gram

题意

求出现次数最多的连续两个字符

还是签到题,我居然很麻烦地用了map,= =算了,思路畅通都无所谓了

#include <iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<string>
#include<map>
using namespace std;
int main()
{
char a[],s[],ss[];
int n;
while(cin>>n)
{
cin>>a;
map<string,int>mp;
int MAX=-;
for(int i=;i<strlen(a)-;i++)
{
s[]=a[i]; s[]=a[i+];
mp[s]++;
//cout<<s<<endl;
if(mp[s]>MAX) MAX=mp[s],ss[]=a[i],ss[]=a[i+];
}
cout<<ss[]<<ss[]<<endl;
}
return ;
}

C. Less or Equal

题意

给一串数组,是否找到一个数x,找到k个数字<=x,找到输出x,不能输出-1。

第二组,要找到两个数字,排序后出现1,3,3,会出现三个数字小于等于3,所以不能找到。

注意下k==0的时候就好了,没啥好说的

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#define ll long long
using namespace std;
const int maxn=2e5+;
int a[maxn];
int main()
{
int m,k;
while(cin>>m>>k)
{
for(int i=;i<m;i++)
cin>>a[i];
sort(a,a+m);
if(k==)
{
if(a[]==) puts("-1");
else cout<<a[]-<<endl;
}
else if(k==m) cout<<a[k-]<<endl;
else
{
if(a[k-]==a[k]) puts("-1");
else cout<<a[k-]<<endl;
}
}
return ;
}

D. Divide by three, multiply by two

题意

直接看样例吧  4 8 6 3 12 9  把这个序列排成一个这样的序列, 前一位是后一位数的一半或者3倍,所以排序后是这样 9 3 6 12 4 8

dfs或者直接双重for循环都可以,不过赛后看到个数学思路的题解,觉得很有灵性= =

直接按对3有更多约数的多少来排(前一位是后一位的3倍),有相同个则从小到大(也就是前一位是后一位数的一半)

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#define ll long long
using namespace std;
const int maxm=2e5+;
const int maxn=1e5+; ll a[];
ll s(ll num)
{
ll cnt=;
while(num%==)
{
cnt++;
num/=;
}
return cnt;
}
bool cmp(ll x,ll y)
{
if(s(x)!=s(y))
return s(x)>s(y);
else return x<y;
}
int main()
{
int n;
while(cin>>n)
{
for(int i=;i<n;i++)
cin>>a[i];
sort(a,a+n,cmp);
for(int i=;i<n;i++)
printf("%lld%c",a[i],i==n-?'\n':' ');
}
}

E. Cyclic Components

题意

给定点的个数和各条边,问有多少个环

既然是环,一个点就会对应两次啊,直接并查集啊,巴拉巴拉,水水水就过去了

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#define ll long long
using namespace std;
const int maxn=2e5+;
int pre[maxn],edg[maxn],cnt;
struct node
{
int u,v;
}a[maxn];
void iint()
{
for(int i=;i<maxn;i++) pre[i]=i;
}
int ffind(int x)
{
if(x==pre[x]) return x;
return pre[x]=ffind(pre[x]);
}
void join(int x,int y)
{
x=ffind(x),y=ffind(y);
if(x!=y) pre[x]=y;
else cnt++;
}
int main()
{
int m,n;
while(cin>>m>>n)
{
iint();
memset(edg,,sizeof(edg));
for(int i=;i<n;i++)
{
cin>>a[i].u>>a[i].v;
edg[a[i].u]++;
edg[a[i].v]++;
}
cnt=;
for(int i=;i<m;i++)
{
if(edg[a[i].u]==&&edg[a[i].v]==)
join(a[i].u,a[i].v);
}
cout<<cnt<<endl;
}
return ;
}

F. Consecutive Subsequence

题意

给你一个数组找出最长的递增子序列的长度以及下标位置。

例如:  第一组样例 3 3 4 7 5 6 8

    最长的子序列为3 4 5 6,长度为4。

    下标为1 3 5 6或2 3 5 6

觉得dp才是正解,贴个别人的http://www.bubuko.com/infodetail-2595514.html

可是比赛时候不知道为什么被我map玄学给过了2333

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <map>
#define ll long long
using namespace std;
const int maxn=2e5+;
int a[maxn];
int main()
{
ios::sync_with_stdio(false);
int n,tmp;
while(cin>>n)
{
map<int,int>mp;
int max_pos=-,Max=-;
for(int i=;i<=n;i++)
{
cin>>a[i];
mp[a[i]]=mp[a[i]-]+;
if(mp[a[i]]>Max) Max=mp[a[i]],tmp=a[i],max_pos=i;
}
int u=tmp-Max+;
cout<<Max<<endl;
bool f=true;
for(int i=;i<=max_pos;i++)
{
if(a[i]==u)
{
if(f) cout<<i,f=false;
else cout<<" "<<i;
u++;
}
}
cout<<endl;
}
return ;
}

Codeforces Round #479 (Div. 3)解题报告的更多相关文章

  1. Codeforces Round #324 (Div. 2)解题报告

    ---恢复内容开始--- Codeforces Round #324 (Div. 2) Problem A 题目大意:给二个数n.t,求一个n位数能够被t整除,存在多组解时输出任意一组,不存在时输出“ ...

  2. Codeforces Round #382 (Div. 2) 解题报告

    CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...

  3. Codeforces Round #274 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/479 这次自己又仅仅能做出4道题来. A题:Expression 水题. 枚举六种情况求最大值就可以. 代码例如以下: #inc ...

  4. Codeforces Round #380 (Div. 2) 解题报告

    第一次全程参加的CF比赛(虽然过了D题之后就开始干别的去了),人生第一次codeforces上分--(或许之前的比赛如果都参加全程也不会那么惨吧),终于回到了specialist的行列,感动~.虽然最 ...

  5. Codeforces Round #216 (Div. 2)解题报告

    又范低级错误! 只做了两题!一道还被HACK了,囧! A:看了很久!应该是到语文题: 代码:#include<iostream> #include<];    ,m2=;    ;i ...

  6. Codeforces Round #281 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/493 A题 写完后就交了,然后WA了,又读了一遍题,没找出错误后就开始搞B题了,后来回头重做的时候才发现,球员被红牌罚下场后还可 ...

  7. Codeforces Round #277 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/486 A题.Calculating Function 奇偶性判断,简单推导公式. #include<cstdio> ...

  8. Codeforces Round #276 (Div. 2) 解题报告

    题目地址:http://codeforces.com/contest/485 A题.Factory 模拟.判断是否出现循环,如果出现,肯定不可能. 代码: #include<cstdio> ...

  9. Codeforces Round #350 (Div. 2)解题报告

    codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...

随机推荐

  1. 如何查看Python内置模块的实现代码

    方法1:使用help(random) >>> import random >>> help(random) Help on module random: NAME ...

  2. Laravel创建自定义 Artisan 控制台命令实例教程

    来源:http://laravelacademy.org/post/1374.html 1.入门 Laravel通过Artisan提供了强大的控制台命令来处理非浏览器业务逻辑.要查看Laravel中所 ...

  3. Java 学习之集合类(Collections)

    Collection(集合类) 我们是使用数组来保存数据,但是他的长度一旦创建,就已经确定了,当我们要动态传入穿值,数组就有些局限了,集合类就孕育而生:所谓集合,就是来保存,盛装数据,也可称为容器类: ...

  4. D. Three Pieces(dp,array用法,棋盘模型)

    https://codeforces.com/contest/1065/problem/D 题意 给你一个方阵,里面的数字从1~nn,你需要从标号为1的格子依次走到标号为nn,在每一个格子你有两个决策 ...

  5. OOP中的六种关系以及和JDK或框架中源码进行匹配对应

    前言:这六种关系里:泛化=实现>组合>聚合>关联>依赖:其中组合-聚合-关联这三个如果只是给出一段代码是无法判断具体是什么关系的,需要配合语义或说业务场景来能进行区分(和设计模 ...

  6. 学python之路前的一些话

    为什么学python: 这些年一直从事运维相关的工作.但做下来感觉都是些很基础的东西,无非就是对一些命令或者问题处理很熟练而已,混的都是经验.曾很羡慕会写shell脚本,会自动化安装程序的运维组组长, ...

  7. python在使用redis时zadd错误

    最近在看<redis实战>,在写zadd时报错 Traceback (most recent call last): File "<stdin>", lin ...

  8. 20171126--handlerThread

    1.首先看下handlerThread和普通的线程Thread的使用区别: HandlerThread本质上就是一个普通Thread,只不过内部建立了Looper. 为线程创建Looper的方法如下: ...

  9. mapnik渲染原理

    https://bbs.csdn.net/topics/390853826

  10. linux 配置阿里云yum库

    备份当前yum库 mv /etc/yum.repos.d /etc/yum.repos.d.backup4comex 新建yum源配置目录 mkdir /etc/yum.repos.d 设置阿里yum ...