- 博客(60)
- 收藏
- 关注
原创 23.8.17 杭电暑期多校10部分题解
如果猜测到两个相邻点的其中一个则会转移到第二种状态,概率为。第二种状态:已经猜测到其中一个相邻点,再猜测到另一个或者。第一种状态:已经猜测到过两个相邻点或者猜测过。或者只剩下一个数符合条件时停止猜测,问在。与上面所说的第二种状态类似,因此期望步数为。会转移到第一种状态,期望步数为。随机的情况下,你的期望猜测步数。都没猜测到过,等价于初始状态。会转移到第一种状态,概率为。,每次猜测你将进行随机一个。可以通过打表找规律来得出正解。在第三种状态下,如果猜测到。其实只有猜测到两个相邻点。第三种状态:两个相邻点和。
2023-10-12 18:43:34
122
原创 23.8.18 牛客暑期多校10部分题解
根据数据范围可以想到满足条件的建有向边然后跑一遍宽度优先的拓扑。两个点时暂停,记录,并作为第二遍拓扑的开始使得二者想等即可。
2023-09-25 13:19:15
181
原创 23.8.15 杭电暑期多校9部分题解
听说题解讲了鞅的停时定理,咱也不会,但是其实不难发现每两个人之间的游戏其实是独立事件,也可以推出结论。很容易可以想到暴力搜索,但是会超时,考虑记忆化优化就可以了。退出游戏,问最后将所有硬币集中到一个人手上的期望操作次数。最开始想法是建图跑最短路,然后发现空间显然不够,换思路。可以倒过来考虑,最优操作必然是找不大于本身的最大的。,再推三个人,四个人,发现结果刚好是。先试试模拟,只有两个人的时候答案是。个硬币,每次操作可以选择任意。,问最少操作几次才能将。注意卡亿下时间就好了。
2023-09-20 13:05:22
134
原创 23.8.14 牛客暑期多校9部分题解
个数,Alice和Bob轮流操作,每次操作可以选择任意两个数(可以是同一个数)进行异或并添加到数组中,谁在一次操作后得到的数为。因此只有三种情况,Alice一次操作获胜,Alice无论如何操作都能使Bob操作获胜,双方都无法获胜。如果没有划分区间的话,经过模拟可以发现合法的只有两种构造方法,那么只需要将这两种构造进行验证即可。很显然,除了第一步之外,任意一步总可以保持局面不变(和上一步进行同一个操作即可)个星星,要求构造一种放法使得每一行,每一列,每一区块中恰好各有。谁就获胜,问最后谁赢或者都赢不了。
2023-09-18 13:40:48
87
原创 23.8.10 杭电暑期多校8部分题解
的矩阵,求其中有多少个连续子正方形,满足该正方形内每个从左上到右下的斜线上数字相同,且不同斜线之间数字互不相同。可以发现一个大正方形的答案需要从小正方形转移过来,那么很容易可以想到需要dp。向下,向右一直两两不同,沿对角线一直相等的最大长度。时,需要去找向下,向右,沿对角线成立的最大长度。后因为无法回推,需要对原来的式子进行验证。意义下随机生成,问矩阵的秩的期望为多少。的因数,由同余的性质可以推导。行不产生贡献,即和之前的。容斥考虑,总共可能的情况是。行产生贡献,即和之前的。行线性相关,方案数是。
2023-08-13 16:19:06
158
原创 23.8.11 牛客暑期多校8部分题解
,狐狸先手,狐狸每次只能交换两行的数,猫每次只能交换两列的数,不能多次操作或者不操作,在自己无法赢的情况下会干扰对方赢,问最后是狐狸赢还是猫赢还是都无法赢。除非狐狸能在第一步操作把矩阵复原,否则考虑假设有败方,他会让自己方向不复原从而干扰对方赢,因此双方都无法赢。如果只有两行,狐狸每次操作固定,只要判断猫能否复原即可,需要行列的逆序对奇偶性与相同。通过模拟可以发现最后需要在同一行或者同一列的数如果不在同一行同一列了就无法复原。只有两列的情况也可以类比,只是需要逆序对奇偶性不同狐狸才能赢。
2023-08-12 16:32:00
173
原创 23.8.8 杭电暑期多校7部分题解
每次操作可以走一个与当前点有连边并且双方都没走到过的点,问最后是谁赢。路径上每个点只经过非路径上的点所能走的最长的链长,可以用树形dp解决。因此如果想要这么走就应该保证对方此时能走的链没有比你要走的长。很明显当玩家一不选择往与玩家二所在的点的路径走,相当于把。有两个玩家和一棵树,初始状态玩家一和玩家二分别在两个点。的路径能到的最远的距离比对方set内的最大值大则必胜。因为不能走走过的点,因此每个人走的路径一定是一条链。双方分别用set维护在当前点所能到达的最远的距离。那么可以开个数组存储。
2023-08-09 15:56:42
554
原创 23.8.7 牛客暑期多校7部分题解
个数取出来形成新环(可能不止一个环),在新环上就是相邻的数操作了。,每次操作可以选择距离恰好为。,问能否使此数列全部变为。则不用操作,此外,如果。在剩余情况中,可以把每。注意思考一些特殊条件即可。
2023-08-09 14:21:39
107
原创 23.8.3 杭电暑期多校6部分题解
当前子树的链值用vector暂时记录,这颗子树遍历完后将相反数统计进map里即为需要寻找的能产生贡献的目标链值。统计方法可以将每条延伸出去的链值记录,然后在之前的搜过的非同一子树中的链找是否有答案累加即可。考虑一个和哈希很像的想法,假设三个颜色都有一个权值,只要和为零就表示路径上三者数量相等。反复找树的重心,然后统计经过重心的合法路径,将重心删除后在剩下的子树里继续重复操作即可。有一棵树,每个节点有一个颜色可以为。,需要查询树上有多少条简单路径满足。只要两两之间很大且互质即可,不妨设。
2023-08-04 19:11:22
178
原创 23.7.31 牛客暑期多校5部分题解
对于每个遍历的区间,在下方所有区间都满足的情况下,下一级区间奇偶性异或和如果相等则什么操作都不用。,表示区间左端点,区间右端点,这个区间的逆序对数的奇偶性,保证两个区间包含或者不相交。因为区间两两非包含即相交,可以搞出来一棵树的样子,那么遍历区间直接变成遍历树。可以的话只要将去和把前者的区间的最大值和后者区间的最小值交换即可。才能使其逆序对数最少,输出最少的逆序对数或不可行。,这样操作会形成若干个环,要使存在一个环的。,可以将其中的负数从优去掉(绝对值大的优先),可以从优加入去掉的负数(绝对值小的优先)
2023-08-02 17:02:53
583
原创 23.8.1 杭电暑期多校5部分题解
的蛇,定义两条蛇可以进行对战并会使败方变成胜者的尾巴成为一条新的蛇,最后剩下。但这样这样最后会出现统计重复的情况,需要除以。的,可以考虑容斥,如果先在一里先放。个球,那么用隔板法处理后就会超过。条蛇的前后顺序有关系,所以要乘。,问最后留下的蛇有几种不同情况。时,可以用隔板法处理答案为。条蛇并且没有蛇的长度超过。很自然会从题目联想到。
2023-08-02 16:25:19
172
原创 23.7.28 牛客暑期多校4部分题解
个小正方形组成的图你需要用更大正方形去反复覆盖,每次需要恰好覆盖。的矩形需要几个正方形,如果整张图可以小于。个正方形,问如何操作才能使图变成一个。为奇数时,我在考场上只想着把边分成。然后处理无法保证每次只覆盖。为偶数时可以分成四个。个以内的小正方形就挂了。,然后用辗转相除去计算。
2023-07-29 13:42:43
200
原创 23.7.24 牛客暑期多校3部分题解
转移的时候枚举上一段长度进行专一即可,要注意第一段前面没有数,所以要特判处理。取走下一张牌判断与猜测情况是否相同,相同则回到2操作继续,不相同则结束操作。先模拟一下,发现最终摸到牌的序列一定是小数上升序列和大数下降序列的交替。则猜测下一张小于这张牌,否则猜测下一张大于这张牌。种情况中一共能取几张牌(对输入的。表示前一段为小数,用。
2023-07-26 16:51:48
107
原创 一本通OJ 1810 登山 题解
很明显这题与卡特兰数有关,但是不同点在于这题中存在点不能走。A:可以发现这种情况不存在不合法方案,所以方案数即为。考虑容斥,我们要求出总方案数和不合法方案数相减。接下来以这个例子来解释做法,再次考虑容斥原理。且不经过之前任何一个不能走的点的方案数。那么现在需要解决的是,如何求从。个点不能走,问你有几种方案。的部分对称回去即可走到。这样就能保证不会重复统计。的不合法的方案是相等。由此可以推导得出,从。总方案数即是卡特兰数。
2023-07-23 13:59:43
210
原创 23.7.20 杭电暑期多校2部分题解
时,Alice无论如何操作总会留下让Bob可以改变总游戏先手胜负状态的区间,因此必败。在考场上直接跳过验证进入了下一步,赛后尝试推了一下还是推不出来,然后尝试换了个思路。所求概率等于合法方案数除以总方案数,所以我们只要推合法方案数即可。然后我就卡住了,因为我不会化简,所以就去打一下。然后发现好像和自然对数有关系,找下规律,猜想。选择一个连续的序列,它的长度小于等于。如果暴力求解,可以计算出合法方案数为。时,一次操作直接搞定,Alice赢。选择一个连续的序列,将其中连续的。如果第二步没有找到这个数,取第。
2023-07-23 12:24:47
158
原创 23.7.18 杭电暑期多校1部分题解
的距离,函数的结果就是到达当前点的时间),用二者相等写出四个等式,化简后用扩展欧几里德算法分别求解,并且记录最小值和产生最小值的点,再处理亿点点细节就可以啦。将从起点出发,每秒跑一个点地折返跑,问最早相遇的点(或者不能相遇)先将两个人的路径标记寻找重合的点,对于每个可能的点,到达的时间都可以用两个函数来表示,即。组查询,每组查询包含。
2023-07-23 12:20:09
81
原创 23.7.17 牛客暑期多校1部分题解
换出去的操作可以忽略,而剩下的操作足以将其有序化,那么接下来的分析就先建立在。个字符交换,要求这组操作能将除给定的01序列外的另外所有长度为。),保证此序列不为单调不递减,你需要给出一组操作,操作数。的所有数两两交换(这里的反向同理),操作数为。的序列有效排序,那么剩下有问题的序列中的。尽可能在靠后的位置以保证有序),操作数为。以上操作可以保证在此序列不有序的情况下将。因为此序列不为单调不递减,所以在前。的所有数两两交换使其有序,操作数为。的01序列排序成单调不递减的序列。位置之后的所有数两两交换以保证。
2023-07-23 12:15:54
104
原创 23.7.16 清华大学训练营预选赛部分题解
使在其一定高度以上的图形按顺序重新拼起来之后与第一个图形一样,高度小于等于你选的高度的位置会被暂时忽略,你选的高度可以为负数,问你是否有方案可以满足,并输出可行方案最后形成拼接的图形的有哪几个。因为数据范围较大,可用st表预处理出区间最大值,然后在查询时二分寻找后方第一个大于所给高度的点验证。然后并没有想到可以怎么合并答案,但本着万一能过的想法,不合并直接提交,于是就ac了…枚举左端点,可以确定选择的高度,然后暴力向后验证是否可行。位置上的高度,此为你要找的目标,再给你一个宽度为。
2023-07-23 12:09:05
110
原创 2023暑假集训总览
的距离,函数的结果就是到达当前点的时间),用二者相等写出四个等式,化简后用扩展欧几里德算法分别求解,并且记录最小值和产生最小值的点,再处理亿点点细节就可以啦。换出去的操作可以忽略,而剩下的操作足以将其有序化,那么接下来的分析就先建立在。个字符交换,要求这组操作能将除给定的01序列外的另外所有长度为。),保证此序列不为单调不递减,你需要给出一组操作,操作数。先将两个人的路径标记寻找重合的点,对于每个可能的点,的所有数两两交换(这里的反向同理),操作数为。的序列有效排序,那么剩下有问题的序列中的。
2023-07-20 18:00:34
160
原创 取石子游戏’s 题解
是一道水题题面:小H和小Z正在玩一个取石子游戏。 取石子游戏的规则是这样的,每个人每次可以从一堆石子中取出若干个石子,每次取石子的个数有限制,谁不能取石子时就会输掉游戏。 小H先进行操作,他想问你他是否有必胜策略,如果有,第一步如何取石子。一句话题解:暴力求出sg函数,再暴力枚举第一步看是否转移成了必败状态输出即可(因为转移到必败即是让先手必胜的走法)。好的结束了。咳,代码稍加收拾一下吧。#include <bits/stdc++.h>using namespace std;con
2020-06-13 08:25:00
902
原创 Eden的新背包问题’s 题解
是几百年前写的题目。。。题目链接首先,50分做法:把原先的多重背包二进制拆分为01背包100分做法:考虑优化设置状态 f[i][j]f[i][j]f[i][j] 表示到第 iii 个时总体积为 jjj 的最大价值,那么我们只要求 f[di−1][ei]f[d_i-1][e_i]f[di−1][ei] 就可以把第 did_idi 个给忽略掉啦,然后后半段只要从后往前做预处理,然后再来个for循环合并答案就可以了。不上代码了。。。...
2020-05-31 19:55:09
287
原创 c's 80分
什么鬼题目名字???好吧解释一下,考试题,题目a、b、c。。。往常套路了。题目要求的就是有 nnn 个点,你需要连 n+1n+1n+1 条边,使得原来的图是联通图,而且在删除任意一条边时不会使图不连通,问你方案数。那么很显然有两种情况(也不算很显然吧,反正你推样例的时候会推出来)。第一种:先把这 nnn 个点连成一个环,再在环上连一条对角线,公式为 (n∗(n−1)/2−3)∗(n!/12...
2020-03-02 11:51:42
216
原创 方格染色's 题解
纯粹的推公式题???(组合计数+概率期望)题目链接题目大致就是说给一个 n∗nn*nn∗n 大小的格子上填入 1 m1~m1 m 中的 n∗nn*nn∗n 个数(m>n∗nm>n*nm>n∗n),然后选择 kkk 个数涂黑(可能不在棋盘上),若有 rrr 行 ccc 列被全部涂黑,那么就有 2r+c2^{r+c}2r+c 的得分,问期望得分。那么转化一下...
2020-01-29 14:24:41
763
原创 和風いろはちゃん / Iroha and Haiku's 题解
既然讲了,那就写下题解吧。题目大意:长度为 nnn 小标从 000 到 n−1n-1n−1 的序列 aaa,满足 1<=a<=101<=a<=101<=a<=10。如果存在 (x,y,z,w)(0<=x<y<z<w<=n)(x,y,z,w)(0<=x<y<z<w<=n)(x,y,z,w)(0<...
2020-01-19 09:04:24
457
1
原创 字符串游戏's 题解
来自信息学奥赛一本通T1819题目描述:游戏分为 kkk 轮,参与者共有2个。给定一个由小写英文字母组成的字符串的集合 SSS,在每轮游戏开始时,会有一个空串,然后两人轮流在该串的末尾添加字符,并且需要保证新的字符串是 SSS 中某个串的前缀,直到有一方不能操作,则不能操作的一方输掉这一轮。新的一轮由上一轮输的人先手,最后一轮赢的人获得游戏胜利。假定双方都采取最优策略,求第一轮先手的一方...
2019-12-22 19:46:51
1389
4
原创 树上取石子's 题解
来自信息学奥赛一本通T1818题面描述:Alice和Bob想比比谁能够收集到最多的石子数量。Alice将石子分成了 nnn 堆(编号 1…n1…n1…n),并且规定了它们的选取顺序,刚好形成一颗有向树。在游戏过程中,两人从根节点开始,轮流取走石子(一次取一堆),当一个人取走结点 iii 的石子后,另一个人只能从结点i的儿子节点中选取一个。当取到叶子结点时游戏结束。然后两人会比较自己得到的石...
2019-12-20 21:46:42
373
原创 染色游戏’s 题解
来自信息学奥赛一本通T1817题面描述:Alice和Bob在玩游戏。有一棵 nnn 个节点的树,Alice和Bob轮流操作,Alice先手,一开始树上所有节点都没有颜色,Alice每次会选一个没有被染色的节点并把这个节点染成红色(不能不选),Bob每次会选一个没有被染色的节点并把这个节点染成蓝色(不能不选)。当有人操作不了时,游戏就终止了。Alice的最终得分为红色连通块个数,Bob的最终...
2019-12-18 20:27:14
974
2
原创 取石子’s 题解
来自信息学奥赛一本通T1816题面描述:有 nnn 堆石子,第 iii 堆石子有 x[i]x[i]x[i] 个。Alice和Bob轮流取石子,Alice先手,每次从一堆石子中取 a∼ba∼ba∼b 个。无法操作的人失败。此外,当一个人取完一堆石子时他会立即获胜。求谁会获胜。有多组数据。基本的博弈论的升级版???显然这题不能直接把sg函数异或起来了,开始分类讨论。前三个部分分口胡一下(...
2019-12-15 21:58:02
697
原创 放石子’s 题解
互讲题目阶段开始。。。来自信息学奥赛一本通T1815(其实本来我组是要搞一二两章来着,后来换了一下。。。)开始博弈论进阶???emmm,其实我基础博弈都不是特别好的啦。。。语言表达能力较差,接下来讲题可能会有bug什么的,请大家见谅。进入正题前再吐槽一句,这是我第一次用bitset没想到是为了博弈论而去学习的。。。先来几个有关链接:sg函数介绍bitset介绍bitset的内置...
2019-12-12 19:50:32
593
1
原创 Emiya 家今天的饭's 题解
又是一道令人无语的D2T1。。。考场搞了半天还是只能敲暴力。。。题目链接题目太繁琐。。。简单点说就是找满足条件的组合数。直接进暴力深搜暴力。。。(因为我正解的转移推不出来)首先,第一维表示目前枚举到了第几种做法,第二维表示选了几种做法,第三维表示能组成的组合数。到当前层,你可以枚举每个不为0的来统计,如果发现可以满足条件,累乘上去,搜索下一层。最后再不要这层枚举,再有一个简单的剪枝,...
2019-11-30 21:14:54
274
原创 括号树's 题解
这是一道令我很揪心的D1T2原因是我在考场上想出了正解却没调出来。。。题目链接题面让你求一棵树上能匹配的括号串的个数。呃,前面的20分直接暴力过(在加上是链随便打一下就好了啦),我就不解释了(明明是没写然后又不想写)。然后说一下由于考场上没调出来而交的55分代码吧。首先先来看一下链的性质。明显的一件事,形如 ( ( ) )(\ (\ )\ )( ...
2019-11-30 18:42:50
336
原创 格雷码's 题解
这题我代码可能算是比较长的了(来自2019年csp-s D1T1)某谷题目链接就是一个骚操作问你 nnn 列 kkk 行是什么。。。一开始看到题没什么思路,然后推了一下样例就差不多想出来了(结果我调了半小时。。。)按题目,每个状态都是由上一层反转过来放在原来的后面再进行加0加1操作的(那就相当于逆向思考过来每次操作的在前半个还是向后半个)。那么显然我们可以从 kkk 的二进制的第 nnn...
2019-11-26 21:37:26
207
原创 树的重心‘s 题解
题目来自2019年csp-s D2T3。两个字诠释,毒瘤。。。题目链接(来自某谷)简单介绍下题面:对于每组数据会给出一棵树,每次割去一条边分成两个棵树后,把这两棵树的重心的编号进行相加(用到一个题目给出的定理,每棵树的重心显然只会有一个或者两个),问你所有情况的结果累加的和(及把树上每条边割去后的结果累加)。先介绍一下40分的纯暴力:不妨假设以 111 为根节点,我们可以预处理出以每个...
2019-11-26 20:47:24
354
原创 2019 CSP-S 游记
这是这只蒟蒻第一次参加这种省级的比赛我太难了DAY0下午出发来到宾馆进行简单的调整。早早地睡下,怎么也睡不着,好紧张啊。。。DAY1凌晨3点被蚊子咬醒,又醒了一个小时的样子才睡着,然后早上6点20又醒了,火的我索性不睡了,起床看风景(虽然貌似并没什么风景好看的。。。),然后吃个早饭准备出发。到达考场,整个人脑子一片空白,刚复习的什么东西全忘了,整个人有点方。。。对照座位号坐下,告诉...
2019-11-17 16:18:09
214
原创 总结一下一些c++运算符号的优先顺序
突然想起来这个需要总结下这样可以更好的少用括号剪短代码第一级:::::::(范围解析)第二级:++++++(后缀自增)−−--−−(后缀自减)()()()[][][](数组下标)−>->−>(指针)第三级:++++++(前缀自增)−−--−−(前缀自减)+++(正数)−-−(负数)!!!∼\sim∼∗*∗(取指针的值)&\&&a...
2019-11-06 22:01:28
1722
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人