2023 Shandong Provincial Collegiate Programming Contest

2023 ICPC 网络赛 第一场 部分题解 (待完善) ch1 即上一层所有字符的方案数 - 上一层ch1的方案数。2.所有连通块都是满连通块。 阅读详情

D. Fast and Fat(2023 ICPC 山东省赛)(二分+贪心检查)

题意:

        对于一个运动员 i ,他的速度是 vi,体重是 wi。如果运动员 j 的体重 wj <= wi,那么运动员 i 可以用原本的速度 vi 背着运动员 j 奔跑。如果 wj > wi,那么速度就变成了 vi - ( wi - wj ) (如果是负数,那么运动员 i 不能背着 j 奔跑)。

        给定一个T,代表有T组数据。每组数据第一行输入一个n,代表这个团队有n个人,后面n行,每行两个数vi,wi。运动员可以被背着跑,也不能不背着人跑。求这个团队奔跑起来后速度最慢的那个人  的速度最大值。

思路:

        我们可以发现,当vi+wi > vj+wj 时,i 一定可以背着 j 跑。

        考虑取速度最大值和最小值,然后不断二分找答案。

        在二分答案时,对于答案 x ,选出大于等于速度 x 的人当中 vi+wi 最高的几个人,分别去背着速度小于 x 的人当中 wi 最大的人奔跑。

代码:

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+5;
#define int long long
typedef pair<int, int>PII;
const int Max = 0x3f3f3f3f3f3f3f3f;
const int Min = -0x3f3f3f3f3f3f3f3f;
int n, m, k;
int T;
PII q1[N], q2[N];
queue<int>que, que2;
bool cmp(PII aa, PII bb)
{
    return aa.first+aa.second > bb.first+bb.second;
}
bool cmp2(PII aa, PII bb)
{
    return aa.second > bb.second;
}
int check(int x)
{
    while(que.size()) que.pop();   //多组输入,每次使用队列前都要清空
    while(que2.size()) que2.pop();
    //如果速度大于等于当前 x,那么将vi+wi从大到小存入队列(已经排完序了)
    for(int i = 0; i < n; i ++)
    {
        if(q1[i].first>=x) que.push(q1[i].first + q1[i].second - x);
    }
    //如果速度小于当前的 x, 那么将wi从大到小存入队列
    for(int i = 0; i < n; i ++)
    {
        if(q2[i].first<x) que2.push(q2[i].second);
    }
    //如果可以背人的人数小于需要被人背着的人数,直接false
    if(que.size() < que2.size()) return false;
    //一一对应,队列中vi+wi最大的去背着队列中wi最大的,队列中vi+wi第二大的去背着队列wi第二大的...
    while(que2.size())
    {
        if(que.front() < que2.front()) return false;
        que.pop(), que2.pop();
    }
    return true;
}
signed main()
{
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    cin >> T;
    while(T --)
    {
        int head = Min, tail = Max;
        cin >> n;
        for(int i = 0; i < n; i ++)
        {
            int x, y;
            cin >> x >> y;
            q1[i].first = q2[i].first = x;
            q1[i].second = q2[i].second = y;
            head = max(x, head);      //求出速度的最大值和最小值
            tail = min(x, tail);
        }
        sort(q1, q1+n, cmp); //pair 排序(根据vi+wi从大到小)
        sort(q2, q2+n, cmp2); // 根据wi从大到小排序
        // 二分答案
        while(tail < head)
        {
            int mid = head + tail + 1 >> 1;
            if(check(mid)) tail = mid;
            else head = mid - 1;
        }
        cout << head << "\n";
    }
    return 0;
}

2023 icpc济南(D,I,A,G,K) c,其中[1,n]和[n+1,2 * n]各占一半,比如说1,2+n,3在同一个连通块里,那么1+n,2,3+n一定在另一个连通块里,因为对于1,要么选,要么不选,选即为1,不选即为1+n,这两个独占2。对于某个连通块,要么选择染1的所有,要么选择染2的所有,因为,一条边的两个点必须二选一,如果选择了某个1,那么顺着跑一遍,2不能选,1必须选,2不能选,1必须选…两两冲突,一条边连两个点,两个点只能选一个,而且是必须二选一,二分图染色,一条边的两个点,其中一个点染1,另一个点染2。 阅读详情

相关推荐

2023 ICPC 亚洲区域赛 济南站 A. Many Many Heads

首先做数据预处理,将相同类型括号转换为0或1,原字符串转化为01序列。基于原序列,考虑以下几点:各元素相同的连续子序列长度大于3时,形如(((A)))可化为()(A)(),此时方案数不唯一。各元素相同的连续子序列长度为2时,形如((A))转化成()A(),此时显然不成立。但该种情况的序列个数大于2时,会出现(([[A]]))、(([]A[]))情况,方案数不唯一。其余情况较简单,此处不做证明。对该两种情况判断即可。

qq_36789020的博客 1687

2023 (ICPC) Jiangxi Provincial Contest -- Official Contest Gym - 104385I - Tree

对于操作1我们发现,只改变了x,y点处的值,二者中间的点由于连接的两边都要异或一下,两次异或等于本身,故不变。这道题对时间要求比较严格,建议使用scanf,printf输入输出,另外,过不了可以换换编译器试试。1.将x到y之间的所有线段的值w与z异或。2.计算所有连着x点的线段的异或值。

m0_74080715的博客 445

5个4000比特大状态置换算法的设计与分析

下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。

HuangJinLong2的博客 350

2023年第13届山东省大学生程序设计竞赛题解

所以我们只需要枚举相同的前缀和长度:i 从 v 开始,每次找到最末尾的一个0并将其替换为1(即加上lowbit),假设路径按位与之后的前缀和长这样,我们需要判断有没有这样的路径可以满足条件。很容易发现,先进行一次操作1再进行一次操作2之后,前面进行过的操作1会被抵消,所以操作1永远不会在操作2前面进行,因此操作顺序是:先进行完所有的操作2,再进行所有的操作1。怎么消去呢,左边的可以利用以左上角为顶点和以右下角为顶点的方式消去,上边的可以利用以左上角为顶点和以右上角为顶点的方式消去。

Texcavator的博客 4635

基于Simulink的前馈解耦SVPWM整流器仿真

本文提出了一种基于Simulink的前馈解耦SVPWM整流器仿真方案,针对传统双闭环控制存在的耦合严重、电压利用率低等问题进行优化。通过前馈补偿dq轴耦合项(ωLiq和ωLid)结合SVPWM调制算法,实现了电流跟踪误差<3%、电压利用率达0.99、THD<3%的性能指标。文章详细阐述了系统架构设计,包括前馈解耦原理推导、SVPWM算法实现步骤,并提供了完整的Simulink建模方法。仿真结果表明,该方案在动态响应速度(25ms)和直流电压纹波(1.1%)方面显著优于传统SPWM控制。同时给出了

MHD0815的博客 162

ESP32-IDF HTTP服务器实战:从零搭建Web控制界面

本文详细介绍了如何在ESP32平台上使用ESP-IDF框架从零搭建HTTP服务器,并创建Web控制界面。内容涵盖环境配置、服务器基础设置、Web页面处理、GPIO控制接口实现及AJAX异步请求处理,帮助开发者快速掌握物联网设备Web控制开发。

efc123456的博客 1063

2023ICPC山东省赛补题题解

​ 2023ICPC山东省赛vp补题题解(代码提供python和c++实现)

ChuanhuaYu的博客 3143

cs188Inference in Bayes Nets(贝叶斯网络的推理)

cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti

weixin_46582817的博客 1673

2023 山东省赛 【9.28训练补题】

weight为第一关键字,speed为第二关键字排序,二分最大值,check函数判断可否满足最大值为x,遍历所有人,将速度>=x分为c组,<x分为b组,看c组的能否带着b组。*反向迭代器删除元素(++itc).base()*看c组能否带着b组时从体重从大到小看。*二分起点 l,r 为初始最大最小值。*结束条件为 l<=r。*求取最大值时考虑负数。

m0_63851154的博客 475

09 SAP CPI 访问公共API接口

我在网上找了一个公共API,入参输入汉字返回拼音。至此,一个真正的访问API的接口就做好了。点击保存时可看到红叉报错。

SAP CPI 477

[SaaS] 阿里妈妈-万相营造

有controlnet的介入,我们是默认controlnet会介入,在inapinting时会把带有商品的画布做一点扩充,然后走inapinting和controlnet,其实也做了一点outpainting的工作。基于阿里妈妈营销平台,提供从图文到视频再到落地页的素材级智能化创意支持,是您营销创意数字资产累积和升值的阵地,最大化提升营销的效率和效果。目前看来抠图基本都是sam了,现在weshop也是,都有一个预扣好的主体,但是一点进去也会重新sam。atomovideo->图生视频。

liguandong 524

2023山东省赛部分题解

一开始看到这个题目的框架我们可能会感觉似曾相识,但是我们发现加的数x不是固定的我们发现有点棘手,我们可以先找找性质,明显可以发现进行操作1之后进行操作2是无效的,无论位置,所以我们可以发现结果一定是先进行操作1,然后接着进行操作2,问题就在于进行多少次,怎么判断,我们发现一个这个数最多进行logn次除法,logn次乘法所以我们时间复杂度是可以的,接着我们如何判断是不是到达了有解的位置,我们先不考虑操作2,题目数据范围特别的到,然后告诉我们要&,考虑是不是需要使用二进制的方式来解决,我们。

qq_73575281的博客 1045

Python实战日志_P4_图书馆Web API服务

目标:使用Flask将图书馆系统升级为RESTful API服务,掌握Web开发基础难度:⭐⭐⭐⭐☆预计学习时间:75分钟前置要求:已完成第3篇《个人图书馆管理系统》

qq_39436086的博客 83

2023 CCPC Henan Provincial Collegiate Programming Contest

当k==2*n:让每2*n个数都是0.5,然后其他,数都是0,这样肯定最多的总和,最小就是每个数都取0.49999,但是因为k=n*2全部k-1个数去到0.4999,剩下一个数肯定要大于>0.5,所以最小值是0,最大值是2*n。当k>2*n:让每2*n个数都是0.5,然后其他数都是0,这样肯定最多的总和,最小就是每个数都取0.49999,然后因为(k*0.5)向下取整肯定>=n,所以最小值是0,最大值是2*n。要求升序=min(a[i:i+m-1])>max(a[1:i])B.首先固定一个k咋判断呢。

qq_61657632的博客 536

如何解决Elsevier和IEEE期刊之间参考文献的转换问题

Elsevier期刊和IEEE旗下的期刊两者模版互相转换的时候,会发现Elsevier模版的参考文献是存放在.bib文件下的,然后在.tex文件中直接引用即可。3. 在IEEE的.tex文件中的\end{document}命令行之前,添加下面的这句话(ps:\bibliography{**}中的**名称即为.bib文件的名称)如何将Elsevier的参考文献快速的转成IEEE期刊可用的格式,是本博客需要解决的问题。2. 将下载好的.bib文件,上传到IEEE的latex文件中。

薰珞婷紫小亭子的博客 1675

RKNN 端侧部署必看:YOLOv11 Pose 姿态估计模型转换与性能优化实战

随着人工智能技术在边缘计算领域的快速发展,姿态估计作为计算机视觉的重要分支,在智能监控、人机交互、体感游戏等场景中展现出巨大的应用潜力。本文深入研究了YOLOv11 Pose模型在Rockchip RKNN平台上的部署方案,从理论基础、模型转换、平台优化到实际部署进行了全面阐述。通过详细的技术分析和实验验证,证明了RKNN平台能够有效提升YOLOv11 Pose的推理性能,在RK3588硬件平台上实现了高达100 FPS的实时姿态检测,为边缘计算场景下的姿态估计应用提供了高效的解决方案。

m0_71589036的博客 183

D. Fast and Fat(2023 ICPC 山东省赛)(二分+贪心检查)

对于一个运动员 i ,他的速度是 vi,体重是 wi。如果运动员 j 的体重 wj <= wi,那么运动员 i 可以用原本的速度 vi 背着运动员 j 奔跑。如果 wj > wi,那么速度就变成了 vi - ( wi - wj ) (如果是负数,那么运动员 i 不能背着 j 奔跑)。每组数据第一行输入一个n,代表这个团队有n个人,后面n行,每行两个数vi,wi。在二分答案时,对于答案 x ,选出大于等于速度 x 的人当中 vi+wi 最高的几个人,分别去背着速度小于 x 的人当中 wi 最大的人奔跑。

m0_73949397的博客 1047

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

2023山东icpc省赛总结

距离比赛结束已经一天多了,现在的感觉就是三个字:意难平。 这是我们第一次打现场赛,去之前真的是很激动。因为我们比赛前做了很多其他省的省赛模拟,也做了几套今年别的省的题目,做完会去搜题解,会看到别人写的打现场赛的感觉和赛后滚榜时的激动,也看过别人拍的滚榜视频,我也很激动,非常希望今年我们去也可以享受比赛和滚榜的乐趣。因为我们打的这几场模拟,时候去查看榜单,最差的也落在了银牌区,有两场甚至进入了金牌区,当时我们就说省赛要冲金,最起码要拿个银吧。但是现实是残酷的,我们最终只出了四题,也是铜牌区的后半

weixin_62946566的博客 1920

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

精雕软件(JDpaint) 5.5 绿色版

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

山大地纬杯”第十二届山东省ICPC大学生程序设计竞赛(正式赛)

所以我和bl两人思考这题,然后xy搞Coins那题,想了一会,我们考虑了等差数列前缀和,当n>6的时候,前缀和就大于17了,然后我感觉大于17的时候只考虑加减,不考虑别的符号!一开始我们先开了Coins这题,然后我感觉这题是类完全背包问题,但是这个是超大背包,数组开不了,我之前也学过用map优化超大背包问题,但是也就写过几遍,队友也没有啥思路,我们就先做A题了。看了Coins那题还是没思路就看着题了,其实这题很简单,妥妥的签到题,就是今天下午我困的要死,代码写的无语死了,改了好久才改对了。

qq_73908999的博客 574

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【888题竞赛篇】第六题,2023ICPC济南-来自知识的礼物(Gifts from Knowledge)

这道题是一个涉及稀疏矩阵和并查集算法的高级问题,要求通过选择矩阵的某些行进行反转操作,使得矩阵的每一列最多只有一个1。通过图论和并查集的知识,可以将问题建模为行之间的关系问题,并最终确定满足条件的不同方案数。考虑到数据范围巨大,算法的时间和空间复杂度都需要进行优化。题目提供了多个测试用例,且需要对结果进行取模计算以避免超出数据范围。题目中的挑战在于如何高效地处理行与行之间的转换关系。通过分析,可以发现如果两行在反转后相同或具有类似的结构,那么它们可以归为一个集合。

Dashcoding213的博客 1382

ICPC 山东省省赛刷题 第十一届山东省大学生程序设计竞赛 ACM省赛 牛客 DGHM题

D Dyson Box 题意:有n步,每一步都会出现一个方块,求重力向下和重力向左的方块掉下去的结果图形的周长。 分析:考虑到每个方块周长为4,如果这个方向下有方块的话,就会-2(因为上下两个方块有一个边重合),如果相邻的左右有比他高的方块,就也会产生重合的边就结果-2。 题解: #include<bits/stdc++.h> using namespace std; int a[200010], b[200010]; int a0[200010], b0[200010]; int ans1=0

weixin_51273276的博客 1061

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 206

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 312

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 571

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 20

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 749
上一篇: 第四章 内存管理
下一篇: 数据库1= =
21RGHLY
博客等级 码龄5年 44粉丝 169原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

21RGHLY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值