Codeforces Round 882 (Div. 2)(视频讲解A——D)

news2024/12/23 23:34:47

@[TOC](Codeforces Round 882 (Div. 2)(视频讲解A——D))

讲解在B站:Codeforces Round 882 (Div. 2)(视频讲解A——D)
在这里插入图片描述

A The Man who became a God

#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = 1e5 + 10;

bool cmp(int x, int y)
{
	return x > y;
}
void solve()
{
	int n, k;
	cin >> n >> k;
	vector<int>a(n);
	for(int i = 0 ; i < n; i ++)
		cin >> a[i];
	vector<int>b(n - 1);
	int sum = 0;
	for(int i = 0; i < n - 1; i ++)
	{
		b[i] = abs(a[i] - a[i + 1]);
		sum += b[i];
	}
	sort(b.begin(), b.end(), cmp);
	for(int i = 0; i < k - 1; i ++)
	{
		sum -= b[i];
	}
	cout << sum << endl;
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--)
	solve();
}

B Hamon Odyssey

#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = 1e5 + 10;

void solve()
{
	int n;
	cin >> n;
	vector<int>a(n);
	for(int i = 0; i < n; i ++)
		cin >> a[i];
	int sum = a[0], ans = 0;
	for(int i = 0; i < n; i ++)
	{
		sum &= a[i];
		if(sum == 0)
		{
			sum = a[i + 1];
			ans ++;
		}
	}
	if(ans == 0)
	{
		cout << 1 << endl;
	}
	else
	{
		cout << ans << endl;
	}
}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--)
	solve();
}

C Vampiric Powers, anyone?

#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = 1 << 8 + 10;
int cnt[N];
void solve()
{
	memset(cnt, 0, sizeof cnt);
	
	int n;
	cin >> n;
	vector<int>a(n);
	for(int i = 0; i < n; i ++)
		cin >> a[i];
	cnt[0] = 1;
	int tmp = 0;
	int ans = 0;
	for(int i = 0; i < n; i ++)
	{
		tmp ^= a[i];
		for(int j = 0; j < 256; j ++)
		{
			if(cnt[j])
			{
				ans = max(ans, j ^ tmp);
			}
		}
		cnt[tmp] = 1;
	}
	cout << ans << endl;

}

signed main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--)
	solve();
}

D Professor Higashikata

#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = 3e5 + 10;
int p[N], tr[N], f[N];
int n, m, q;

int find(int x)
{
    if(x != p[x])
        p[x] = find(p[x]);
    return p[x];
}

int lowbit(int x)
{
    return x & (-x);
}

void add(int pos, int x)
{
    for(int i = pos; i <= n; i+= lowbit(i))
    {
        tr[i] += x;
    }
}

int query(int pos)
{
    int res = 0;
    for(int i = pos; i; i -= lowbit(i))
        res += tr[i];
    return res;
}

void solve()
{
    cin >> n >> m >> q;
    string s;
    cin >> s;
    s = " " + s;
    int cnt = count(s.begin(),s.end(),'1');
    for(int i = 1; i <= n + 1; i ++)
    {
        p[i] = i;
    }
    int tot = 0;
    for(int i = 0; i < m; i ++)
    {   
        int l, r;
        cin >> l >> r;
        for(int j = find(l); j <= r; j = find(j))
        {
            p[j] = j + 1;
            f[j] = ++tot;
            if(s[j] == '1')
            {
                add(f[j], 1);
            }
        }
    }

    while(q--)
    {
        int x;
        cin >> x;
        if(f[x])
        {
            if(s[x] == '1')
            {
                s[x] = '0';
                cnt --;
                add(f[x], -1);
            }
            else
            {
                s[x] = '1';
                cnt ++;
                add(f[x], 1);
            }
        }
        else
        {
            if(s[x] == '1')
            {
                s[x] = '0';
                cnt --;
            }   
            else
            {
                s[x] = '1';
                cnt++;
            }
        }
        if(cnt >= tot)
        {
            cout << tot - query(tot) << endl;
        }
        else
        {
            cout << cnt - query(cnt) << endl;
        }
    }
}

signed main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    solve();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/748374.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

k8s 大量 pod 处于 ContainerStatusUnknown 状态

如图所示&#xff0c;nexus 正常运行&#xff0c;但产生了大量的状态不明的 pod&#xff0c;原因也无从所知 解决办法&#xff0c;删除多余的 pod&#xff0c;一个一个删除&#xff0c;非常费劲 获取 namespace 中状态为 ContainerStatusUnknown 的 pod&#xff0c;并删除 …

从零学习微服务

更新中&#xff0c;关注不断更… 这里讲的是基于springboot和springboot alibaba的微服务&#xff0c;Spring Boot和Spring Boot Alibaba都是基于Spring框架的开源框架&#xff0c;用于简化应用程序的开发和部署。 这篇文章里会介绍微服务的整体概念&#xff0c;目前国内常用的…

CSDN周赛62期反馈及简要题解

持续了十期的《计算之魂》主题周赛告一段落&#xff0c;可能上周就已经告一段落了&#xff0c;以致于也出现了重复的考题。这本书确实不错&#xff0c;里面提到的计算机思维我认为是理解和学习计算机科学的基础。第一次读此书的时候就一口气读到第八章&#xff0c;读到精彩之处…

漏洞复现 || Hadoop未授权访问反弹Shell漏洞

免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接…

ppt转pdf怎么转换?推荐这几种转换方法

ppt转pdf怎么转换&#xff1f;PPT转PDF可以确保演示文稿的格式、布局和字体在不同设备上的一致性。PDF文件在不同操作系统和软件中都能以相同的方式呈现&#xff0c;避免了因PPT文件打开时出现格式错误或乱码。可能很多人还不知道如何进行转换&#xff0c;下面就给大家推荐几种…

gitee 使用

1.打开git bash 2.cd 进入到合适位置 3.git clone 项目 4.配置用户名和email&#xff08;不然没法记录谁操作的&#xff09;

unordered系列的底层结构——哈希表

目录 哈希概念 哈希冲突 哈希函数 解决哈希冲突的方法 闭散列 线性探测 线性探测的实现 ​编辑 二次探测 开散列 开散列概念 开散列的实现 开散列增容 开散列的思考 哈希概念 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xf…

https证书已经部署到宝塔,但访问网站还显示不生效问题解决

先说解决方法&#xff1a;重启Nginx服务器即可&#xff0c;可以在宝塔面板右上角直接重启即可解决。 过程 腾讯云的https免费证书只有一年有效期&#xff0c;而且续期不能在原证书上续&#xff0c;只能替换。但是我替换后&#xff0c;访问网站异常。如下图&#xff1a; 可以看…

TypeScript 中的【声明合并】规则

概念&#xff1a; 在TS中&#xff0c;如果定义了多个相同命名的函数&#xff0c;接口或者class 类&#xff0c;那么它们会自动合并成一个类型 函数的合并&#xff1a; 前面章节讲解的函数重载就是使用了定义多个函数的类型进行合并&#xff1a; function reverse(x: number):…

UE4 关于使用Webbrowser插件遇到的问题以及解决办法

1.无法播放网页视频&#xff0c;这是因为UE4的WebBrowser自带的cef3为3071版本&#xff0c;默认不支持h264等直播流&#xff0c;导致web里的直播流无法播放 解决办法&#xff1a;第一种办法&#xff0c;重新编译了cef源码&#xff0c;改成支持H.264&#xff0c;然后在UE4安装目…

2023AU软件,Adobe Audition 全系列软件下载安装教程

Audition 是一款强大的音频编辑软件&#xff0c;能够帮助用户实现各种音频剪辑和混音操作。下面是关于Audition 2023软件的安装教程&#xff0c;供大家参考。 步骤一&#xff1a;下载Audition 通过全系列网站下载或者百度网盘下载都行 步骤二&#xff1a;运行安装程序 下载…

node版本安装包大全

node所有的版本&#xff1a; https://nodejs.org/dist/

利用ChatGPT场景化学习英语听说读写

大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加我&#xff0c;备注&#xff1a;chatgpt&#xff0c;拉你进群。 我们从初中就开始学习英语&#xff0c;到大学也有小十年&#xff0c;在这个过程中&#xff0c;我们投入了很…

Java OkHttp3 异常:gzip finished without exhausting source 解决办法

今天在开发中遇见一个问题&#xff0c;同样一个请求&#xff0c;okhttp调用时候&#xff0c;报错gzip finished without exhausting source&#xff0c;浏览器和postman确是正常返回结果 String getsync OkHttpUtils.builder().url(wfsSearchUrl)// .addHeader("Accept-E…

【线程池管理工具-Hippo4j】

&#x1f680; 线程池管理工具-Hippo4j &#x1f680; &#x1f332; AI工具、AI绘图、AI专栏 &#x1f340; &#x1f332; 如果你想学到最前沿、最火爆的技术&#xff0c;赶快加入吧✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;CSDN-Java领域优质创作者&#…

【 -bash: /usr/bin/id: 参数列表过长】

这个错误提示说明在执行 /etc/profile 或者 /etc/profile.d 目录下的脚本时&#xff0c;出现了参数列表过长的问题。这可能是由于环境变量或者执行的命令导致的。 要解决这个问题&#xff0c;可以尝试以下方法&#xff1a; 检查脚本内容&#xff1a;检查 /etc/profile 和 /et…

java后端接口API性能优化技巧

微信公众号访问链接&#xff1a;java后端接口API性能优化技巧 推荐文章&#xff1a; 1、springBoot对接kafka,批量、并发、异步获取消息,并动态、批量插入库表; 2、SpringBoot用线程池ThreadPoolTaskExecutor异步处理百万级数据; 3、SpringBoot用线程池ThreadPoolExecutor处理…

如何利用PLC远程通讯模块搭建PLC远程控制系统

随着工业自动化的快速发展&#xff0c;PLC&#xff08;可编程逻辑控制器&#xff09;作为重要的控制设备&#xff0c;被广泛应用于工厂和生产线的自动化控制系统。然而&#xff0c;传统的PLC控制系统受限于物理连接和局域网范围内的限制&#xff0c;无法实现远程监控和控制&…

RabbitMQ 常用 API

RabbitMQ 常用 API Connection 和 Channel 的创建、关闭 创建 Connection ConnectionFactory factory new ConnectionFactory(); // 方式1&#xff1a;通过设置参数创建 factory.setHost(IP_ADDRESS); factory.setPort(PORT); factory.setUsername("guest"); facto…

STM32 Proteus仿真可设置时间红绿灯-0075

STM32 Proteus仿真可设置时间红绿灯-0075 Proteus仿真小实验&#xff1a; STM32 Proteus仿真可设置时间红绿灯-0075 功能&#xff1a; 硬件组成&#xff1a;STM32F103C6单片机 74HC595串入并出芯片4个2位数码管显示十字路口红绿灯时间多个按键 1.包含机动车指示灯(红、黄、…