当前位置: 首页 > news >正文

打卡信奥刷题(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考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

http://www.jsqmd.com/news/570945/

相关文章:

  • M2LOrder模型Python爬虫实战:应对动态渲染与数据加密网站
  • Python中JSON数据验证的三种专业级方案
  • Hunyuan-MT-7B企业部署案例:出海SaaS公司集成Pixel Language Portal构建内部翻译中台
  • 移动端组件PC端适配实战:van-password-input无法点击的3种解决方案对比
  • 单细胞数据分析培训班(Python/Galaxy可选),不怕学不会
  • 3种人机协作模式重塑剧本创作:Dramatron的开源AI辅助方案
  • FireRedASR Pro入门指南:环境配置、音频上传与识别结果导出
  • EasyAnimateV5图生视频模型商业应用:社交媒体营销视频快速制作
  • 不用写触发器!帆软填报报表自动记录创建/修改时间的终极方案
  • Solaar完全指南:Linux系统下Logitech设备连接与管理终极解决方案
  • ALOS 12.5米高精度DEM全国数字高程模型|科研级地形数据,支持全国无缝使用
  • 显卡驱动清理终极方案:Display Driver Uninstaller (DDU) 完整使用指南
  • Intv_AI_MK11数据库课程设计:智能学术助手系统开发全记录
  • SMUDebugTool调试工具实战指南:从故障解决到性能优化全流程
  • Pixel Couplet Gen实战案例:教育类小程序集成像素春联生成助力传统文化传播
  • “3 岁孩子春天运动次数,科学规划益处多。”
  • mengrennwpu
  • 2026金三银四变天了:企业要的是能用的人,不是“有潜力的人“
  • 快速构建集成claude code的智能代码编辑web应用原型
  • 终极B站字幕提取工具:三步搞定视频文字内容
  • 除了画面惊艳,UE5的Lumen全局光照对游戏帧数影响有多大?实测数据来了
  • 2026年好评如潮的绳锯切割源头厂家,选它们就对了,行业内有名的绳锯切割推荐技术领航,品质之选 - 品牌推荐师
  • 挑卡通动漫头像AI生成技巧
  • 掌握语音质量评估:从入门到实践
  • 进程与线程:公司员工大揭秘
  • intv_ai_mk11开源可部署实践:支持Webhook回调,可对接企业微信/钉钉/飞书通知
  • 告别Rigidbody!用Unity CharacterController + Cinemachine打造丝滑的3D ARPG角色控制器(2024.3版本实测)
  • 突破百度网盘下载限制:macOS平台高效加速工具使用指南
  • 30米哥白尼DEM(Copernicus DEM)高精度地形数据集(含坡度/坡向/山体阴影/地形指数/粗糙度)
  • 央视播出+政府机关授课!揽星CFA vs 金程CFA:课时缩短30%、高分频出——哪家更适合在职考生? - 速递信息