首页 > 其他分享 >牛客周赛60

牛客周赛60

时间:2024-09-18 11:01:34浏览次数:10  
标签:周赛 int ll cin long 60 牛客 using now

A 困难数学题

一个数异或其本身就是0,直接输出0就好

B 构造序列

正负数要相邻,那最长的序列肯定是数量最多的数放第一个,例3a2b ,a baba,ba为一组,最后结果为少的数的两倍+最开始的那个数,特判两数相等情况

点击查看代码
ll a, b;
    cin >> a >> b;
    if (a < b)
    {
        swap(a, b);
    }
    if (a == b)
    {
        cout << a + b;
        return 0;
    }
    cout << b + b + 1;
C 连点成线

思路是开四个数组分别存对于每个x的最大最小y和对于每个y的最大x和最小x,只要对于每个x或y其对应的最大最小值不相等,就代表这条线有两个点,进行计算,反之不行

点击查看代码
/* 台州第一深情 */
#include <bits/stdc++.h>
using namespace std;
using i64 = long;
using ll = long long;
typedef pair<int, int> PII;
const int N = 1e6 + 5;
int a[N]; // 最小y
int b[N];
int a1[N]; // 最大y
int b1[N];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n, m;
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
    {
        a[i] = INT_MAX;//最小值初始化为最大INT,最大值初始化为0
        b[i] = INT_MAX;
    }
    for (int i = 1; i <= m; i++)
    {
        int x, y;
        cin >> x >> y;
        a[x] = min(a[x], y);//更新对于每个x的最小y值
        b[y] = min(b[y], x);
        a1[x] = max(a1[x], y);//对于每个x的最大y值
        b1[y] = max(b1[y], x);
    }
    int max1 = 0;
    for (int i = 1; i <= n; i++)
    {
        if (a1[i] != a[i])//如果最小值跟最大值不相等则代表这跟轴上至少有两个点可以连成线,更新答案
        {
            max1 = max(max1, a1[i] - a[i]);
        }
        if (b1[i] != b[i])
        {
            max1 = max(max1, b1[i] - b[i]);
        }
    }
    cout << max1;
    return 0;
}
D 我们N个真是太厉害了

注:表示的是n以内的任何一个整数。
思路:先对整个数列进行排序,当多举几个例子会发现,前面i-1的数加起来+1小于等于i的数,那小于等于i的数则可以用前i-1的数凑,而对于i之后的数则可以用i来凑,所以最大组成应该是i的数加上前面所有数的和。例如1 1 2 5,会发现,当加到5的时候,和为4,而对于5之前的数都可以表示出来,5则可以用5单独表示,而且对于所有数之和也就是9以内的数都可以凑出来。

点击查看代码
/* 台州第一深情 */
#include <bits/stdc++.h>

using namespace std;
using i64 = long;
using ll = long long;
typedef pair<int, int> PII;
const int N = 2e5 + 5;
//1 2 3 5 10
// 1 2 4
//1 1 2 2 4 10  
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t;
    cin >> t;
    while (t--)
    {
        int n;
    cin >> n;
   ll a[N];
    for(int i = 0; i < n; i++){
        cin >> a[i];
    }
    sort(a+0, a+n);
    ll now = 1;//now表示的是当前无法被表示的最小值
    for(int i = 0; i < n; i++){
        if(a[i] > now){//如果a[i]大于now,说明a【i】对于组成now没有帮助,而因为now是i之前的所有数之和+1,所有now无法被表示
            break;
        }
        now += a[i];重新更新now为前面所有a【i】和+1
    }
    if(now > n)//因为只要n以内的,所以只跟n比较(因为没看到n,wa了好几次)
        cout << "Cool!" << '\n';
    else
        cout << now << '\n';因为now定义为1,所以如果无法被表示,那now就是无法被表示的最小值
    }

    return 0;
}

标签:周赛,int,ll,cin,long,60,牛客,using,now
From: https://www.cnblogs.com/tzstlove/p/18417978

相关文章

  • 代码随想录Day4 | LeetCode 24. 两两交换链表中的节点、LeetCode 19. 删除链表的倒数
    LeetCode24.两两交换链表中的节点递归思想#Definitionforsingly-linkedlist.#classListNode:#def__init__(self,val=0,next=None):#self.val=val#self.next=nextclassSolution:defswapPairs(self,head:Optional[ListNode......
  • LeetCode415周赛T2 +T3
    最高乘法得分动态规划解决从数组b中选择下标的问题题目描述给你一个大小为4的整数数组a和一个大小至少为4的整数数组b。你需要从数组b中选择四个下标i0,i1,i2,和i3,并且要求满足i0<i1<i2<i3。你的得分将是:a[0]*b[i0]+a[1]*b[i1]+a[2]*b......
  • CL260 学习笔记(一)
    RHCA课程须知Ceph原理及架构......
  • update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 60 详细解释这个命
    update-alternatives是一个在Linux系统(尤其是Debian系列,包括Ubuntu)上用于管理多个相同功能的软件版本的命令。它让你可以在系统中安装多个版本的同一个程序(例如多个版本的GCC),并通过优先级和符号链接来控制默认使用哪个版本。让我们详细解释一下以下命令的作用:sudoup......
  • stm32f103 MPU6050利用DMP进行姿态解算(硬件iic,hal库)
    ​最近在捣鼓平衡车,需要用到MPU6050进行姿态解算,参考了一些文章,也自己解决了一些问题参考:2_小学生都能搞定的MPU6050DMP库向STM32HAL库的移植_哔哩哔哩_bilibili由于在移植的时候用的DMP是官网下载,所以和视频的讲解有些许不同的地方,如果所有资料都是按照视频中来的话,理论上是......
  • 殡葬花圈多少钱一个 60元 80-120元不等
    殡葬花圈多少钱一个一个*普通的纸质花圈,参考售价在60元左右,稍微好一些的花圈,价格会在80元-120元之间不等。家属可以根据葬礼的实际情况,选择不同规格、不同价格的花圈布置告别厅,如果是买花圈送行,建议鲜花花圈好一些。纸花圈,布花圈因为材料等原因,价格相对于新鲜菊花制作......
  • 力扣第 415 场周赛
    3289.数字小镇中的捣蛋鬼数字小镇Digitville中,存在一个数字列表 nums,其中包含从 0 到 n-1 的整数。每个数字本应 只出现一次,然而,有 两个 顽皮的数字额外多出现了一次,使得列表变得比正常情况下更长。为了恢复Digitville的和平,作为小镇中的名侦探,请你找出这两个......
  • Springboot工厂生产过程管理602ww程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题名称工厂生产过程管理优化研究二、研究背景与意义随着市场竞争的日益激烈,工厂生产效率、成本控制及产品质量成为企业生存与发展的关键。......
  • 60.《Java集合框架-List-Set-Map》
    此篇所写不知道你们是否在网页开发的时候当看到要写Map集合什么HashMap之类的突然蒙了虽然之前学过突然让你调用方法懵了所以在此总结一下以备后需对比数组可存储任意类型对象且存储长度是可以变的集合类乃内存层面对数据进行存储数据库是持久层断电后仍长期存在......
  • ORA-600 16703故障再现---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:ORA-60016703故障再现作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]从第一次发现ORA-60016703(警告:互联网中有oracle介质被注入恶意程序导致—ORA-60016703)至今已经7年多时间......