A. Direction Change

题意

从(1,1)点出发到(n,m),每次可以向上下左右四个方向移动,但是不能与上次移动方向相同

最少要移动多少不,如果不能到达输出 -1

思路

假设n<m

如图,先走到边界用 2*n 步,接下来如果离目标 1 格加1即可,如果离目标 2 格,则如下图

共需要走4步

代码

#include <bits/stdc++.h>
using namespace std;
const int maxm = 1e3 + 5;
int n, m, a[maxm];
bool f[maxm][maxm];
int main()
{
int t;
cin >> t;
while (t--)
{
int a, b, x, y;
cin >> x >> y;
a = min(x, y), b = max(x, y);
if (a == 1 && b > 2)
{
cout << -1 << endl;
continue;
}
if (a == 1 && b == 2)
{
cout << 1 << endl;
continue;
}
int ans = 0;
ans = (a - 1) * 2;
b = b - a;
ans += (b / 2) * 4 + (b % 2);
cout << ans << endl;
} return 0;
}

B. Social Distance

题意

有 m 把椅子摆成一个环,有 n 个人每个人有一个对应的值   ,表示其左右两边各有  个椅子不能坐人

问所有人是否都可以坐下

思路

我们首先可以让   最大的先坐,为了让空椅子利用率最大,把第二大和第三大的分别坐在其左右两边,以次类推每一个人相当于只占用了一边另一边包含在

比他大的上一个人中,一直加到最小和次小,此时最小的不用加,因为其两边包含在第二小和第三小中,因为最大的两边都用上因此要加两次

特判当 n>m 直接错误

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxm = 1e3 + 5;
int main()
{
int t;
cin >> t;
while (t--)
{
int a, b;
cin >> a >> b;
int mas = 0, mis = 1e9 + 7;
int s[a];
for (int i = 0; i < a; i++)
{
cin >> s[i];
mas = max(mas, s[i]);
mis = min(mis, s[i]);
}
if (a > b)
{
cout << "NO\n";
continue;
}
ll ans = mas + a - mis;
for (int i = 0; i < a; i++)
{
ans += s[i];
if (ans > b)
break;
}
if (ans > b)
cout << "NO\n";
else
cout << "YES\n";
}
return 0;
}  

Make it Increasing

题意

给定一个序列 a ,b  为一个全零序列,每次操作可以使得  或  求使得 b b严格单调上升的最少的操作次数

思路

首先注意到,这些操作在同一个位置交替是没有意义的。因此考虑直接枚举某个位置不改变(0),其左侧全减,右侧全加。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[5005], mis = 1e18;
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
for (int j = 1; j <= n; j++)
{
ll ans = 0, sum = 0;
for (int i = j - 1; i >= 1; i--)
{
ans += a[i] - ans % a[i];
sum += ans / a[i];
}
ans = 0;
for (int i = j + 1; i <= n; i++)
{
ans += a[i] - ans % a[i];
sum += ans / a[i];
}
mis = min(mis, sum);
}
cout << mis << "\n";
return 0;
}

Codeforces Round #783 (Div. 2)的更多相关文章

  1. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

  2. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  3. Codeforces Round #368 (Div. 2)

    直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...

  4. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  5. Codeforces Round #279 (Div. 2) ABCDE

    Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems     # Name     A Team Olympiad standard input/outpu ...

  6. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  7. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

  8. Codeforces Round #371 (Div. 1)

    A: 题目大意: 在一个multiset中要求支持3种操作: 1.增加一个数 2.删去一个数 3.给出一个01序列,问multiset中有多少这样的数,把它的十进制表示中的奇数改成1,偶数改成0后和给 ...

  9. Codeforces Round #268 (Div. 2) ABCD

    CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...

随机推荐

  1. 基于 POI 封装 ExcelUtil 精简的 Excel 导入导出

    注 本文是使用 org.apache.poi 进行一次简单的封装,适用于大部分 excel 导入导出功能.过程中可能会用到反射,如若有对于性能有极致强迫症的同学,看看就好. 序 由于 poi 本身只是 ...

  2. 如何用C/C++实现去除字符串头和尾指定的字符

    编程时我们经常需要对字符串进行操作,其中有一项操作就是去除字符串的头(尾)指定的字符,比如空格.通常我们会使用封装好的库函数或者类函数的Trim方法来实现,如果自己动手写一个TrimHead和Trim ...

  3. 如何对用户的绑定的身份证真实性进行实名认证(java)

    现在随着对用户实名制的要求,因此用户提交的身份证信息经查需要检查是否为真实信息,我们需要对用户提交的身份证信息进行核验,具体操作步骤如下: 第一步 到认证平台注册账号:云亿互通--实名认证服务 (yu ...

  4. Idea分享项目到全球最大同x交友网站gayhub居然失败了!我居然没有权限!来看看解决方法吧

    Idea分享项目到全球最大同x交友网站gayhub居然失败了! 事情是这样的,刚写完一个动态网页就想着部署到github上让大家看看(装逼),然而在我share project时,它告诉我: 大概意思 ...

  5. 下载并配置pycharm

    1.下载(推荐下载社区版) https://www.jetbrains.com/pycharm/download/#section=windows 2.配置代码编写前注释 得到这种效果: 3.设置字体 ...

  6. 一文了解RPC框架原理

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 1.RPC框架的概念 RPC(Remote Proced ...

  7. Atlas2.2.0编译、安装及使用(集成ElasticSearch,导入Hive数据)

    1.编译阶段 组件信息: 组件名称 版本 Atals 2.2.0 HBase 2.2.6 Hive 3.1.2 Hadoop 3.1.1 Kafka 2.11_2.4.1 Zookeeper 3.6. ...

  8. MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中

    union 会删除重复数据 union all 不会删除重复数据 select * from ( select *,'a' as kind from tablea where name is not ...

  9. 零基础学Java第三节(基本输入输出)

    本篇文章是<零基础学Java>专栏的第三篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] Java程序的命令行参数 我们可以 ...

  10. k8s client-go源码分析 informer源码分析(4)-DeltaFIFO源码分析

    client-go之DeltaFIFO源码分析 1.DeltaFIFO概述 先从名字上来看,DeltaFIFO,首先它是一个FIFO,也就是一个先进先出的队列,而Delta代表变化的资源对象,其包含资 ...