2024 吉林 CCPC

文章目录

  • 2024 吉林 CCPC
    • L. Recharge(思维、分配)
    • G. Platform Game(模拟)
    • E. Connect Components (排序、思维)
    • D. Parallel Lines

2024 吉林 CCPC

题目链接:

Dashboard - The 2024 CCPC National Invitational Contest (Changchun) , The 17th Jilin Provincial Collegiate Programming Contest - Codeforces

L. Recharge(思维、分配)

  • 如果k是偶数,(x+y*2)/k
  • k为奇数,优先使用y+x的组合

G. Platform Game(模拟)

按照 y 进行排序,由于数据范围比较小,可以直接枚举找到小球接下来

落到的平台。

E. Connect Components (排序、思维)

看到连通块第一想到的就是并查集,但实际上用不到。

将公式变换,以a[i]-i 从小到大排序,此时前面的i-b[i] 同样小于后面的就可以

联通。

可以用一个对顶堆来维护。

每次将后面大于当前的点,加入并查集,并弹出。

但是这样会漏掉。

如果以a[i]-ib[i]-i分别排序,进行两次就可以过。

不确定是不是卡过去,大概率不是

这里可以用小顶堆或者栈,如果后续出现一个较大的值,就将所有小于a[ i ].se的弹出去,

他们都可以形成连通块,再将最小值给推进去,这样保证每次都可以用最小值来连接。

int mod=998244353;
struct node{int l,r;
}a[N];
bool cmp(node u,node v){if(u.l==v.l)return u.r<v.r;return u.l<v.l;
}
void solve(){int n;cin>>n;for(int i=1;i<=n;i++){int x,y;cin>>x>>y;a[i].l=x-i;a[i].r=i-y;}sort(a+1,a+1+n,cmp);stack<int>q;q.push(a[1].r);for(int i=2;i<=n;i++){int f=0,tt;if(q.size()) tt=q.top();while(!q.empty()&&a[i].r>=q.top()){f=1;q.pop();}if(f==1){q.push(tt);}else{q.push(a[i].r);}}cout<<(int)q.size()<<'\n';
}  

D. Parallel Lines

题意:k条平行线 n个点。判断每一条平行线上,点的x坐标


先暴力用第一个点和所有点,计算斜率。其中必有一个斜率是平行线斜率。

  • 判断有哪几个点在一条平行线上:

可以用直线方程, y=kx+b 将 k ,x , y 带入,如果b值相同,说明在同一条直线上。

由于直接求斜率会有误差,可以两边同乘 (x1-x2)

  • 剪枝:当 b 值 大于 k 个的时候,说明这个斜率是错误的
  • 注意:一条直线上至少有两个点。
PII a[N];
void solve()
{int n,k;cin>>n>>k;fir(i,1,n)cin>>a[i].fi>>a[i].se;fir(i,2,n){int dx=a[i].fi-a[1].fi,dy=a[i].se-a[1].se;map<int,vector<int> > mp;fir(i,1,n){int x=a[i].fi*dy-a[i].se*dx;mp[x].push_back(i);if(mp.size()>k) break; }if(mp.size()==k){int f=0;for(auto it:mp){if(it.se.size()==1) f=1;}if(f) continue;for(auto it:mp){cout<<it.se.size()<<' ';for(auto ii:it.se){cout<<ii<<' ';}cout<<'\n';}return;}}         
}

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

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

相关文章

day13 leetcode-hot100-24(链表3)

234. 回文链表 - 力扣&#xff08;LeetCode&#xff09; 1.转化法 思路 将链表转化为列表进行比较 复习到的知识 arraylist的长度函数&#xff1a;list.size() 具体代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode ne…

Vim文本编辑器快捷键用法以及简单介绍

目录 vim文本编辑器 简介&#xff1a; 语法&#xff1a; vim模式介绍&#xff1a; 模式切换&#xff1a; 用法&#xff1a; 编辑模式&#xff1a; 一般模式&#xff1a; 命令模式&#xff1a; vim文本编辑器 简介&#xff1a; 在命令行界面下&#xff0c;最常用的文本…

从 0 到 1:Spring Boot 与 Spring AI 深度实战(基于深度求索 DeepSeek)

在人工智能技术与企业级开发深度融合的今天&#xff0c;传统软件开发模式与 AI 工程化开发的差异日益显著。作为 Spring 生态体系中专注于 AI 工程化的核心框架&#xff0c;Spring AI通过标准化集成方案大幅降低 AI 应用开发门槛。本文将以国产大模型代表 ** 深度求索&#xff…

[Windows] 摸鱼小工具:隐藏软件(重制版)

由吾爱大神写的摸鱼工具&#xff1a; 数据存放路径为C:\Users\用户名\AppData\Local\HideSoft&#xff0c;如果不想用时&#xff0c;删除软件及此路径下的HideSoft文件夹。如添加了开机启动&#xff0c;删除启动菜单文件夹的快捷方式即可&#xff0c;或者删除前在软件中取消设置…

C++ 判断文件的编码类型

大多数文本编辑器&#xff0c;都会在文本文件的头部插入一部分特殊的字节&#xff0c;用于辅助文本编辑器来判断该文件的字符集编码类型。 如&#xff1a;记事本 目前支持的字符集类型&#xff0c;通常为三种&#xff1a; Unicode、UTF8、UnicodeBIG、CP_ACP&#xff08;默认…

时间序列噪声模型分析软件推荐与使用经验

最近在论文大修2024年投稿的一篇文章&#xff0c;大修了2轮&#xff0c;最后一次还是重新投稿&#xff0c;其中有一个问题一直被审稿人怼&#xff0c;他认为我计算时间序列的趋势的时候&#xff0c;没有考虑时间的相关性&#xff0c;即对噪声模型的估计不合理&#xff0c;会影响…

【redis实战篇】第六天

摘要&#xff1a; 本文介绍了基于Redis的秒杀系统优化方案&#xff0c;主要包含两部分&#xff1a;1&#xff09;通过Lua脚本校验用户秒杀资格&#xff0c;结合Java异步处理订单提升性能&#xff1b;2&#xff09;使用Redis Stream实现消息队列处理订单。方案采用Lua脚本保证库…

【Java Web】速通HTML

参考笔记: JavaWeb 速通HTML_java html页面-CSDN博客 目录 一、前言 1.网页组成 1 结构 2 表现 3 行为 2.HTML入门 1 基本介绍 2 基本结构 3. HTML标签 1 基本说明 2 注意事项 4. HTML概念名词解释 二、HTML常用标签汇总 + 案例演示 1. 字体标签 font (1)定义 (2)案例 2…

Oracle/openGauss中,DATE/TIMESTAMP与数字日期/字符日期比较

ORACLE 运行环境 openGauss 运行环境 0、前置知识 ORACLE&#xff1a;DUMP()函数用于返回指定表达式的数据类型、字节长度及内部存储表示的详细信息 SELECT DUMP(123) FROM DUAL; -- Typ2 Len3: 194,2,24 SELECT DUMP(123) FROM DUAL;-- Typ96 Len3: 49,50,51 -- ASCII值&am…

[学习]C++ 模板探讨(代码示例)

C 模板探讨 文章目录 C 模板探讨一、模板基础概念二、函数模板三、类模板1. 类模板的定义与使用2. 成员函数模板3. 类模板的静态成员与继承 四、模板进阶特性1. 非类型模板参数2. 可变参数模板&#xff08;Variadic Templates&#xff09;3. 模板元编程&#xff08;TMP&#xf…

人工智能-训练AI模型涉及多个步骤

训练AI模型涉及多个步骤&#xff0c;包括数据预处理、选择合适的模型、训练模型以及评估模型性能。下面是一个详细的流程&#xff0c;以常见的机器学习任务——分类问题为例&#xff0c;展示如何使用Python中的scikit-learn库来训练一个简单的AI模型。 步骤 1: 导入所需的库 …

LVS+Keepalived 高可用

目录 一、核心概念 1. LVS&#xff08;Linux Virtual Server&#xff09; 2. Keepalived 二、高可用架构设计 1. 架构拓扑图 2. 工作流程 三、部署步骤&#xff08;以 DR 模式为例&#xff09; 1. 环境准备 2. 主 LVS 节点配置 &#xff08;1&#xff09;安装 Keepali…

TCP 三次握手过程详解

TCP 三次握手过程详解 一、TCP握手基础概念 1.1 什么是TCP握手 TCP三次握手是传输控制协议(Transmission Control Protocol)在建立连接时的标准过程,目的是确保通信双方具备可靠的双向通信能力。 关键结论:三次握手的本质是通过序列号同步和能力协商建立可靠的逻辑连接。 …

李宏毅NLP-7-CTC/RNN-T文本对齐

LAS LAS&#xff08;Listen, Attend and Spell &#xff09;模型&#xff0c;在语音识别中的解码和训练过程&#xff0c;具体内容如下&#xff1a; 解码&#xff08;Decoding&#xff09; 公式 Y ∗ arg ⁡ max ⁡ Y log ⁡ P ( Y ∣ X ) Y^* \arg\max_Y \log P(Y|X) Y∗ar…

jQuery和CSS3卡片列表布局特效

这是一款jQuery和CSS3卡片列表布局特效。该卡片布局使用owl.carousel.js来制作轮播效果&#xff0c;使用简单的css代码来制作卡片布局&#xff0c;整体效果时尚大方。 预览 下载 使用方法 在页面最后引入jquery和owl.carousel.js相关文件。 <link rel"stylesheet&qu…

Microsoft 推出 Magentic-UI,多智能体引领网页人机协作变革

当前&#xff0c;现代生产力与网页操作紧密相连&#xff0c;信息检索、表单填写、仪表盘导航等网页任务已成为工作流程的重要环节。然而&#xff0c;大量网页任务仍依赖人工重复操作&#xff0c;效率低下且易出错。与此同时&#xff0c;许多 AI 智能体虽追求自主运行&#xff0…

2023年6级第一套长篇阅读

画名词概念&#xff0c;动词概念 多处定位原词加同义改写 画关键词&#xff0c;多处定位直接就可以选A了 没有定位的句子先比没匹配到的段落&#xff0c;再匹配长的段落先易后难

登山第二十三梯:有序点云平面快速分割——35Hz帧速前进

文章目录 一 摘要 二 资源 三 内容 一 摘要 3D 点云中的实时平面提取对于许多机器人应用至关重要。作者提出了一种新颖的算法&#xff0c;用于在从 Kinect 传感器等设备获得的有组织的点云中实时可靠地检测多个平面。通过在图像空间中将这样的点云均匀地划分为不重叠的点组&…

【北京盈达科技】GEO优化:引领AI时代内容霸权,重塑行业生态

盈达科技GEO优化&#xff1a;引领AI时代内容霸权&#xff0c;重塑行业生态 在人工智能飞速发展的今天&#xff0c;生成式AI已经深刻改变了人们获取信息的方式。从ChatGPT到文心一言&#xff0c;再到各种智能问答系统&#xff0c;AI生成的内容正在成为信息传播的新主流。然而&a…

安卓端智能耗材柜系统可行性方案(基于uniapp + Vue3)

一、系统架构设计 1. 技术栈&#xff1a; 前端框架&#xff1a;uniapp Vue3 TypeScript状态管理&#xff1a;Pinia&#xff08;分层设计&#xff0c;模块化Store&#xff09;硬件交互&#xff1a;Android原生插件&#xff08;Java/Kotlin封装&#xff09;通信协议&#xff…