Codeforces Round #723 (Div. 2)

Codeforces Round #723 (Div. 2).md 立即下载

A Mean Inequality

题目大意

给你一个数n和2n个数,把这2n个数凑成一个环,且每个数都不等于左右两边的数的和的一半,求出一个数的排列

主要思路

首先考虑怎么才能让当前数不等于左右两边的数的和的一半,如果左右两边的数都大于或者小于当前数,那么一定不会出现当前数等于左右两边的数的和的一半,所以我们把数组排序,然后取一个最大的数放在第一个位置,取一个最小的数放在第二个位置,取次大的数放在第三个位置…以此类推, 由于题目保证一定有解这种构造方法一定正确

#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <stack>
#include <string>
#include <cmath>
#include <unordered_map>
#include <queue>
using namespace std;

#define int long long
#define debug(a) cout << #a << " = " << a << endl;
#define x first
#define y second
typedef pair<int, int> P;

const int N = 30;
int n, a[2 * N];
int ans[2 * N];

signed main(void)
{
    std::ios::sync_with_stdio(false);
    int T;
    cin >> T;
    while(T--)
    {
        cin >> n;
        for(int i = 0; i < 2 * n; i++) cin >> a[i];
        sort(a, a + 2 * n);
        int cnt = 0;
        for(int i = 0, j = 2 * n - 1; i <= j; i++, j--)
        {
            ans[cnt++] = a[j];
            ans[cnt++] = a[i];
        }
        for(int i = 0; i < 2 * n; i++) cout << ans[i] << ' ';
    }
    return 0;
}

B I Hate 1111

题目大意

有11,111,1111…这些数,给你一个数x,问你是否x能被这些数凑成

主要思路

定理:a和b互质那么他们不能凑出的最大数是a*b-a-b

我们用这个性质算出11和111不能凑出的最大数是1099,那么!!大于1099的数都能凑出来!!

小于1099的直接打表即可

#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <stack>
#include <string>
#include <cmath>
#include <unordered_map>
#include <queue>
using namespace std;

#define int long long
#define debug(a) cout << #a << " = " << a << endl;
#define x first
#define y second
typedef pair<int, int> P;

const int N = 2010;
int f[N];

signed main(void)
{
    std::ios::sync_with_stdio(false);
    int T;
    cin >> T;
    for(int i = 0; i * 11 <= 1099; i++)//计算出前1099有哪些数能被凑成
    {
        for(int j = 0; i * 11 + j * 111 <= 1099; j++)
        {
            f[i * 11 + j * 111] = 1;
        }
    }
    while(T--)
    {
        int x;
        cin >> x;
        if(x > 1099) puts("YES");
        else
        {
            if(f[x]) puts("YES");
            else puts("NO");
        }
    }
    return 0;
}
C Potions (Hard Version)

C2和C1区别仅为数据范围不同,那么直接冲C2

题目大意

给你n个数,你的初始健康值为0,从左到右选择,你可以选当前数或者不选当前数,唯一的要求是你的健康值不能为负数,问最多能选择的数的个数

主要思路

反悔型贪心。

首先我们用一个小根堆(优先队列)存储当前已经选择的负数的数有哪些。

  • 假设选择当前数后健康值小于0,那么当前数一定是负数,那么我们先选择当前数,并且放入优先队列中,然后在优先队列中找出负数中最小的数,并且不选择此数即可
  • 假设选择当前数后健康值大于等于0,那么也选择这个数,如果该数为负数,则放入优先队列
#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <stack>
#include <string>
#include <cmath>
#include <unordered_map>
#include <queue>
using namespace std;

#define int long long
#define debug(a) cout << #a << " = " << a << endl;
#define x first
#define y second
typedef pair<int, int> P;

const int N = 200010;
int f[N][2], g[N][2], a[N], n;

signed main(void)
{
    std::ios::sync_with_stdio(false);
    cin >> n;
    for(int i = 0; i < n; i++) cin >> a[i];

    priority_queue<int, vector<int>, greater<int>> q;
    int res = 0;
    int s = 0;
    for(int i = 0; i < n; i++)
    {
        if(s + a[i] < 0)
        {
            q.push(a[i]);
            s += a[i];
            int t = q.top();
            s -= t;
            q.pop();
        }
        else
        {
            s += a[i];
            res++;
            if(a[i] < 0) q.push(a[i]);
        }
    }
    cout << res << endl;
    return 0;
}

D题放一放,会了再补充!

从零到一:如何用GraphRAG Visualizer打造你的第一个3D知识图谱 本文详细介绍了如何使用GraphRAG Visualizer从零开始构建3D知识图谱,涵盖环境准备、Parquet数据处理、可视化操作及高级分析功能。通过简洁的步骤和实用技巧,帮助用户快速掌握这一强大的知识图谱可视化工具,提升数据分析和关系挖掘效率。 阅读详情

相关推荐

本地AI代码助手:智能解析大型代码库,实现自动化重构与理解

在软件开发中,大型代码库的理解与维护是常见挑战。传统方法依赖人工阅读和有限上下文工具,效率低下。通过结合检索增强生成(RAG)和多智能体(Multi-Agent)架构,现代AI工具能够智能解析代码结构,理解模块关系,并精准定位相关代码片段。这种技术不仅能提升代码探索效率,还能自动化执行重构、文档生成等任务,在遗留系统维护、快速上手新项目等场景中发挥关键作用。本文以blackboxaicode/cli为例,展示了如何利用其代码感知和Workflow Automation能力,高效处理复杂代码库。

weixin_30240349的博客 365

2021.5.28 Codeforces Round #723 (Div. 2)

2021.5.28 Codeforces Round #723 Div. 2A. Mean Inequality题目InputOutput分析题意上代码反思B. I Hate 1111题目InputOutput分析题意上代码反思 A. Mean Inequality 题目 You are given an array a of 2n distinct integers. You want to arrange the elements of the array in a circle such that n

qinian1841128521的博客 959

龙芯3A5000开发板PMON升级UEFI固件实战指南

固件是计算机硬件与操作系统之间的关键桥梁,负责初始化硬件并引导系统启动。其工作原理是在上电后执行自检、加载引导程序,最终将控制权移交操作系统。在国产化平台中,采用标准化的UEFI固件具有重要技术价值,它能提供图形化配置界面、统一硬件驱动模型,并支持安全启动等现代特性,从而显著提升硬件兼容性与系统管理效率。这一技术广泛应用于PC、服务器及嵌入式设备,尤其在需要运行银河麒麟等主流操作系统的龙芯开发板场景中,将传统PMON固件升级至UEFI,能实现更流畅的系统安装与更稳定的运行体验。本文基于固件升级与UEFI引导

weixin_42664597的博客 562

Codeforces Round #723 (Div. 2) 个人题解

上1400辣! A. Mean Inequality 题意 给一个长度为偶数的数组,你需要重排这个数组,使得任意一个数不等于他前后两个数的平均值。 分析 只需保证数组元素为 小 - 大 - 小 - 大,则两个小的平均值一定不为大,两个大的平均值一定不为小。这个条件的构造方法很多,可以排序后奇偶位互换,也可以排序后分成前半和后半,然后轮流输出。 代码 #include <bits/stdc++.h> #define fors(i, a, b) for(int i = (a); i <= (b

qq_39561693的博客 798

别再到处找模型了!手把手教你将TI、ADI官网的SPICE模型导入LTspice(附路径避坑指南)

本文详细介绍了如何将TI、ADI官网的SPICE模型导入LTspice的全流程,包括模型获取、路径配置、符号生成等关键步骤,并提供了路径避坑指南。通过实战案例和技巧分享,帮助电子工程师高效利用外部元器件模型进行电路仿真,提升设计效率。

weixin_42535703的博客 406

ROS 2实战:用MoveIt Task Constructor让机械臂完成抓取任务(附避坑指南)

本文详细介绍了如何在ROS 2环境中使用MoveIt Task Constructor框架,为Franka Panda机械臂构建一个完整的拾取放置任务流水线。通过分解任务阶段、配置规划器并处理实际部署中的常见问题,帮助开发者从基础运动规划升级到可靠的多步骤任务编排,并附有核心避坑指南。

vvv99的博客 507

2021-10-13 Codeforces Round #723 (Div. 2)

Codeforces Round #723 (Div. 2) A. Mean Inequality 题目入口 思路 构造,本题保证各个数字均不相同,所以将数组排序后,对奇数位从小到大插入,对偶数位从大到小插入,能保证偶数位的值不是所有前后位相加除以2。 代码 #include<bits/stdc++.h> using namespace std; const int N=55; int n,a[N]; int main() { int t; cin>>t; w

qq_40052678的博客 190

clock min pulse width检查

高电平脉宽 = clock fall edge到达FF/CK的时间 - clock rise edge到达FF/CK的时间;低电平脉宽 = 下一T clock rise edge到达FF/CK的时间 - clock fall edge到达FF/CK的时间。而required pulse width是根据FF/CK处的transition,根据查找表计算得到的。为什么clock transition越大,会导致required pulse width越大呢?5、 降低clock上的串扰。

芯冰乐 577

2021.7.30 Codeforces Round #723 (Div. 2)

A 分析题意 给一个数组,求该数组的一个排列,满足每一项不等于相邻两项的平均值。 Example inputCopy 3 3 1 2 3 4 5 6 2 123 456 789 10 1 6 9 outputCopy 3 1 4 2 5 6 123 10 456 789 9 6 Note In the first testcase, array [3,1,4,2,5,6] works, as it’s a permutation of [1,2,3,4,5,6], and 3+42≠1, 1+22≠4, 4

supreme567的博客 228

C#上位机开发揭秘:从新手到大神的蜕变之路,代码实例全解析!

上位机通常是与硬件设备(如嵌入式系统、PLC、传感器等)进行通信的计算机程序。它的作用是通过某种通信协议(如串口、TCP/IP 等)向设备发送命令,并接收设备的反馈数据。上位机需要有一个图形用户界面(GUI)来展示数据或控制硬件设备。通过本篇教程,我们介绍了 C# 上位机开发的基本步骤,从串口通信的实现,到图形用户界面的构建,再到进阶功能的实现。作为上位机开发的新手,掌握这些基础知识是非常重要的。而随着经验的积累,你可以逐步尝试更复杂的功能,比如多线程处理、数据分析与存储等。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 4828

推荐系统[一]:超详细知识介绍,一份完整的入门指南,解答推荐系统相关算法流程、衡量指标和应用,以及如何使用jieba分词库进行相似推荐,业界广告推荐技术最新进展

推荐算法其实本质上是一种信息处理逻辑,当获取了用户与内容的信息之后,按照一定的逻辑处理信息后,产生推荐结果。热度排行榜就是最简单的一种推荐方法,它依赖的逻辑就是当一个内容被大多数用户喜欢,那大概率其他用户也会喜欢。但是基于粗放的推荐往往会不够精确,想要挖掘用户个性化的,小众化的兴趣,需要制定复杂的规则运算逻辑,并由机器完成。召回:当用户以及内容量比较大的时候,往往先通过召回策略,将百万量级的内容先缩小到百量级。

丨汀、的博客 7591

Codeforces Round #723 (Div. 2) 题解A-C2

A. Mean Inequality 分析:很简单的构造。 代码: #include <iostream> #include <algorithm> #include <vector> using namespace std; const int N = 100; int a[N], b[N]; int main() { int t; cin >> t; while(t--) { int n; cin >>

Arctic_Clam的博客 463

OsgEarth —— 笔记6 - 开发阶段加入漫游飞行(附源码)

效果      视频地址   源码 源码下载请私信   代码      代码相关内容:           OSG —— 笔记1 - 指令调用模型           OsgEarth —— 笔记1 - 创建地球的earth文件           OsgEarth —— 笔记2 - Qt窗口加载earth地球(附源码)           OsgEarth —— 笔记3 - 为地

1896

Codeforces Round #723 (Div. 2) B. I Hate 1111 (数学)

题目链接:https://codeforces.com/contest/1526/problem/B 题目大意: 判断一个数字,能否由数字,任意组合相加构成。 例如: 33=11+11+11 144=111+11+11+11 题解: 方法1: 1111,11111....后面的数,都可以由11,111两个数字组合而成。因此真正有效的数字就是11和111 因此,我可以这样表示x, 我们只需要判断这个方程是否同时大于等于0的解即可。 我们可以用扩展欧几里得求得方程的解的方程式,判断a,b是

madaidao的专栏 493

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Codeforces Round #723 (Div. 2) 题解

#723A - Mean InequalityB - I Hate 1111C1 - Potions (Easy Version)C2 - Potions (Hard Version) 晚上再补题吧 A - Mean Inequality 题目链接 答案 #include <iostream> #include <algorithm> #include<bits/stdc++.h> #define ll long long #define mem(a,b) memset(

qq_45830025的博客 556

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Codeforces Round #723 (Div. 2) A~C题解

A. Mean Inequality 题目大意 给你一个长度为2n2n2n的数组,重新编排顺序使得环状的bi−1+bi+12!=bi\frac{b_{i-1}+b_{i+1}}{2}!=b_i2bi−1​+bi+1​​!=bi​。 解题思路 将数组从小到大排序,我们构造按大小大小的顺序依次构造即可,这很容易证明符合题目要求。 AC代码 /** *@filename:A_Mean_Inequality *@author: pursuit *@csdn:unique_pursuit

pursuit的博客 603

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

[补题] Codeforces Round #723 (Div.2)

目录前言:A. Mean Inequality题意思路:Code: 前言: 幸好今天这场没打,不然掉大分,好久没打了,什么感觉都没了 A. Mean Inequality 题意 给你一个数组a || 让你变换a成b b满足如下 思路: 既然是 bi-1 + bi+1 / 2 不等于bi 所以就可以想一下也就是 bi-1+bi+1 两个数的平均值比bi大 ,然后不妨我们假设 是否是两大夹一小 这种情况 然后通过看样例 还真是 所以我们就可以把数组分为两组 然后交叉的输出就行了 (没想到在补题的时候 输出卡

qq_34364611的博客 394

Codeforces Round #723 div.2 A-F题解

A. Mean Inequality 题目大意 给定一个包含 2n(1≤n≤25)2n(1 \leq n \leq 25)2n(1≤n≤25) 个不同的数的数组 aaa ,求数组 bbb 使其满足以下条件: bbb 是 aaa 的一种排列 ∀i∈[1,2n]\forall i \in [1,2n]∀i∈[1,2n] ,bi≠bi−1+bi+12b_i \neq \frac{b_{i-1}+b_{i+1}}{2}bi​​=2bi−1​+bi+1​​ ,其中 b0=b2nb_0=b_{2n}b0​=b2n​

月阁 1620

Codeforces Round #723 Div. 2个人代码

Codeforces Round #723 Div. 2个人代码 写出来四题,开心QWQ A. Mean Inequality 题意:给一个数n,然后给2*n个数,让我们构造一个数列满足数列中任意一项都满足 bi≠(bi−1+bi+1)/2 其中满足相同的数最多n项 题目解析:只需要先将数组内的数排序,然后依次以1,n+1,2,n+2…这样输出。 #include<bits/stdc++.h> const int N=1e9+7; using namespace std; int n,t; i

qq_54017368的博客 334
上一篇: Codeforces Round #721 (Div. 2)
下一篇: 牛客小白月赛34
zhbbbb!
博客等级 码龄7年 43粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值