IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Codeforces Round #783 (Div. 2) ABC -> 正文阅读

[C++知识库]Codeforces Round #783 (Div. 2) ABC

自从上个月得了麦粒肿,又遇上入D的一系列麻烦事儿,心态爆炸,状态开始摆烂,摆完蓝桥杯,摆完昆明站,终于在这几天感觉状态逐渐好转。。。

冲冲冲!

???????????Problem - A - Codeforces

题目大意:不能连续走一样的方位,求从(1,1)点到(n,m)点的距离。

直接拆分成从(1,1)走到(min(n,m),min(n,m))的距离,再加上额外的步骤就行了。很容易发现偶数得拐弯走4步,奇数只要1步,拼凑即可。

input

6
1 1
2 1
1 3
4 2
4 6
10 5

output

0
1
-1
6
10
17
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<string>
#include<queue>
using namespace std;
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int t;
    cin>>t;
    while(t--)
    {
        int a,b;
        cin>>a>>b;
        if((a==1&&b>2)||(a>2&&b==1)) cout<<"-1"<<endl;
        else
        {
            if(a<b) swap(a,b);
            int sum=(b-1)*2;
            sum+=(a-b)/2*4+(a-b)%2*1;
            cout<<sum<<endl;
        }
    }
    return 0;
}

Problem - B - Codeforces

题目大意:n个人,m个凳子,这n个人中每个人都想旁边至少隔了a[i]个人。

sort reverse一下,谁要的多就放谁先坐。

input

6
3 2
1 1 1
2 4
1 1
2 5
2 1
3 8
1 2 1
4 12
1 2 1 3
4 19
1 2 1 3

output

NO
YES
NO
YES
NO
YES

永远第一发wa在没开long long

吃一一一一一一一一一一一一一一一一一一一一······堑长一智

#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<string>
#include<queue>
using namespace std;
typedef long long LL;
LL a[200200];
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int t;
    cin>>t;
    while(t--)
    {
        LL n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++)
            cin>>a[i];
        sort(a+1,a+1+n);
        reverse(a+1,a+1+n);
        LL sum=a[1]+1;
        for(int i=1;i<n;i++)
            sum+=a[i]+1;
        //cout<<sum<<endl;
        if(m>=sum) cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
    return 0;
}

Problem - C - Codeforces

题目大意:a数组给定,b数组初始化全为0。操作选其一:要么把a[i]搬到b[i]的位置上,要么把a[i]从b[i]的位置上减去。目的是把b变成严格上升序列,求最小步数。

无论怎么搞都只能有1个0,白给的当然要。那么就是要确定0的位置在哪里?

都跑一遍不就行了。

?input

5
1 2 3 4 5

output

4

input

7
1 2 1 2 1 2 1

output

10

input

8
1 8 2 7 3 6 4 5

output

16

长知识了:

0x3f3f3f3f还是在int的范围内,如果遇上long long,开1e18才能拿下

(wa了四五发留下的惨痛教训,还好debug成功了,不然彻夜无眠应该是会)?

#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<cstring>
#include<string>
#include<queue>
using namespace std;
typedef long long LL;
LL a[200200];
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    LL n;
    cin>>n;
    for(LL i=1;i<=n;i++)
        cin>>a[i];
    LL minn=1e18;
    LL flag=0;
    while(flag<=n)
    {
        LL sum=0,last=0;
        for(LL i=flag+1;i<=n;i++)
        {
            if(a[i]>last) sum++,last=a[i];
            else
            {
                LL num=last/a[i]+1;
                sum+=num,last=num*a[i];
            }
        }
        last=0;
        for(LL i=flag-1;i>=1;i--)
        {
            if(a[i]>last) sum++,last=a[i];
            else
            {
                LL num=last/a[i]+1;
                sum+=num,last=num*a[i];
            }
        }
        minn=min(sum,minn);
        flag++;
    }
    cout<<minn<<endl;
    return 0;
}

加油!

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:17:37  更:2022-04-22 18:20:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:43:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码