622A - Infinite Sequence    20171123

暴力枚举\(n\)在哪个区间即可,时间复杂度为\(O(\sqrt{n})\)

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
long long n;
int main()
{
scanf("%I64d",&n);
for(long long i=;;i++)
if(i*(i+)/>=n)
return printf("%I64d\n",n-i*(i-)/),;
}

622B - The Time    20171123

没什么好说的......

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int h,m,a;
void print(int k)
{
if(k<)printf("0%d",k);
else printf("%d",k);
}
int main()
{
scanf("%d:%d%d",&h,&m,&a);
m+=a;h+=m/;m%=;h%=;
print(h);printf(":");print(m);
return ;
}

622C - Not Equal on a Segment    20171123

设f[i]为前i个数里不同数的个数,然后瞎几把乱搞就好了_(:з」∠)_

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#define N 1000001
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,a[N],l,r,x,_,f[N];
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
f[i]=f[i-]+(a[i]!=a[i-]);
}
for(int i=;i<=m;i++)
{
scanf("%d%d%d",&l,&r,&x);
if(f[l]==f[r] && a[l]==x)
{printf("-1\n");continue;}
if(a[l]!=x)printf("%d\n",l);else
printf("%d\n",upper_bound(f+l,f+r,f[l])-f);
}
return ;
}

622D - Optimal Number Permutation    20171123

构造题...朝着让结果为0的目标去就好了

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,a,b,f[];
int main()
{
scanf("%d",&n);a=,b=n+;
for(int i=;i<n;i++)f[a]=f[a+n-i]=i,a++,swap(a,b);f[a]=f[*n]=n;
for(int i=;i<=*n;i++)printf("%d%c",f[i],i==*n?'\n':' ');
return ;
}

622E - Ants in Leaves    20180919

考虑从根节点连出去的几个子树的答案是多少,对于每个子树,把子树中所有的叶子节点按深度排序,若设f[i]为第i个叶子爬到子树的根结点所需要的时间,则f[i]的初始值为他的深度,且有\(f_i=max(f_{i},f_{i-1}+1)\)。最终答案就是所有子树对应答案的最大值

#include<bits/stdc++.h>
using namespace std;
#define N 500001
int n,u,v,ans,cnt,f[N];
vector<int>d[N];
void dfs(int cur,int pre,int dep)
{
int x=;
for(auto nxt:d[cur])if(nxt!=pre)
x=,dfs(nxt,cur,dep+);
if(!x)f[++cnt]=dep;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d%d",&u,&v),
d[u].push_back(v),
d[v].push_back(u);
for(auto i:d[])
{
cnt=;
dfs(i,,);
sort(f+,f+cnt+);
for(int i=;i<=cnt;i++)
f[i]=max(f[i],f[i-]+);
ans=max(ans,f[cnt]+);
}
return printf("%d\n",ans),;
}

622F - The Sum of the k-th Powers    20180317

拉格朗日插值法的经典应用

#include<stdlib.h>
#include<stdio.h>
#include<math.h>
#define N 1000005
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define LL long long
#define MOD 1000000007
LL n,k,t,ans,inv[N],y[N],f[N];
LL qow(LL X,LL Y){return Y?(Y&?X*qow(X,Y-)%MOD:qow(X*X%MOD,Y/)):;}
int main()
{
scanf("%I64d%I64d",&n,&k);
inv[]=f[]=t=;
for(LL i=;i<=k+;i++)
inv[i]=(MOD-MOD/i)*inv[MOD%i]%MOD;
for(LL i=;i<=k+;i++)
f[i]=f[i-]*inv[i]%MOD;
for(LL i=;i<=k+;i++)
y[i]=(y[i-]+qow(i,k))%MOD;
if(n<=k+)return printf("%I64d\n",y[n]),;
for(LL i=;i<=k+;i++)
t*=(n-i)%MOD,t%=MOD;
for(LL i=;i<=k+;i++)
{
LL s=((i-k)%)?-:,res=y[i];
res*=t*qow((n-i)%MOD,MOD-)%MOD,res%=MOD;
res*=f[i-]*f[k+-i]%MOD,res%=MOD;
ans+=(res*s+MOD)%MOD,ans%=MOD;
}
printf("%I64d\n",ans);
return ;
}

Educational Codeforces Round 7的更多相关文章

  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. MySQL初步

    一 写在开头1.1 本节内容本节的主要内容是MySQL的基本操作(来自MySQL 5.7官方文档). 1.2 工具准备一台装好了mysql的ubuntu 16.04 LTS机器. 二 MySQL的连接 ...

  2. Codeforces Round #545 (Div. 2) C. Skyscrapers 离散化+贪心

    题目链接 给你一个n∗m的矩阵res,让你输出一个n∗m的矩阵a,这个矩阵满足:给你一个n*m的矩阵res,让你输出一个n*m的矩阵a,这个矩阵满足:给你一个n∗m的矩阵res,让你输出一个n∗m的矩 ...

  3. ST表学习笔记

    ST表是一种利用DP思想求解最值的倍增算法 ST表常用于解决RMQ问题,即求解区间最值问题 接下来以求最大值为例分步讲解一下ST表的建立过程: 1.定义 f[i][j]表示[i,i+2j-1]这个长度 ...

  4. 《Java编程思想第四版》第 16 章 设计范式-提到观察者模式

    在由Gamma,Helm 和 Johnson 编著的<Design Patterns>一书中被定义成一个“里程碑”.那本书列出了解决这个问题的 23 种不同的方法 16.1.2 范式分类 ...

  5. url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介【转】

    引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encode ...

  6. Eclipse 搭建 Strust2开发环境

    一.创建一个动态Web项目 ♦  注意 :一定要勾选Generate Web.xml deployment descriptor 选项,这个将在Eclipse为你创建一个动态web项目. 二.导入相关 ...

  7. 【原创】运维基础之Docker(2)通过docker部署zookeeper nginx tomcat redis kibana/elasticsearch/logstash mysql kafka mesos/marathon

    通过docker可以从头开始构建集群,也可以将现有集群(配置以及数据)平滑的迁移到docker部署: 1 docker部署zookeeper # usermod -G docker zookeeper ...

  8. ie浏览器多开-----同时登陆多个账号

    1.在电脑桌面右键 找到 新建快捷方式 在上图输入框中输入 "C:\Program Files\Internet Explorer\iexplore.exe" -noframeme ...

  9. 对Java框架spring、hibernate、Struts的粗浅理解

    对 Struts 的理解:1. struts 是一个按 MVC 模式设计的 Web 层框架,其实它就是一个大大的 servlet,这个Servlet 名为 ActionServlet,或是 Actio ...

  10. linux的时间问题

    在linux系统中时间分为修改时间(modify time 简写:mtime ),访问时间(access time 简写: atime),状态修改时间(change time 简写:ctime)三种: ...