T1

个人思路:

询问:求 \(1\) 到 \(t_i\) 路径上离 \(1\) 最远的 \(p\),使得 \(dis_{1,p} \times 2 \le d_i\)。即 \(dis_{1,t} \times 2 \le d_i + dis_{p,t} \times 2\)。

等价于:\(dis_{p, t} \ge dis_{1,t} - \lfloor \frac{d_i}{2} \rfloor\)。

维护从 \(u\) 往上走 \(2^j\) 步的距离,倍增往上跳。

T2

对于固定前缀 \(T_{1\sim i}\),第 \(i+1\) 次操作所有方案都对答案有贡献,新生成的前缀互不相同。

我们把 \([1,m]\) 和 \([m,1]\) 看成一段可插入的区间,可以插入 \(2\sim m-1\) 各一个。\([1,1],[m,m]\) 不可插入。

状态:\(dp_{i,j,0/1}\) 表示前 \(i\) 次操作,有 \(j\) 个可插入区间,结尾为 \(1/m\) 的方案数。

初始化:\(dp_{0,0,0} = 1\)。

转移:炸裂,因为需要储存当前剩余可填的位置,再加一维直接 GG。

但是可以储存已经填掉的数的个数,即 \(dp_{i,j,k,0/1}\) 表示前 \(i\) 次操作,有 \(j\) 个可插入区间,填入 \(k\) 个数,结尾为 \(1/m\) 的方案数。状态 \(\Theta(n^3)\),时间复杂度 \(\Theta(n^3)\)。

如果不考虑 \(1,1\) 和 \(m,m\),也就是说,只填和上一个结尾不同的数。

最后计算答案时,我们把这些 \(1,1\) 和 \(m,m\) 补回去。好像可以。

状态:\(dp_{i,j}\) 表示表示前 \(i\) 次操作,有 \(j\) 个可插入区间。即插入了 \(i-j\) 个数。

转移:\(dp_{i,j} = dp_{i-1,j-1} + dp_{i-1,j} \times (j \times (m-2) - i + j + 1)\)。注意,需要满足 \(j * (m-2) \ge i - j\)。

答案:

把 \(n - i\) 个数分配给 \(i + 1\) 个点,允许有点为空,插板方案为 \(C_n^i\)。

\[\sum\limits_{i=0}^{n}\ (\sum\limits_{j=0}^i dp_{i,j}) \times C_n^i
\]

寄了,过不去样例 \(3\),去写暴力。

状态:\(dp_{i,j,k,0/1}\) 表示前 \(i\) 次操作,有 \(j\) 个可插入区间,填入 \(k\) 个数,结尾为 \(1/m\) 的方案数。

转移:

上一个填的数相同:\(dp_{i,j,k,0} = dp_{i-1,j,k,0}\)

上一个填的数不同:\(dp_{i,j,k,0} = dp_{i-1,j-1,k,1}\)

上一个插入:\(dp_{i,j,k,0} = dp_{i-1,j,k-1,0} \times (j\times(m-2)-k+1)\)

合法状态:\(i\ge j\) 且 \(j\times(m-2) \ge k\)。

答案:\(\sum dp_{n,j,k,0/1}\)。

wssb,正解样例 \(3\) 过了,但是样例 \(4\) 卡死???

数组开小了。。。

T3

暴力删,删完暴力改,时间复杂度 \(\Theta(n\cdot m^2)\)。

2023 年 CCF 春季测试赛模拟赛 - 1的更多相关文章

  1. PAT团体程序设计天梯赛 - 模拟赛

    由于本人愚笨,最后一题实在无力AC,于是只有前14题的题解Orz 总的来说,这次模拟赛的题目不算难,前14题基本上一眼就有思路,但是某些题写起来确实不太容易,编码复杂度有点高~ L1-1 N个数求和 ...

  2. 4.28 省选模拟赛模拟赛 最佳农场 二维卷积 NTT

    第一次遇到二维卷积 不太清楚是怎么做的. 40分暴力比对即可. 对于行为或者列为1时 容易想到NTT做快速匹配.然后找答案即可. 考虑这是一个二维的比对过程. 设\(f_{i,j}\)表示以i,j为右 ...

  3. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲网上区域赛模拟赛. A.Easy Equation (前缀和/差分)

    题意:RT,给你四个数\(a,b,c,d\),求\(x+y+z=k\)的方案数. 题解:我们可以先枚举\(x\)的值,然后\(x+y\)能取到的范围一定是\([x,x+b]\),也就是说这个区间内每个 ...

  4. [GRYZ]寒假模拟赛

    写在前面 这是首次广饶一中的OIERS自编自导,自出自做(zuo)的模拟赛. 鉴于水平气压比较低,机(wei)智(suo)的WMY/XYD/HYXZC就上网FQ下海找了不少水(fei)题,经过他们优( ...

  5. 『2019/4/8 TGDay1模拟赛 反思与总结』

    2019/4/8 TGDay1模拟赛 这次是和高一的学长学姐们一起参加的\(TG\)模拟考,虽然说是\(Day1\),但是难度还是很大的,感觉比\(18\)年的\(Day1\)难多了. 还是看一下试题 ...

  6. NOIP模拟赛-2018.11.7

    NOIP模拟赛 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 如果用命令行编译程序可以发现没加头文件之类的错误. 编译之前另存一份,听说如果敲 ...

  7. 体育成绩统计——20180801模拟赛T3

    体育成绩统计 / Score 题目描述 正所谓“无体育,不清华”.为了更好地督促同学们进行体育锻炼,更加科学地对同学们进行评价,五道口体校的老师们在体育成绩的考核上可谓是煞费苦心.然而每到学期期末时, ...

  8. NOIP前模拟赛总结

    NOIP前模拟赛总结 from 2018.10.7 to ??? Date Name Score(Rank) Problems 2018.10.7 McfXH AK Contest 42(?) 期望得 ...

  9. QHDYZ模拟赛20191012

    今天信息处老师(并不是教练,基本等于机房看门大爷) (好吧老师其实很犇,软件什么的厉害的一批,只是不能带oi--) 跟我说:"xxj,过两天月考完了,可以在初赛前再整一次模拟赛,一天,三道题 ...

  10. 洛谷 P5594 【XR-4】模拟赛

    洛谷 P5594 [XR-4]模拟赛 洛谷传送门 题目描述 X 校正在进行 CSP 前的校内集训. 一共有 nn 名 OIer 参与这次集训,教练为他们精心准备了 mm 套模拟赛题. 然而,每名 OI ...

随机推荐

  1. Jmeter之逻辑控制器---while控制器

    while控制器与编程语言中的while语句一样,当条件为真时继续执行,不为真时则跳出while循环体,不再执行. while控制器相对于循环控制器来说多了个条件判断,下面为while控制器使用案例. ...

  2. Potree 001 Potree介绍

    1.Potree是什么 Potree是一种基于WebGL的点云数据可视化解决方案,包含点云数据转化,以及进行可视化的源码.该解决方案的主要优势在于对点云数据进行了多尺度的管理,在数据传输和可视化上都做 ...

  3. Centos7下vim最新版本安装

    一直以来用的都是vim,因为之前都是系统自带的vim没有研究过怎么自己安装,今天趁着刚装完新系统,顺便装下vim. 同样vim也有两种安装方法: 一.yum安装,centos下安装软件最简单的方法了, ...

  4. [OpenCV实战]24 使用OpenCV进行曝光融合

    目录 1 什么是曝光融合 2 曝光融合的原理 3 代码与结果 4 参考 本教程中,我们将了解使用OpenCV的Exposure Fusion(曝光融合). 1 什么是曝光融合 曝光融合是一种将使用不同 ...

  5. Flutter异常监控 - 叁 | 从bugsnag源码学习如何追溯异常产生路径

    如果觉得文章对你有帮助,点赞.收藏.关注.评论,一键四连支持,你的支持就是我创作最大的动力. ️ 本文原创听蝉 公众号:码里特别有禅 欢迎关注原创技术文章第一时间推送  ️ 前言 没错,继Flutte ...

  6. 《STL源码剖析》STL迭代器分类

    input迭代器:只能向前移动,一次一步,用户只能读取,不能修改它们所指向的东西,而且只能读取一次. output迭代器情况类似,但一切只为输出:它们只能向前移动,一次一步,用户只可以修改它们所指向的 ...

  7. Python 跨模块使用全局变量(自定义类型)

    gol.py def _init():#初始化 global _global_dict _global_dict = {} def set_value(key,value): "" ...

  8. Python 内置界面开发框架 Tkinter入门篇

    本文大概 4158 个字,阅读需花 10 分钟 内容不多,但也花了一些精力 如要交流,欢迎关注我然后评论区留言 谢谢你的点赞收藏分享 首先,今天先给大家拜个好年!新年快乐,恭喜发财!为了感谢大家对我的 ...

  9. HelloWorld程序的代码编写-Hello World的编译运行

    HelloWorld程序的代码编写 程序开发步骤说明 开发环境已经搭建完毕,可以开发我们第一个Java程序了. Java程序开发三步骤:编写.编译.运行. 编写Java源程序 1. 在 d:\day0 ...

  10. C#移除字符串中的不可见Unicode字符

    背景 最近发现某个数据采集的系统拿下来的数据,有些字段的JSON被莫名截断了,导致后续数据分析的时候解析JSON失败. 类似这样 {"title": "你好 或者这样,多 ...