Codeforces_813
A.统计总时间,从总时间开始找第一个能提交的点。
#include<bits/stdc++.h>
using namespace std; int n,m,a[],ok[] = {}; int main()
{
ios::sync_with_stdio();
cin >> n;
int sum = ;
for(int i = ;i <= n;i++) cin >> a[i],sum += a[i];
cin >> m;
for(int i = ;i <= m;i++)
{
int x,y;
cin >> x >>y;
for(int j = x;j <= y;j++) ok[j] = ;
}
for(int i = sum;i <= ;i++)
{
if(ok[i])
{
cout << i << endl;
return ;
}
}
cout << - << endl;
return ;
}
B.把每个unlucky值都算出来,再算最长段。
#include<bits/stdc++.h>
using namespace std; long long x,y,l,r,a[],b[]; int main()
{
ios::sync_with_stdio();
cin >> x >> y >> l >> r;
int cnt1 = ,cnt2 = ;
a[++cnt1] = ;
b[++cnt2] = ;
while(a[cnt1] <= r/x)
{
a[cnt1+] = a[cnt1]*x;
cnt1++;
}
while(b[cnt2] <= r/y)
{
b[cnt2+] = b[cnt2]*y;
cnt2++;
}
set<long long> s;
for(int i = ;i <=cnt1;i++)
{
if(a[i] > r) continue;
for(int j = ;j <= cnt2;j++)
{
if(b[j] > r) continue;
if(a[i]+b[j] < l) continue;
if(a[i]+b[j] > r) continue;
s.insert(a[i]+b[j]);
}
}
s.insert(l-);
s.insert(r+);
long long ans = ;
for(auto it = ++s.begin();it != s.end();it++)
{
long long xx = *it;
it--;
long long yy = *it;
it++;
ans = max(ans,xx-yy-);
}
cout << ans << endl;
return ;
}
C.分两种情况,Bob一直往下跑到叶子节点或者先往上跑,再往下跑到更深的叶子节点。
#include<bits/stdc++.h>
using namespace std; int n,x,a[] = {},maxx[],ok[] = {};
int ans;
vector<int> v[]; void dfs1(int now,int pre)
{
maxx[now] = a[now];
for(int i = ;i < v[now].size();i++)
{
int t = v[now][i];
if(t == pre) continue;
a[t] = a[now]+;
dfs1(t,now);
if(ok[t]) ok[now] = ;
maxx[now] = max(maxx[now],maxx[t]);
}
} int main()
{
ios::sync_with_stdio();
cin >> n >> x;
ok[x] = ;
for(int i = ;i < n;i++)
{
int x,y;
cin >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs1(,-);
ans = maxx[x];
for(int i = ;i <= n;i++)
{
if(ok[i])
{
if(a[x]-a[i] < a[i]) ans = max(ans,maxx[i]);
}
}
cout << ans* << endl;
return ;
}
Codeforces_813的更多相关文章
随机推荐
- HashMap中的位运算
二进制基础回顾 以下操作相对正整数的二进制而言,对非整数不太适用. 二进制转十进制 在二进制中,位权是2的幂,所以每一位所代表的权值从右到左分别为2^(1-1) .2^(2-1) .... . 2 ...
- Theia APIs——事件
上一篇:Theia APIs——Preferences 事件 Theia中的事件或许会让你感到困惑,希望本节能阐述清楚. 来看下面的代码: (来自logger-watcher.ts) @injecta ...
- JVM之对象
几乎所有对象都是在堆中分配内存的,这次来讲讲java的对象. 对象的创建主要分为以下几步: 首先,查看类是否装载.当JVM读取到new指令的时候,会拿着符号描述去方法区寻找它所属的类,如果未查找到,则 ...
- python文件及目录操作
python文件及目录操作 读/写文件 新建/打开文件 写入 #举个例子,打开D:\test\data.txt #以写入模式打开文件 #如果test(上级目录)不存在则报错 #如果data.txt(文 ...
- C#调用JS的WebService的方法返回null
连上了别人的VPN后,使用WebService测试软件测试了一下,结果正常,但是当我在vs里面添加WebService服务,调用的时候就出现了问题,问题如下图: 后来问了一下服务端那边的同事,他们说服 ...
- The command '/bin/sh -c unzip -o php-7.2.23-src.zip' returned a non-zero code: 1
Dockerfile 内容 #centos7 nginx php redis inotify FROM centos:7 MAINTAINER INFOBIRD RUN yum -y update & ...
- Spring Boot2 系列教程 (十二) | 整合 thymeleaf
前言 如题,今天介绍 Thymeleaf ,并整合 Thymeleaf 开发一个简陋版的学生信息管理系统. SpringBoot 提供了大量模板引擎,包含 Freemarker.Groovy.Thym ...
- 暑假提高组集训Day1 T1
说实话,今天的题真的有点难! ~备受打击~ 我们先来看一看第一题吧 看起来好像不太简单,其实并不难 下面来提供两种方法吧 1.做法一 //签到题 /* 那么这一题就是告诉你n个点的坐标,把它们分别放到 ...
- mysql 行增删改查
一.增 ); ),(); insert into student(name, age) select name, age from info; 二.删 delete from db1; delete ...
- Java入门 - 语言基础 - 01.Java简介
原文地址:http://www.work100.net/training/java-intro.html 更多教程:光束云 - 免费课程 Java简介 序号 文内章节 视频 1 概述 2 主要特性 3 ...