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

文章目录

  • A Dalton the Teacher
  • B Longest Divisors Interval
  • C2 Dual (hard Version)
  • D Earn or Unlock

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

A Dalton the Teacher

#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 + 1);int ans = 0;for(int i = 1; i <= n; i ++){cin >> a[i];if(a[i] == i)ans ++;}cout << (ans + 1) / 2 << endl;
}	signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin >> t;while(t--)solve();
}

B Longest Divisors Interval

#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
#define int long long
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
const int N = 1e5 + 10;void solve()
{int n;cin >> n;if(n <= 2){cout << n << endl;return;}for(int i = 1; i <= n; i ++){if((n % i) != 0){cout << i - 1 << endl;return;}}
}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin >> t;while(t--)solve();
}

C2 Dual (hard Version)

#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 add_1(vector<int>&a, vector<pii>&ans)
{for(int i = 0; i < a.size() - 1; i ++){a[i + 1] += a[i];ans.push_back({i + 1, i});}cout << ans.size() << endl;for(auto [a, b] : ans)cout << a + 1 << " " << b + 1 << endl;return;
}void add_2(vector<int>&a, vector<pii>&ans)
{for(int i = a.size() - 1; i >= 1; i --){a[i - 1] += a[i];ans.push_back({i - 1, i});}cout << ans.size() << endl;for(auto [a, b]: ans)cout << a + 1 << " " << b + 1 << endl;return;
}void solve()
{int n;cin >> n;vector<int>a(n);int p_max = 0, p_min = 0;int cnt_1 = 0, cnt_2 = 0;vector<pii>ans;for(int i = 0; i < n; i ++){cin >> a[i];if(a[p_max] < a[i])p_max = i;if(a[p_min] > a[i])p_min = i;if(a[i] < 0)cnt_2 ++;if(a[i] > 0)cnt_1 ++;}if(a[p_min] >= 0){add_1(a, ans);return;}if(a[p_max] <= 0){add_2(a, ans);return;}if(abs(a[p_max]) >= abs(a[p_min])){if(cnt_2 <= 12){for(int i = 0; i < n; i ++){if(a[i] < 0){a[i] += a[p_max];ans.push_back({i, p_max});}}add_1(a, ans);}else{for(int i = 0; i < 5; i ++){if(abs(a[p_min]) >= abs(a[p_max]))break;ans.push_back({p_min, p_min});a[p_min] += a[p_min];}for(int i = 0; i < n; i ++){if(a[i] > 0){a[i] += a[p_min];ans.push_back({i, p_min});}}add_2(a, ans);}}else{if(cnt_1 <= 12){for(int i = 0; i < n; i ++){if(a[i] > 0){a[i] += a[p_min];ans.push_back({i, p_min});}}add_2(a, ans);}else{for(int i = 0; i < 5; i ++){if(abs(a[p_max]) >= abs(a[p_min]))break;	a[p_max] += a[p_max];ans.push_back({p_max, p_max});}for(int i = 0; i < n; i ++){if(a[i] < 0){a[i] += a[p_max];ans.push_back({i, p_max});}}add_1(a, ans);}}}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin >> t;while(t--)solve();
}

D Earn or Unlock

#include<bits/stdc++.h>
#define endl '\n'
#define INF 0x3f3f3f3f
#define int long long
using namespace std;typedef long long ll;
typedef pair<int,int> pii;
const int N = 2e5 + 10;
bitset<N>f;
int n, a[N], sum[N];
void solve()
{cin >> n;for(int i = 1; i <= n; i ++)cin >> a[i];for(int i = 1; i <= 2 * n; i ++)sum[i] = sum[i - 1] + a[i];int ans = 0;f[1] = 1;for(int i = 1; i <= 2 * n; i ++){f |= (f << a[i]);if(f[i]){ans = max(sum[i] - i + 1, ans);f[i] = 0;}}cout << ans << endl;
}signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);solve();
}

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

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

相关文章

【Golang 接口自动化05】使用yml管理自动化用例

目录 YAML 基本语法 对象&#xff1a;键值对的集合(key:value) 数组&#xff1a;一组按顺序排列的值 字面量&#xff1a;单个的、不可再分的值&#xff08;数字、字符串、布尔值&#xff09; yml 格式的测试用例 定义yml文件 创建结构体 读取yml文件中的用例数据 调试…

基于 moleculer 微服务架构的智能低代码PaaS 平台源码 可视化开发

低代码开发平台源码 低代码管理系统PaaS 平台 无需代码或通过少量代码就可以快速生成应用程序的开发平台。 本套低代码管理后台可以支持多种企业应用场景&#xff0c;包括但不限于CRM、ERP、OA、BI、IoT、大数据等。无论是传统企业还是新兴企业&#xff0c;都可以使用管理后台…

vue全局遮罩

1.创建一个全局组件&#xff0c;例如Mask.vue&#xff0c;用于显示遮罩层的内容。 <template><div class"mask" v-if"show"><!-- 遮罩层的内容 --></div> </template><script> export default {data() {return {show…

Git下:Git命令使用-详细解读

今天给大家讲一讲 Git常用命令的使用说明&#xff0c;希望本篇文章对大家有所帮助。 一、Git 安装 Git 的详细安装教程&#xff1a;见上一篇文章《Git上&#xff1a;Git安装教程》&#xff1a; Git上&#xff1a;全网最全最详细的Git安装教程&#xff0c;建议收藏保存 二、…

Android Framework 之 ServiceManager

Android ServiceManager ServiceManager 在 Android 系统中扮演了核心的角色。主要负责跨进程通信&#xff08;IPC&#xff09;的管理和服务的注册与查找。 管理系统服务&#xff1a;ServiceManager 提供一个全局的服务注册表&#xff0c;用于存储所有的系统服务。一个服务一…

windows11编译VideoProcessingFramework库

1、下载VideoProcessingFramework Release v2.0.0 NVIDIA/VideoProcessingFramework GitHub 2、下载FFMPEG Releases BtbN/FFmpeg-Builds GitHub 推荐 ffmpeg-n4.4-latest-win64-lgpl-shared-4.4 3、下载CMAKE Download | CMake 4、下载visual studio 2019 Visual …

C# FTP下载 采用Ssh.Net方式

不要再用FTPClient了 nuget下载Ssh.Net 然后代码如下&#xff1a; /// <summary>/// SFTP操作类/// </summary>public class SFTPHelper{#region 字段或属性private SftpClient sftp;/// <summary>/// SFTP连接状态/// </summary>public bool Conne…

98. Python基础教程:try...except...finally语句

【目录】 文章目录 1. try...except...finally语法介绍2. try...except...finally执行顺序3. 捕获特定类型的异常4. 捕获所有类型的异常5. 实操练习-打开txt文件并输出文件内容 【正文】 在今天的课程中&#xff0c;我们将学习Python中的异常处理语句try...except...finally。 …

Oracle也有回收站

在数据库管理中&#xff0c;数据的删除是一个常见的操作。然而&#xff0c;有时候我们可能会意外地删除了一些重要的数据。幸运的是&#xff0c;Oracle数据库提供了一个类似于回收站的功能&#xff0c;可以帮助我们恢复被删除的数据。本文将介绍Oracle数据库中的回收站功能以及…

深度学习实际使用经验总结

以下仅是个人在使用过程中的经验总结&#xff0c;请谨慎参考。 常用算法总结 图像分类 常用算法&#xff08;可作为其他任务的骨干网络&#xff09;&#xff1a;服务端&#xff1a;VGG、ResNet、ResNeXt、DenseNet移动端&#xff1a;MobileNet、ShuffleNet等适用场景&#x…

如何使用fiddler进行抓包

首先需要下载fiddler&#xff0c;推荐使用bing搜索引擎搜索&#xff08;百度搜狗一般搜这种工具展示的前几个全都是广告&#xff09;&#xff0c;直接搜索fiddler&#xff0c;搜出来第一个fiddler官网 然后直接点击download下载 进入下载页面后&#xff0c;正确填写一个邮箱&a…

linux 动态库so相关操作

1. 查看库版本号 一般在文件名上有版本号&#xff0c;若文件名上没有版本号&#xff0c;使用如下命令查看&#xff1a; readelf -d libstdc.so 2. 查看库内函数 a) nm -d libstdc.so | grep 内容 b) objdump -tT libstdc.so | grep 内容 c) readelf -s libstdc.so | grep…

通用版Bubble_sort

❤博主CSDN:啊苏要学习 ▶专栏分类&#xff1a;C语言◀ C语言的学习&#xff0c;是为我们今后学习其它语言打好基础&#xff0c;C生万物&#xff01; 开始我们的C语言之旅吧&#xff01;✈ 目录 前言&#xff1a; 一.分析Bubble_sort 二.解决措施 三.模拟实现 前言&#xff…

【数据结构】带头+双向+循环链表(DList)(增、删、查、改)详解

一、带头双向循环链表的定义和结构 1、定义 带头双向循环链表&#xff0c;有一个数据域和两个指针域。一个是前驱指针&#xff0c;指向其前一个节点&#xff1b;一个是后继指针&#xff0c;指向其后一个节点。 // 定义双向链表的节点 typedef struct ListNode {LTDataType dat…

java判断字符串是否和空字符串(““)相等、是否和空引用(null)相等,比较顺序不同导致出现死代码(Dead code)

我在用Java实现需求的时候&#xff0c;用到了字符串跟空字符串&#xff08;“”&#xff09;比较&#xff0c;跟空引用null比较&#xff0c;两个比较语句的顺序不同&#xff0c;一个顺序出现了死代码&#xff08;Dead code&#xff09;。 下面这个代码片段&#xff0c;字符串li…

探秘二叉树后序遍历:从叶子到根的深度之旅

本篇博客会讲解力扣“145. 二叉树的后序遍历”的解题思路&#xff0c;这是题目链接。 本题的思路是&#xff1a; 先创建一个数组&#xff0c;用来存储二叉树后序遍历的结果。数组的大小跟树的结点个数有关。树的结点个数可以使用递归实现&#xff0c;即总个数左子树结点个数右…

如何将单体项目拆分成微服务

1、如何将单体项目拆分成微服务 如何拆分微服务&#xff1f;其实对不同的业务项目场景&#xff0c;对应有不同的拆分方案。需要项目人员详细的分析项目需求、团队现状、业务边界、业务逻辑等方方面面&#xff0c;拆分的粒度既不能过细&#xff0c;也不能过粗&#xff0c;需要把…

图像 检测 - FCOS: Fully Convolutional One-Stage Object Detection (ICCV 2019)

FCOS: Fully Convolutional One-Stage Object Detection - 全卷积一阶段目标检测&#xff08;ICCV 2019&#xff09; 摘要1. 引言2. 相关工作3. 我们的方法3.1 全卷积一阶目标检测器3.2 FCOS的FPN多级预测3.3 FCOS中心度 4. 实验4.1 消融研究4.1.1 FPN多级预测4.1.2 有无中心度…

Gis入门,根据起止点和一个控制点计算二阶贝塞尔曲线(共三个控制点组成的线段转曲线)

前言 本章讲解如何在gis地图中使用起止点和一个控制点(总共三个控制点)生成二阶贝塞尔曲线。 三阶贝塞尔曲线请参考下一章《Gis入门,使用起止点和两个控制点生成三阶贝塞尔曲线(共四个控制点)》 贝塞尔曲线(Bezier curve)介绍 贝塞尔曲线(Bezier curve)是一种数学…

Nim游戏博弈论

【模板】nim 游戏 题目描述 https://www.luogu.com.cn/problem/P2197 甲&#xff0c;乙两个人玩 nim 取石子游戏。 nim 游戏的规则是这样的&#xff1a;地上有 n n n 堆石子&#xff08;每堆石子数量小于 1 0 4 10^4 104&#xff09;&#xff0c;每人每次可从任意一堆石子…