news 2026/5/23 20:08:56

打卡信奥刷题(3046)用C++实现信奥题 P6641 [CCO 2020] A Game with Grundy

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3046)用C++实现信奥题 P6641 [CCO 2020] A Game with Grundy

P6641 [CCO 2020] A Game with Grundy

题目描述

本题的所有讨论均在平面直角坐标系上进行。

N NN个人,每个人有一个视野,同时每个人在( x i , 0 ) (x_i,0)(xi,0)的位置上。

视野可抽象为一个角。

注意,组成角的两条射线未在视野内。

现在,您可以站在( a , Y ) (a,Y)(a,Y)上,其中L ≤ a ≤ R L\le a\le RLaR

请求出,对于每个i ( 0 ≤ i ≤ N ) i(0\le i\le N)i(0iN),您可以站在多少个位置,使得您至多在i ii个人的视野内。

输入格式

第一行为一个整数N NN

第二行为三个整数L , R , Y L,R,YL,R,Y

接下来N NN行,每行三个整数,分别为x i , v i , h i x_i,v_i,h_ixi,vi,hi,其中v i v_ivih i h_ihi表示,组成角的两条射线的斜率分别为v i h i , − v i h i \frac{v_i}{h_i},\frac{-v_i}{h_i}hivi,hivi,一端的端点为( x i , 0 ) (x_i,0)(xi,0)

输出格式

N + 1 N+1N+1行,每行一个整数,第i ii行的数表示您可以站在的位置个数,使得您至多在i − 1 i-1i1个人的视野内。

输入输出样例 #1

输入 #1

3 -7 7 3 0 2 3 -4 2 1 3 3 1

输出 #1

5 12 15 15

说明/提示

样例解释

子任务

本题采用捆绑测试。

  • Subtask 1(60 6060分):保证− 10 6 ≤ L ≤ R ≤ 10 6 -10^6\le L\le R\le 10^6106LR106
  • Subtask 2(40 4040分):无特殊限制。

对于100 % 100\%100%的数据,保证1 ≤ N ≤ 10 5 1\le N\le 10^51N105− 10 9 ≤ L ≤ R ≤ 10 9 -10^9\le L \le R\le 10^9109LR1091 ≤ Y ≤ 10 6 1\le Y\le 10^61Y1061 ≤ x i ≤ R 1\le x_i\le R1xiR1 ≤ v i , h i ≤ 100 1\le v_i,h_i\le 1001vi,hi100

说明

本题译自 Canadian Computing Olympiad 2020 Day 1 T1 A Game with Grundy。

C++实现

#include<iostream>#include<cstdio>#include<algorithm>#include<utility>usingnamespacestd;constintN=1e5+5;intn;intl,r,y;pair<int,int>pr[N*2];intbuc[N];intmain(){scanf("%d",&n);scanf("%d%d%d",&l,&r,&y);intx,v,h;for(inti=1;i<=n;i++){scanf("%d%d%d",&x,&v,&h);intal,ar;intyh=y*h;intxl=x-((yh%v==0)?(yh/v-1):(yh/v));intxr=x+((yh%v==0)?(yh/v):(yh/v+1));pr[i*2-1]=(pair<int,int>){xl,-1};pr[i*2]=(pair<int,int>){xr,1};}sort(pr+1,pr+n*2+1);for(inti=1;i<=2*n;i++)pr[i].first=min(max(pr[i].first,l),r+1);intnow=0;pr[2*n+1].first=r+1;buc[0]+=pr[1].first-l;for(inti=1;i<=2*n;i++){now+=-pr[i].second;buc[now]+=pr[i+1].first-pr[i].first;}for(inti=0;i<=n;i++)printf("%d\n",buc[i]),buc[i+1]+=buc[i];return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/4 4:24:09

基于Simulink的事件触发控制降低开关损耗

目录 手把手教你学Simulink ——基于Simulink的事件触发控制降低开关损耗 一、问题背景 二、事件触发控制原理 1. 核心思想 2. 与滞环控制的区别 三、系统架构 四、Simulink 建模步骤 第一步&#xff1a;搭建 Buck 主电路 第二步&#xff1a;实现传统固定频率 PWM 控制…

作者头像 李华
网站建设 2026/4/1 13:51:38

Alibaba DASD-4B Thinking 对话工具 IntelliJ IDEA 插件开发:智能代码补全增强

Alibaba DASD-4B Thinking 对话工具 IntelliJ IDEA 插件开发&#xff1a;智能代码补全增强 作为一名在开发工具领域摸爬滚打多年的工程师&#xff0c;我深知一个高效的代码补全功能对开发者意味着什么。它不仅仅是节省敲击键盘的时间&#xff0c;更是将开发者从繁琐的语法记忆…

作者头像 李华
网站建设 2026/4/1 13:51:18

国产RFSOC+FPGA双芯架构:构建宽带高速信号处理板的设计与实现

1. 国产双芯架构的设计背景与优势 在当今高速信号处理领域&#xff0c;国产芯片正逐步打破国外技术垄断。复旦微电子推出的JFMZQ28DR RFSOC与FM9VU13PB2104 FPGA组合&#xff0c;为宽带信号处理提供了一套完整的国产化解决方案。这种双芯架构的核心思想是将射频前端与基带处理分…

作者头像 李华
网站建设 2026/4/1 13:51:17

协议破壁与流媒体重构:基于 GB28181/RTSP 的企业级视频统一接入方案

引言&#xff1a;碎片化设备接入的“九层之台”困境 在构建企业级 AI 视频中台的过程中&#xff0c;架构师面临的首个“拦路虎”往往不是高深的算法&#xff0c;而是底层设备的协议碎片化。施工现场可能混杂着海康、大华、宇视等不同品牌的 IPC&#xff0c;甚至还有老旧的 RTSP…

作者头像 李华
网站建设 2026/4/3 15:00:12

新手福音:借助快马AI轻松入门数据库课程设计,搞定图书管理系统

新手福音&#xff1a;借助快马AI轻松入门数据库课程设计&#xff0c;搞定图书管理系统 作为一个刚接触数据库的编程小白&#xff0c;第一次做课程设计时真的有点懵。特别是看到那些复杂的SQL语句和表结构设计&#xff0c;完全不知道从何下手。最近在InsCode(快马)平台上尝试用…

作者头像 李华
网站建设 2026/4/1 13:50:34

3大场景+5项突破:Qwen-Edit多视角编辑技术深度解构与实战指南

3大场景5项突破&#xff1a;Qwen-Edit多视角编辑技术深度解构与实战指南 【免费下载链接】Qwen-Edit-2509-Multiple-angles 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Qwen-Edit-2509-Multiple-angles 一、场景痛点&#xff1a;当单张照片无法承载全部创意 …

作者头像 李华