首页 > 其他分享 >2024.9.3-CSP模拟赛2

2024.9.3-CSP模拟赛2

时间:2024-09-25 15:35:25浏览次数:9  
标签:10 check 2024.9 样例 times 模拟 cnt1 CSP 进位

考试:

9:00

开题:

  • 第一题第一眼数据范围 \(1\le n\le 5\times 10^7\),感觉有 T 的风险。
  • 第二题 little bird,记得在以前做过这道题。
  • 第三题不太会,没有给部分分的比值,感觉只能写个暴搜。
  • \(O(n^2)\) 的暴力肯定会,正解先待会再想。

9:10

做 T1,直接写暴力,5 分钟写完了。

试了一下 50000000 和 2,感觉跑得很慢,考虑优化一下。

发现每次 \(i+1\) 如果没有进位的话,直接手动计算要快得多,于是就赶紧写了这种情况。

if(i%10>(i-1)%10){
	cnt1=cnt1-val[(i-1)%10]+val[i%10];
}

写着写着突然发现自己写的 \(count\) 函数没有特判 0,赶紧先将 0 的情况了出来。

再试了一下 50000000 和 2,虽然快了一点,但还是超时了。

  • 模拟进位

9:40

写到了 1000 的进位,感觉可以了,便将 T1 放了,转头去做 T2。

T2:little bird

我脑海里依稀记得 LJ 讲这道题的时候提到了二分,于是写了 solve 函数,但问题来了 check 怎么做???

心里有了一个贪心想法:

  • 对于第 \(i\) 只鸟当前在第 \(j\) 棵树上,如果在 \([j,j+k_i]\) 的区间内,有 \(d_l<d_j\) 且 在这些 \(d_l\) 组成的集合中 \(X\) 是最大的,那就飞过去。
  • 如果发现 \(d_l\) 组成的集合是空集,说明此时必须增加疲劳值了,那就一定去能飞到的数中最高的一棵。

问题又来了,怎么快速求出呢?

线段树吗?好像要维护的东西很杂,写又可能写不对,怎么办?

  • 直接暴力。

10:20

终于写完了 check 函数,自己造的样例和 PDF 上的样例都过了,但时间不能保证。

我突然发现,如果说我在 check 中使用的是贪心策略,那么每次贪心的结果一定就是这只鸟的最小疲劳值,所以二分答案有什么用呢?

加一个 Try 函数,样例全都过了,但感觉时间复杂度还是 \(O(n^2)\),算了,写 T3。

10:35

没什么思路,先把暴搜打出来吧。

样例最后一个直接 T 飞了。

啊啊啊,不会做啊。

10:45

回去看看 T1。

突然发现自己的优化可能会导致在出现 cnt1 叠加的情况,算了删了吧,就留一个不进位的就行了。

11:00

T4 不太会,式子推了一些:

\[a_i+a_{i+1}+...+a_j \ge k\times (j-i+1)\Rightarrow sum_j-sum{i-1}\ge k\times (j-i+1) \]

然后就暴力了。

总分:

预计得分:80+50+10+40=180

实际得分:70+89+30+15=204

主要还是第 4 题的原因。

总结:

  1. 对于之前做过的题目还不够熟练,应该多练习,吃透内容。
  2. 要深入思考题目,多使用草稿纸和画图软件。

标签:10,check,2024.9,样例,times,模拟,cnt1,CSP,进位
From: https://www.cnblogs.com/Merge-Change230/p/18431487

相关文章

  • 2024.9.5-CSP模拟赛4
    考试:9:00~9:10看题:T1:很久之前做过,没有什么印象了。T2:感觉是广搜,但有可能要爆。T3:搜索题,猛加优化。T4:不知道是什么类型的题目。9:10~9:50写T1,已经忘了怎么写的,只能当做一道新题来做。写了个贪心,分了2中情况进行讨论,样例和自造样例都过了,但肯定会WA。其实在写计算的......
  • 2024.9.4-CSP模拟赛3
    考试:9:00~9:25怎么还不发卷啊,等得有点慌了,这是在考验心态吗?原来是极域出了点问题9:25~9:35发卷了,先看题。T1:相对距离,这不是原题吗,这题能做。T2:平衡队列,数据有点大,要不要离散化?好像不用,先等会在仔细看看。T3:第一眼数据范围:\(1\leN\le100\),直接弗洛伊德呀。T4:是并查集吗......
  • 2024.9.6-CSP模拟赛5
    考试:9:00~9:10发卷:T1有想法但要思考一下。T2水题,秒切。T3状压,昨天晚上就在看,但没看完只听了思路。T4看上去是原题,可以做一做。9:10~9:30先做T4,真是原题,直接写。直接写了归并排序,前面又补了一个0,然后求了逆序对。样例很快就过了就放了。9:30~9:50直接写了T2,T2......
  • 模拟船舶的货物卸载过程,并计算总物流时间和转弯次数 python代码
    一个模拟物流操作的脚本,它处理船舶货物的卸载,并将货物运送到堆场。代码主要包含以下几个部分:1.**参数设置**:  -`NUM_FORKLIFTS`:每个堆场的叉车数量。  -`SHIP_CARGO`:每艘船舶的货物量(吨)。  -`CARGO_PER_TRUCK`:每辆叉车能运输的货物(吨)。  -`LOADING_TIME......
  • uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款
    uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝扫码支付/收付款等功能,界面漂亮颜值高,视频商城小工具等,蚂蚁森林种树养鸡农场偷菜样样齐用于视频,商城,直播,聊天等sumer-alipay介绍uniapp精仿支付宝UI界面,首页/理财/消息/生活/口碑/我的,还有模拟支付宝......
  • C++模拟真人鼠标轨迹
    一.API跨语言平台支持`鼠标轨迹API`[https://winsdk.cn/]()底层实现采用C/C++语言,利用其高性能和系统级访问能力,开发出高效的鼠标轨迹模拟算法。通过将算法封装为DLL(动态链接库),可以方便地在不同的编程环境中调用,实现跨语言的兼容性。通过DLL封装,开发者可以在C++、Pytho......
  • Python模拟鼠标轨迹
    一.鼠标轨迹模拟简介传统的鼠标轨迹模拟依赖于简单的数学模型,如直线或曲线路径。然而,这种方法难以捕捉到人类操作的复杂性和多样性。AI大模型的出现,能够通过深度学习技术,学习并模拟更自然的鼠标移动行为。二.鼠标轨迹算法实现AI大模型通过学习大量的人类鼠标操作数据,能够识别......
  • C++模拟真人鼠标轨迹
    一.API跨语言平台支持鼠标轨迹API底层实现采用C/C++语言,利用其高性能和系统级访问能力,开发出高效的鼠标轨迹模拟算法。通过将算法封装为DLL(动态链接库),可以方便地在不同的编程环境中调用,实现跨语言的兼容性。通过DLL封装,开发者可以在C++、Python、易语言、按键精......
  • 2024.9.24 LGJ Round
    C第\(i\)个同学一开始有第\(i\)份礼物,每个同学对礼物的喜爱度都有排序。\(q\)次询问把所有人划分为两个集合,集合里的人可以互相交换礼物,问方案数使得每个人喜爱度不降。\(n\le18\)。若\(i\)能将礼物给\(j\)那么连一条\(i\toj\)的边,相当于最后求置换环组成图的方......
  • 20240924 模拟赛 T4 题解
    Description这是一道交互题。有一棵\(n\)个节点的树,现在要求你通过若干次询问得到这棵树的每一条边连接哪两个点。每次询问你需要指定\(n\)个整数\(d_1,d_2,\ldots,d_n\),满足\(-1\leqd_i\leqn\),其中\(1\leqi\leqn\)。每次询问交互库会返回给你一个长度为\(n\)的......