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 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Codeforces Round #703 (Div. 2) AB -> 正文阅读

[数据结构与算法]Codeforces Round #703 (Div. 2) AB

A

有N个堆栈,每个栈都有非负数。
可以进行操作将正数的第i个堆栈减一,传递给下一个堆栈i+1。
操作可以进行任意次。

判断能否让堆栈严格递增。

题解思路

贪心,
考虑最极端的情况,堆栈的最小的情况数从0开始到n-1。
如果前面有多的话,可以将数字全部转移到最后一个堆栈,也符合严格递增。
如果前面有少的话,那就不行了,因为无法给前面补充元素。

用两个前缀和判断就行了。
添加堆栈的时候,判断有没有少元素。

AC代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <map>

using namespace std;

int main ()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n ,book = 1 ;
        long long sum1 = 0 ,sum2 = 0 ;
        cin>>n;
        for (int i = 1 ; i <= n ; i++ )
        {
            int k;
            cin>>k;
            sum1 += k;
            sum2 += (i-1);
            if ( sum1 < sum2 )
            {
                book = 0;
                continue;
            }
        }
        if (book)
            cout<<"YES\n";
        else
            cout<<"NO\n";
    }
    return 0;
}

B

在二维坐标中给出任意点,求满足与全部点距离之和最小的点有多少个。

题解思路

这里是绝对值之和,千万不要想错了。

绝对值不等式

分成X Y两部分来处理。

当数轴上奇数个点的时候,满足和最小且相等的只有一个点,而偶数则是区间。 找规律。
直接排序,求出符合的区间相乘即可。

中位数构成的区间,满足和最小且相等。

AC代码

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <map>

using namespace std;

long long  a[1010];
long long  b[1010];

int main ()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        for (int i = 1 ; i <= n ; i++ )
            cin>>a[i]>>b[i];
        sort(a+1,a+1+n);
        sort(b+1,b+1+n);
        if( n % 2 == 1 )
            cout<<"1\n";
        else
            cout<<(a[n/2+1]-a[n/2] + 1 )*(b[n/2+1]-b[n/2] + 1)<<"\n";
    }
    return 0;
}

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:28:07  更:2021-07-15 16:28:18 
 
开发: 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/25 16:24:16-

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