简介
准确的说,杂题整理……
一些闪耀着光芒的题
「codechef JULY19B GUESSPRM」Guess the Prime!
题目描述
在你给出你的猜测之前,你可以问
在每个问题中,你给
然后,你开始猜
然而,
向
社论
eoj猜个p加强版
你可以假设他不会变自己的素数
找两个数字
考虑
随便生成一些
「BJOI2014」想法
题目描述
小强和阿米巴是好朋友。小强要出一套题目。
他的题目以涉及面广(偏)、考察深入(怪)、思维强度大(难)著称。他为了出题,一共攒了
阿米巴指出,为了让一场考试的题目的考察点尽量全面,有一个通用的做法叫做「组合」。如果把两个题目
并且,题目是可以反复组合的。
例如,小强现在有三个想法
现在,小强把
之后,小强把
最后,小强把
现在,小强告诉你每个题目都是如何组合而来的。你要回答的就是,每个题目涉及的想法的集合有多大。
不过,这个问题是很难的。于是,你只需要能够以比较高的概率回答的比较准确即可。
第一行两个整数
, ,依次表示小强的题目数量和想法的数量。 接下来
行,每行两个整数,依次表示小强组合出来的题目都是由哪两个题组合而成的。 个想法对应的题目依次编号为 。之后,小强组合出来的第一个题编号为 ,组合出来的第二个题编号为 ,依次类推。
输出
行,每行一个整数表示小强组合出来的每个题都涉及了几个想法。
对于所有数据,
。
对于每个输出文件,如果其中你有
以上的行的答案和正确答案的误差不超过 ,那么你就可以得到分数。所谓误差不超过 ,即,如果正确答案是 ,那么你的答案在 这个闭区间内。
社论
为什么省选会有这种题啊
考虑到不需要求出正确答案,近似的就好
一个引理:
在
随机选 个实数,第 小的期望值是
考虑把每个
设值域为
这个
「雅礼集训 2017 Day11」PATH
题目描述
给定
求出在
满足经过的所有点
答案模
社论
先考虑一下分母吧,也就是有多少种随机游走的方案(注意,这里只是要求第
不难发现它就是个多重集合排列(要求第
记
考虑分子,也就是合法的游走方案数
这玩意在二维情况下叫做卡特兰数(
高维情况下,可以把每一维横着画长度为
如果把每个格子的访问时间写出来,就是一个标准杨表的形式,也就是相当于求
然而上面那玩意太鬼畜了,用数学化的语言描述就是,设第
不管怎么说还是回到了杨表计数……
感觉这玩意也只能做个求概率了……因为上面那个
根据钩子公式,可以得到分子的一个表达:
然而这个没啥用,因为它是
它的用
记
把分母除下去,得:
然后就只需要计算后面那个东西了
然后如果直接这么转化的话就凉了……似乎只能
还是展开比较好:
由于
也就是说这个
然后就可以忽略掉这个限制来做
然而感觉这个似乎有点偏差啊……实际上最后算答案是需要枚举权值,然后得到它的出现次数,把
换句话说,这个出现次数应该是模的
而且出现次数是
实际上系数大部分都是
也许可以证明吧
考虑到
那么如果能凑出大于
也就是直接忽略掉
一个可能只有我踩到的坑点:若
这部分的实现可以先把需要用到的最小值搞出来,然后都减去这个最小值后
「雅礼集训 2018 Day4」Cube
题目描述
众所周知,正方形有
定义点为零维基础图形,线段为一维基础图形,正方形为二维基础图形,正方体为三维基础图形……
那么请问,一个
多次询问,输出对
社论
考虑一下点到底是个啥东西
定义
比如说正方体上的顶点就是
那么把点再往多扩展一下,不难发现,
因此答案就是
EntropyIncreaser 与 Minecraft
题目描述
求
社论
首先枚举有多少个
考虑设
众所周知,对于
也就是说,总方案为:
注意到
然后把它化简一下:
注意到
好了这回就不需要特判了
惠和惠惠和惠惠惠
题目描述
你在二维坐标系下,一开始你在
求方案数,答案模
社论
设
其中
考虑另一个东西,即
,也就是从 走到 且不能走到第四象限的方案数 这玩意叫
Motzkin numbers
(你并不需要知道这是什么)显然有
,因为开头和结尾必须一个往上一个往下( 比较小的时候有特例) 为了不重不漏的计数,那么只需要在除了
外第一次处于 轴的位置处计数即可 则有:
即:
生成函数为:
由于要求,那么如果取加号,则上面为 ,下面为 因此取负号时,满足
考虑生成函数,设
同时有
由于
多项式开根是不可能开根的,这辈子都不可能多项式开根的
考虑
的形式幂级数的系数 存在三个一次多项式
,满足 而且它们的系数都不大,直接
暴搜即可
显然那个系数不大的结论是在对着结论说过程,正经做法在这:一类通过生成函数求线性递推式的方法
这个做法目前为止的时间复杂度为
其中
所涉及的知识点:多项式初步,打表找规律(说好听点就是归纳总结),高斯消元,离线求逆元
算法难度:noip提高组(大雾)
并不需要
考虑到实际上是让你求:
不难发现它是一个整式递推数列
说人话就是,相比于线性递推数列,它前面的系数从常数扩展到了一个多项式
举个例子,某个整式递推数列也许长这样:
不妨将它一般化,假设递推长度为
然后就可以高斯消元了,不过很可惜它是线性相关的,也就是你可能有很多解
不过一般来说,在这类问题中,它一定是一个基解乘以常数构成的解集
也就是说如果碰到了一个自由元,就随便给它赋个随机数,然后继续消元
注意你的目标是
然后你就可以在
之后还原这个序列的时候就这么递推过去就行了,注意到要求逆,这里可能比叫恶心
不过在模素数意义下,
回到这个题,会发现这个形式幂级数会有
同时发现这个内层多项式的常数项为
诶不过我们只需要知道非
换而言之这个时间复杂度是
「雅礼集训 2018 Day4」Divide
神仙题……orz ImagineC
显然跟
考虑把
这样的话,就可以把
假设已经排好序了,设
如果对于所有的
即:
否则,无论
那么剩下的问题就是如何对
考虑先对
此时把
如果
「Wannafly挑战赛26」msc的棋盘
题目描述
给定
答案模
社论
好神仙的东西啊……orz ImagineC
网络流计数(大雾)
考虑如果给定了
考虑网络流建图,源点向行连流量为
对于行
如果最后流量为
由于最大流等于最小割,只需要最小割为
考虑这张网络流的图,它一共分成了四层
由于要求是一个割集,因此如果在
由于中间的边的权值都是
假设
首先它肯定能达到
由于最小割是
也就是如果合法,当且仅当:
注意到还有一个条件就是横纵的棋子个数应相等,即
可以先通过枚举
然后就可以
转移则可以枚举填了多少个
「雅礼集训 2017 Day11」DIV
题目描述
定义复数
给定
答案模
社论
orz 11Dimensions
开局一个主函数,剩下函数全靠Lambda
若
对于第二个式子,即:
设
替换一下,可得:
先考虑虚部大于
其中
考虑对
设
即:
同时有:
虚部小于
还剩下虚部为
「雅礼集训 2018 Day10」文明
题目描述
给定一棵树,若干次询问,每次给定
每次每个人会把当前他所在的连通块往外扩展距离
求
社论
显然不能达到的点构成了一些连通块(子树之类的)
那么对于所有的
然后把这些点加上
答案就是
auto lambda
一时爽,一直这啥一直爽
一个很有效的常数优化:倍增数组的 f[N][20]
,要写成 f[20][N]
,然后就快了
「20190710」抽卡
题目描述
你在抽卡,你每次有
如果你连续
求抽到
答案模
社论
一场模拟赛,两个计数,一个照着结论出题,这是人干的事啊……
对于脸黑的限制,不妨枚举抽出
即:
化简一下:
其中有:
则有:
于是有:
然后有:
然后有:
然后有:
然后有:
其中:
于是有:
这么大数据范围的求逆元之和,出题人可能脑子出问题了
求逆元和的话,可以先每隔
「codechef JULY19B MXMN」Maximum and Minimum
题目描述
大厨喜欢图论,为了表达他的热爱,他定义了函数
他们各有
请你计算
答案对
其中
社论
强行学了一波边分树合并
考虑边分树合并,较浅的是左侧,较深的是右侧
因此对于左侧点,求一个到分治边的
这样合并的贡献就是左子树求和了,记得要乘以右子树大小
真社论:
- 模数是
(就我一个用了一大堆头文件然后忘记改模数的……) - 实际上
重构树本身就是三度化的……并不需要三度化(偷懒好啊)…… struct
的函数内部static
好像是只有一个的……lambda
表达式的坏处就是,如果-f
了的话,根本不知道是哪里写挂了……- 用
vector
有个好处就是,你知道你那里数组没开够……
henry_y 的函数
题目描述
某一天,你发现了一个神奇的函数
( 为质数, 表示异或) ( 与 互质)
设:
求出
社论
这题妙啊……
考虑一下
发现只有
换句话说,考虑一下如果
如果
综上,发生变化当且仅当
那么变化量就很好计算了,它是一个狄利克雷卷积的形式(因为只需要枚举
对于变化量,有:
由于
既然没了下取整,就可以把
线性筛一下就好了
梦中的数论
题目描述
求:
其中,
答案模
社论
考虑后面那个是啥,相当于从
于是答案就是:
对于
Check,Check,Check one two!
题目描述
给定字符串
其中:
表示从字符串第 个位置开始的后缀和从第 个位置开始的后缀的最长公共前缀长度 表示在字符串第 个位置结束的前缀和在第 个位置结束的前缀的最长公共后缀长度
社论
先不考虑神仙的
题意转化为了,给定两棵树,求两两点对的
边分树合并一下就好了
共价大爷游长沙
题目描述
有一棵
- 删除一条边并加入一条边,保证操作之后还是一棵树
- 在路径集合
中加入一条路径 - 删除路径集合
中的一条路径。 - 对于一条边
(保证存在),询问是否 中的所有路径都经过了这条边
其中
社论
考虑对每个
「NOI2014」魔法森林
题目描述
给定一张无向图,每条边有两个权值
要求找出一条从
其中
社论
先把边按照
不难发现它就是最小生成树,直接
一个不正经的做法:动态加边最短路,然而官方数据没卡……