
题解-联赛&CSP
# 题解-联赛&CSP
Azcii
这个作者很懒,什么都没留下…
展开
-
NOIP 2020 T3 移球游戏(构造+分治)
NOIP 2020 T3 移球游戏题解如果能想到一个个位置复原的话,可以拿到前404040分。方法其实并不难,只要能想到要这么做,相当于考虑如何交换任意两个位置,借助空柱操作即可。正解的方向很清晰,毕竟题目的部分分给了很明显的提示,容易想到,可以用分治,把左右各自归类,然后递归下去,此时的问题是如何实现归类,也就是如何实现部分分中的n=2n=2n=2。先大概捋一捋过程:左右两区间各一个指针从左往右,将当前指针指向的两列中,较多的一种颜色复原,并将其对应的指针后移,以此类推。如何时间复原较多颜原创 2020-12-15 20:29:20 · 779 阅读 · 0 评论 -
NOIP 2020 T1 排水系统(拓扑排序)
NOIP 2020 T1 排水系统题解很显然是拓扑排序,按题意直接模拟复杂度仅仅是O(n)O(n)O(n)的。但是涉及到分数的加法,通分会爆变量范围吗?一开始以为最大只是511∗105^{11}*10511∗10,连int都不会爆,保险起见还是开了long long。这样其实是错误的,不能只考虑一条链上,三条深度为111111的链,在最后的位置合并,分母最大可以到(3∗4∗5)11=6011≈265(3*4*5)^{11}=60^{11}≈2^{65}(3∗4∗5)11=6011≈265,lon原创 2020-12-15 19:36:58 · 980 阅读 · 0 评论 -
2020 CSP-S T3 函数调用(拓扑序+后缀积)
2020 CSP-S T3 函数调用题解如果这题按部就班的做,哪怕用高级数据结构也不一定好维护,突破口在于要先转化计算的过程。每个位置的初值乘上所有操作中乘上的数即为它们分别的贡献,每个操作中加上的数乘上所有在它后面执行的操作中乘上的数即为它们分别的贡献,或者可以把赋初值看做是一种加操作,那么以上只有一种情况。归纳一下,现在我们需要求的是每个加操作之后所有乘操作的乘积,这就是它对答案的贡献,要注意的是,若干次的加操作尽管可能操作编号相同,但它们对应的乘积不同,即每个加操作的ViV_iVi的贡献原创 2020-11-15 08:56:52 · 602 阅读 · 0 评论 -
2020 CSP-J T3 表达式(栈+二叉树)
CSP-J 2020 T3 表达式 题解如何把后缀表达式转回普通表达式?观察样例,不难发现,andandand和ororor运算符一定是插入在前面最近的两对括号之间,notnotnot则是在前面最近的一对括号前。括号是什么?每个变量两边可以看做有一对括号,每次运算结束后可以在两边加上一对括号。即“(xxx)(xxx)(xxx) (yyy)(yyy)(yyy) andandand”可变为“((xxx)\Big((xxx)((xxx) andandand (yyy))(yyy)\Big)(yyy))”,其余原创 2020-11-10 21:29:09 · 1280 阅读 · 0 评论 -
2019 CSP-S Day2 T1 Emiya 家今天的饭(DP)
题目DescriptionInputOutput输出到文件 meal.out 中。仅一行一个整数,表示所求方案数对 998, 244, 353 取模的结果。Sample InputSample Input12 31 0 10 1 1Sample Input23 31 2 34 5 06 0 0Sample Input35 51 0 0 1 10 1 0...原创 2019-12-04 21:19:01 · 480 阅读 · 0 评论