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

打卡信奥刷题(3415)用C++实现信奥题 P10143 [WC2024] 代码堵塞

P10143 [WC2024] 代码堵塞

题目描述

ℶ\beth为了纪念停办的 codejam,准备了一场“代码堵塞纪念赛”。小ℶ\beth的朋友小℧\mho也来围观,于是小ℶ\beth想预测小℧\mho的成绩。

比赛共TTT秒,有nnn道题。第i(1≤i≤n)i(1 \le i \le n)i(1in)题分数为aia_iai,小ℶ\beth预测小℧\mho需要tit_iti秒完成。

题目有两种类型:结果可见和结果不可见。结果不可见的题在比赛结束后才能知道评测结果,而结果可见的题在提交后立即得到评测结果。小ℶ\beth还没确定每道题的类型。

℧\mho由于从不写对拍,所以会先按编号从小到大完成所有结果可见的题,再按编号从小到大完成所有结果不可见的题。小℧\mho会花tit_iti秒完成第iii题,当小℧\mho花费在第iii题和在第iii题之前完成的所有题的时间总和不超过TTT,就会在第iii产生提交

由于小℧\mho提交即 AC,所以小ℶ\beth想知道对于所有2n2^n2n种确定nnn道题类型的方案,小℧\mho所能得到的分数总和的和。由于答案很大,你需要将答案对998244353998244353998244353取模。

输入格式

输入的第一行包含三个整数c,n,Tc, n, Tc,n,T,表示测试点编号,题数和比赛时间。样例中的ccc表示其满足的限制条件与第ccc个测试点一致。

输入的第二行包含nnn个整数a1,a2,⋯ ,ana_1, a_2, \cdots , a_na1,a2,,an,分别表示每道题的分数。

输入的第三行包含nnn个整数t1,t2,⋯ ,tnt_1, t_2, \cdots , t_nt1,t2,,tn,分别表示小℧\mho做每道题的时间。

输出格式

输出一行包含一个整数,表示对于所有确定nnn道题类型的方案,小℧\mho所能得到的分数总和的和,对998244353998244353998244353取模。

输入输出样例 #1

输入 #1

1 3 3 2 3 4 1 2 2

输出 #1

40

说明/提示

样例 1 解释

我们用长度为333010101序列表示题目类型,111表示结果可见,000表示结果不可见。

  • (0,0,0)(1,0,0)(1,1,0)(1,1,1)(0, 0, 0)(1, 0, 0)(1, 1, 0)(1, 1, 1)(0,0,0)(1,0,0)(1,1,0)(1,1,1)四种情况:小℧\mho按照编号顺序做题,前两题产生提交,分数和为555
  • (0,1,0)(0, 1, 0)(0,1,0):小℧\mho按照213213213的顺序做题,前两题产生提交,分数和为555
  • (0,0,1)(0, 0, 1)(0,0,1):小℧\mho按照312312312的顺序做题,第一题和第三题产生提交,分数和为666
  • (1,0,1)(1, 0, 1)(1,0,1):小℧\mho按照132132132的顺序做题,第一题和第三题产生提交,分数和为666
  • (0,1,1)(0, 1, 1)(0,1,1):小℧\mho按照231231231的顺序做题,只有第二题产生提交,分数和为333

因此答案为(5×4+5+6+6+3) mod 998244353=40(5 \times 4 + 5 + 6 + 6 + 3) \bmod 998244353 = 40(5×4+5+6+6+3)mod998244353=40

数据范围

对于所有测试数据:

  • 1≤n≤2001\le n\le 2001n200
  • 1≤T≤3×1051\le T\le 3\times 10^51T3×105
  • ∀1≤i≤n,1≤ai≤3×105\forall 1\le i\le n , 1\le a_i\le 3\times 10^5∀1in,1ai3×105
  • ∀1≤i≤n,1≤ti≤T\forall 1\le i\le n, 1\le t_i\le T∀1in,1tiT
测试点编号$n\le $$T\le $特殊性质 A特殊性质 B
1∼41\sim 41415151510210^2102
5∼75\sim 7572002002003×1053\times 10^53×105
8,98,98,92002002003×1053\times 10^53×105
10∼1310\sim 1310132002002003×1053\times 10^53×105
14∼1614\sim 16141650505010310^3103
17,1817,1817,1810210^210210410^4104
19,2019,2019,202002002003×1053\times 10^53×105
  • 特殊性质 A:∀1≤i≤n,ai=1\forall 1 \le i \le n, a_i = 1∀1in,ai=1
  • 特殊性质 B:∀1≤i≤n,ti=1\forall 1 \le i \le n, t_i = 1∀1in,ti=1

后记

“你们这比赛怎么所有题都结果不可见啊?”

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintMAXN=2e2+10;constintMAXM=3e5+10;constintmod=998244353;intn,m,a[MAXN],t[MAXN];ll dp[MAXM],p2[MAXM],sum[MAXM],ans,tot;intmain(){scanf("%*d%d%d",&n,&m),*dp=*p2=1;for(inti=1;i<=n;i++)scanf("%d",&a[i]);for(inti=1;i<=n;i++)scanf("%d",&t[i]),sum[i]=sum[i-1]+t[i];for(inti=1;i<=n;i++)p2[i]=p2[i-1]*2%mod;for(inti=1;i<=n;i++){tot=0;for(intj=0;j<=m-t[i];j++)tot=(tot+dp[j])%mod;ans=(ans+tot*p2[n-i]%mod*a[i])%mod;for(intj=m;j>=t[i];j--)dp[j]=(dp[j]+dp[j-t[i]])%mod;}for(inti=0;i<=m;i++)dp[i]=0;*dp=1;for(inti=n;i;i--){tot=0;for(intj=0;j<=m-sum[i];j++)tot=(tot+dp[j])%mod;ans=(ans+tot*p2[i-1]%mod*a[i])%mod;for(intj=m;j>=t[i];j--)dp[j]=(dp[j]+dp[j-t[i]])%mod;}printf("%lld",ans);}

后续

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

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

相关文章:

  • 如何用XXMI启动器实现多游戏模组管理的革命性统一体验?
  • 081、Flask 入门:路由、模板、请求响应——一个博客的从零搭建
  • N_m3u8DL-RE:跨平台流媒体下载工具的全面解析与实践指南
  • 深度解析开源项目:MCQTSS_QQMusic如何高效实现QQ音乐资源解析与下载
  • 一份现代知识系统的全景地图
  • 51单片机与TCS3200:从脉冲计数到RGB值的实战解析
  • Mac上Navicat Premium 12的安装、激活与核心功能上手
  • 四层板铜厚选型系统化校验流程
  • AI 交互体验设计:从响应延迟到信任构建的体验工程实践
  • RimSort模组管理3步法:从混乱到有序,让RimWorld模组不再冲突
  • Postman自动化测试中401权限问题的系统化解决方案
  • torch.hub.load()实战指南:从云端拉取到本地部署的完整路径
  • 【ISO15031_OBD诊断】-0.2-时序参数P2CAN与P2*CAN深度解析
  • 解锁AMD Ryzen潜能的免费终极指南:SMUDebugTool硬件调优完整教程
  • Anaconda一站式部署指南:从零安装到Navigator稳定运行
  • 从工厂订货系统看数据流图:一个典型应用场景的深度剖析
  • 从真题难度变迁看考研数学二备考策略:2015-2022年深度解析
  • AMD Ryzen调试工具SMUDebugTool:免费开源硬件调优终极指南
  • 抖音批量下载助手:高效获取用户主页视频的终极解决方案
  • RimSort:拯救你的RimWorld模组管理噩梦,让游戏加载从未如此顺畅
  • 深入剖析Multi-Cycle约束:从基础语法到跨时钟域实战
  • Apache Shiro反序列化漏洞深度解析:从原理到实战代码审计
  • AI论文写作工具的合规指南:从文献整理到成稿的合规流程解析?
  • Windows终端进阶:打造无缝集成的Vim工作流
  • ROS智能小车进阶:基于YOLOv3与网络摄像头的动态目标追踪实战
  • 从Confluence到信创知识库:国产化替代的迁移路径和避坑指南
  • SMUDebugTool:AMD Ryzen处理器底层调试与超频的终极专业工具
  • WarcraftHelper:魔兽争霸3性能优化终极指南,让经典游戏焕发新生
  • QGIS 3.34尝鲜3DTiles:从惊艳官宣到实战踩坑全记录
  • QQ音乐解密终极指南:3分钟掌握qmcdump转换技巧