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题放一放,会了再补充!

【AUTOSAR-IpduM】-3.1-配置一个发送Tx Dynamic Container PDU(Multiple-PDU) 手把手教您如何配置一个Tx Dynamic Container PDU(Multiple-PDU),动态容器复用帧。并附上测试LOG帮助您进一步加深理解。 阅读详情

相关推荐

【scp】Windows 下scp报错 bad permissions

Windows 下使用 SSH 连接报 Bad owner or permissions on C:\\Users\\Administrator/.ssh/config 错误问题解决 C:\Users\Administrator>scp -P 66666 D:\1111.pdf zzd@58.213.45.xx:/home/zzd/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING:...

走在搬砖的路上! 4154

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

域控制器开发避坑实录:从硬件设计到软件集成的5个关键挑战

本文深入剖析了域控制器开发中的5大关键挑战,从硬件选型到软件集成,涵盖智能驾驶芯片选择、实时性优化、AUTOSAR架构适配等核心问题。通过实战案例和数据对比,为工程师提供避坑指南,助力提升开发效率和系统可靠性。

weixin_29258297的博客 395

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

方法二:旋转机械动平衡精度计算

本文以实际案例为基础,系统阐述基于ISO 1940标准的动平衡精度G GG等级计算方法。通过角速度转换、许用剩余不平衡量e p e r e_{per}e per ​ 推导及G GG等级公式应用,结合惯性力偶矩、转子质量等参数,得出某转子系统的动平衡精度为G 40 G40G40。文中详细解析了公式原理与参数单位转换要点,并附完整ISO 1940动平衡等级参考表,为工程师提供从理论到实践的完整解决方案。研究结果表明,该方法可有效量化旋转机械的平衡精度,适用于风机、泵类等中低速设备的设计与调试,对提升设备运行

weixin_46153372的博客 921

史上最全的Logisim运算器实验教程(基于华中科技大学计算机组成原理实验)

本博客是实现了Logisim的运算器设计,有具体的运算器设计的思路和运算器设计的电路,适合一步一步的按照思路做。

qq_62325622的博客 4万+

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

【FOC无刷电机控制】六步换向、FOC,STM32cubemx从零开始搭建BLDC六步换相代码、FOC代码(基于霍尔传感器)

FOC、六步换相,无刷电机控制

xifan的博客 3万+

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

dify安装ollama插件及OLLAMA模型添加失败问题完整解决方法

plugin_daemon-1 | 2025/05/10 17:37:36 stdio.go:160: [INFO]plugin langgenius/ollama:0.0.6: Installed model: ollama 提示ollama安装成功,再添加模型就不会有问题了。安装dify1.2.0和1.3.1均出现OLLAMA插件安装失败或插件安装后添加模型失败的问题,具体表现为一是添加ollama插件时没反应,需要二次添加才成功;二是添加模型时点保存报500错误或点保存后没反应,无法成功添加。

symstandsun的博客 9078

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)新增用户和用户角色权限

解决RabbitMq登录时报出Not management user(Login failed)错误以及rabbitmqctl(RabbitMq)查看用户权限、新增用户和用户角色权限。

念兮为美 7479

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

MATLAB从入门到精通-APP调用simulink中的参数,并且修改,将结果返回到APP中

本次案例为以下微分方程: 其中方程的初始值为: Step1:搭建simulink文件,如下图所示: 初始值配置在积分模块中,如下图所示: Step2:制作app 操作视频: ,时长01:11 代码: 本文包括APP如何回调simulik中d的参数,以及把simulink中的仿真结果输出到APP中的绘图界面中。 核心代码如下: ...

wenyusuran的专栏 3042

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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、付费专栏及课程。

余额充值