616A - Comparing Two Long Integers    20171121

直接暴力莽就好了...没什么好说的

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
string a,b;int sa,sb;
char cmp()
{
if(sa==- && sb==-)return '=';
if(sa==-)return '<';if(sb==-)return '>';
if(a.size()-sa>b.size()-sb)return '>';
if(a.size()-sa<b.size()-sb)return '<';
for(int i=sa,j=sb;i<a.size();i++,j++)
if(a[i]!=b[j])return (a[i]<b[j])?'<':'>';
return '=';
}
int main()
{
cin>>a;cin>>b;sa=sb=-;
for(int i=;i<a.size();i++)if(a[i]!=''){sa=i;break;}
for(int i=;i<b.size();i++)if(b[i]!=''){sb=i;break;}
return printf("%c\n",cmp()),;
}

616B - Dinner with Emma    20171121

在每行的最小值中取一个最大值输出就好了

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,x,mi,ans;
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
mi=;
for(int j=;j<=m;j++)
scanf("%d",&x),mi=min(mi,x);
ans=max(ans,mi);
}
return printf("%d\n",ans),;
}

616C - The Labyrinth    20171121

简单并查集

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#define N 1150
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
struct rua
{
int x,y;
}fa[N][N];
int n,m,si[N][N];
bool s[N][N];
char ch;
bool read()
{
ch=getchar();
while(ch!='.' && ch!='*')
ch=getchar();
return ch=='.';
}
rua Find(int x,int y)
{
if(fa[x][y].x==x && fa[x][y].y==y)return fa[x][y];
else return fa[x][y]=Find(fa[x][y].x,fa[x][y].y);
}
void Union(int xx,int xy,int yx,int yy)
{
fa[Find(xx,xy).x][Find(xx,xy).y]=Find(yx,yy);
}
bool equal(int xx,int xy,int yx,int yy)
{
return fa[xx][xy].x==fa[yx][yy].x && fa[xx][xy].y==fa[yx][yy].y;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
fa[i][j].x=i,fa[i][j].y=j;
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
s[i][j]=read();
if(s[i][j] && s[i-][j])
Union(i,j,i-,j);
if(s[i][j] && s[i][j-])
Union(i,j,i,j-);
}
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
fa[i][j].x=Find(i,j).x;
fa[i][j].y=Find(i,j).y;
si[Find(i,j).x][Find(i,j).y]++;
}
for(int i=;i<=n;i++)
{
for(int j=;j<=m;j++)
if(s[i][j])
printf(".");
else
{
int ans=;
if(s[i-][j])
ans+=si[Find(i-,j).x][Find(i-,j).y];
if(s[i+][j])
if(!equal(i+,j,i-,j))
ans+=si[Find(i+,j).x][Find(i+,j).y];
if(s[i][j-])
if(!equal(i,j-,i-,j))
if(!equal(i,j-,i+,j))
ans+=si[Find(i,j-).x][Find(i,j-).y];
if(s[i][j+])
if(!equal(i,j+,i-,j))
if(!equal(i,j+,i+,j))
if(!equal(i,j+,i,j-))
ans+=si[Find(i,j+).x][Find(i,j+).y];
printf("%d",ans%);
}
printf("\n");
}
return ;
}

616D - Longest k-Good Segment    20171121

先找出当\(l=1\)时\(r\)的最大值,然后O(n)扫一遍。即先增大\(l\)的值到刚好不同元素个数\(<k\),之后再增大\(r\)的值,这种做法在CF中好像叫做\(two \ pointers\),在Educational Codeforces Round 50的D题里也有此算法的一个应用

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#define N 1000001
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int ansl,ansr,n,k,l,r,s,a[N],b[N];
int main()
{
scanf("%d%d",&n,&k);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
for(r=;s<=k && r<=n;r++)
s+=(!b[a[r]]),b[a[r]]++;
r--;if(s>k)s--,b[a[r--]]--;
l=ansl=,ansr=r;
while(r<n)
{
for(l;s==k;l++)
b[a[l]]--,s-=(!b[a[l]]);
for(r=r+;s<=k && r<=n;r++)
s+=(!b[a[r]]),b[a[r]]++;
r--;if(s>k)s--,b[a[r--]]--;
if(s==k && ansr-ansl<r-l)
ansr=r,ansl=l;
}
printf("%d %d\n",ansl,ansr);
}

616E - Sum of Remainders    20171121

直接分块做就好了

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define LL long long
#define MOD 1000000007
LL n,m,nexti,ans,an;
LL get_ans(LL a,LL b,LL n)
{
if(n&)an=((n+)/)%MOD*(n%MOD)%MOD;
else an=(n/)%MOD*((n+)%MOD)%MOD;
an*=a%MOD,an%=MOD,an+=(n+)%MOD*(b%MOD)%MOD;
return an%MOD;
}
int main()
{
scanf("%I64d%I64d",&n,&m);
for(LL i=;i<=min(m,n);i=nexti+)
{
nexti=min(m,n/(n/i));
ans+=get_ans(n/i,n%nexti,((n%i)-(n%nexti))/(n/i));
ans%=MOD;
}
if(n<m)ans+=(m-n)%MOD*(n%MOD)%MOD;
printf("%I64d\n",ans%MOD);
return ;
}

616F - Expensive Strings    20180917

[Educational Round 5][Codeforces 616F. Expensive Strings]

Educational Codeforces Round 5的更多相关文章

  1. [Educational Codeforces Round 16]E. Generate a String

    [Educational Codeforces Round 16]E. Generate a String 试题描述 zscoder wants to generate an input file f ...

  2. [Educational Codeforces Round 16]D. Two Arithmetic Progressions

    [Educational Codeforces Round 16]D. Two Arithmetic Progressions 试题描述 You are given two arithmetic pr ...

  3. [Educational Codeforces Round 16]C. Magic Odd Square

    [Educational Codeforces Round 16]C. Magic Odd Square 试题描述 Find an n × n matrix with different number ...

  4. [Educational Codeforces Round 16]B. Optimal Point on a Line

    [Educational Codeforces Round 16]B. Optimal Point on a Line 试题描述 You are given n points on a line wi ...

  5. [Educational Codeforces Round 16]A. King Moves

    [Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board ...

  6. Educational Codeforces Round 6 C. Pearls in a Row

    Educational Codeforces Round 6 C. Pearls in a Row 题意:一个3e5范围的序列:要你分成最多数量的子序列,其中子序列必须是只有两个数相同, 其余的数只能 ...

  7. Educational Codeforces Round 9

    Educational Codeforces Round 9 Longest Subsequence 题目描述:给出一个序列,从中抽出若干个数,使它们的公倍数小于等于\(m\),问最多能抽出多少个数, ...

  8. Educational Codeforces Round 37

    Educational Codeforces Round 37 这场有点炸,题目比较水,但只做了3题QAQ.还是实力不够啊! 写下题解算了--(写的比较粗糙,细节或者bug可以私聊2333) A. W ...

  9. 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 ...

  10. 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 ...

随机推荐

  1. 使用ZooKeeper协调多台Web Server的定时任务处理(方案1)

    背景说明: 有一套Web服务程序, 为了保证HA, 需要在多台服务器上部署, 该服务程序有一些定时任务要执行, 现在要保证的是, 同一定时任务不会在多台机器上被同时执行. 方案1 --- 任务级的主备 ...

  2. [数学笔记Mathematical Notes]1-调和级数发散的一个简单证明

    定理. 调和级数 $\dps{\vsm{n}\frac{1}{n}}$ 是发散的. 证明. 设 $$\bex a_n=\sum_{k=1}^n\frac{1}{k}, \eex$$ 则 $a_n$ 递 ...

  3. SpringBatch框架简介

    概观 轻量级,全面的批处理框架,旨在开发对企业系统日常运营至关重要的强大批处理应用程序. Spring Batch提供了可重复使用的功能,这些功能对于处理大量记录至关重要,包括记录/跟踪,事务管理,作 ...

  4. Angular7_人员登记系统

    1.ts public peopleInfo: any = { username: 'kxy', sex: '男', cityList: ['汕头', '广州', '茂名'], city: '汕头', ...

  5. 题解 P5065 【[Ynoi2014]不归之人与望眼欲穿的人们】

    出现了一篇跑得炒鸡慢的题解! noteskey 无 fuck 说,好像就是整个数列分块然后合并区间...什么的吧 对于每块内部就是算一下前缀信息.后缀信息(就是以 第一个点/最后一个点 为一个边界,不 ...

  6. Lua的内存管理

    [前言] 在历史长河中,各种各样的新语言,总是伴随着我们编程人员:有的时候,工作的需要,我们不得不去学习这些很炫的,很新的语言.学习任何一门语言(我这里只说学习),都无非就是学习那么几个大模块,基本语 ...

  7. Composer更新慢的解决方案

    有两种方式启用镜像服务: 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中. 单个项目配置: 将配置信息添加到某个项目的 composer.json 文 ...

  8. 关于 win10 系统中 Anaconda3 中修改 Jupyter Notebook 默认启动目录

    目标: 修改Anaconda3中自带的Jupyter Notebook默认启动目录. 步骤:     1.提前创建好你想要启动位置文件夹.     2.寻找配置文件,"jupyter_not ...

  9. 饮冰三年-人工智能-Python-23 Python PyCharm 使用中常见的问题

    一:软件工具使用中遇到的问题 1:AttributeError: module 'pip' has no attribute 'main'问题 处理方法: a:找到JetBrains\PyCharm ...

  10. kubenetes 环境的塔建

    最近听我朋友说他们公司准备上云,全线把服务迁到 k8s 上面,一下感觉,我们就 lower 了不少,之前服务器一直跑的就是 docker ,想想弄到 k8s 应该还是没有啥,于是我们也开始改造了 参考 ...