09 2018 档案

摘要:玩♂游戏 给出一张除了1和n的点度数都为2的图。每次两人轮流拿一个边权。当从1不能到n时上一个拿的人输。问先手是否必胜。 首先,多条链的情况一定会转换成一条链的情况。由于没人会去拿1,当边权和为偶数时,链有奇数条边先手赢,否则后手赢。 因此,边权和为偶数时,先手希望奇数链多。后手希望偶数链多。反之则 阅读全文
posted @ 2018-09-29 13:09 pechpo 阅读(263) 评论(0) 推荐(0)
摘要:管道维修 n m个格子,每个格子有$p_{ij}$的概率堵上。如果一个格子堵上了,那么清理它需要一步。只有当一个格子与外部相联通且被疏通时,你可以去清理它周围的格子。问每一个格子被清理完的期望步数。 颠覆了我对期望题的认知……原来此题非期望dp,而是直接从期望的定义出发。$n^3$预处理即可。 c+ 阅读全文
posted @ 2018-09-25 15:59 pechpo 阅读(195) 评论(0) 推荐(0)
摘要:photo 小明在旅游的路上看到了一条美丽的河,河上有许多船只,有的船只向左航行,有的船只向右航行。小明希望拍下这一美丽的风景,并且把尽可能多的船只都完整地拍到一张照片中。 小明位于河的边上,并且可以在河边的任意位置进行拍照,照相机的视野恰好为$90$度角,只能以垂直于河边的方向进行拍照。河上的船只 阅读全文
posted @ 2018-09-17 16:33 pechpo 阅读(328) 评论(0) 推荐(0)
摘要:一点经验:压位以后,在2^x进制上的操作和在2进制上的操作,结果都是一样的! 阅读全文
posted @ 2018-09-14 14:21 pechpo 阅读(150) 评论(0) 推荐(0)
摘要:/plasticboy/vim markdown: zR:打开所有标题 zM:折叠所有标题 zA:打开当前标题 zC:折叠当前标题 阅读全文
posted @ 2018-09-13 09:11 pechpo 阅读(281) 评论(0) 推荐(0)
摘要:二分 忽然发现自己并写不对二分……先贴个知乎 "链接" 。 正如最高位答主所言——“有多少种写法都不重要,重要的是要会写一种对的。” 怎么写一种 对的 二分查找呢? 首先,我们要保证程序不会死循环。因此,当我们分开区间时,要保证区间被正好分成两半。例如,如果当前区间长度为2,就必须把区间分成两个长度 阅读全文
posted @ 2018-09-12 18:58 pechpo 阅读(201) 评论(0) 推荐(0)
摘要:保护 给出一棵树,若干条树上路径。若干次询问某一点到根的路径上,被覆盖次数大于等于k的点的最浅深度。 把lca标记打到x点和y点的深度线段树上,那么从下往上线段树合并即可。当然,用主席树从上往下合并也可。 c++ include include using namespace std; const 阅读全文
posted @ 2018-09-12 16:03 pechpo 阅读(171) 评论(0) 推荐(0)
摘要:数数字 问$[L,R]$内,数位之积在$[L1,R1]$中的数的个数。 这显然是个数位dp……可是当我写完以后,我发现自己并d不出来。 如果用以前写数位之和的写法,先预处理出18个1~9相乘的状态,发现只有50000 个状态。因此,可以用$f[i][j][0/1]$表示dp到第i位,数位之积的对应编 阅读全文
posted @ 2018-09-11 14:27 pechpo 阅读(390) 评论(0) 推荐(0)
摘要:旅行 给定一个长度为n的序列$a1,a2,\dots,an$。定义序列的代价为$\sum_{i=1}^{n 1}|a_i−a_{i+1}|$。 你现在可以任意次交换相邻的两个数,但是除了第一次交换以外,每次交换的两个数的位置都应该在前一次交换的两个数的位置的右边。 比如说,第一次交换了$(a2,a3 阅读全文
posted @ 2018-09-10 18:43 pechpo 阅读(149) 评论(0) 推荐(0)
摘要:すすめ! 数轴的原点上有一只青蛙。青蛙要跳到数轴上$\ge D$的位置去,但很不幸数轴上有$n$个区间是禁区,不能进入。 青蛙会选择一个长度$L$,从原点开始每次向右跳长度为$L$的一段。一路上青蛙会停的位置是0,L,2L,⋯,直到跳到了$\ge D$的位置。 任意一个位置都不能在禁区中。请求出$L 阅读全文
posted @ 2018-09-10 11:14 pechpo 阅读(256) 评论(0) 推荐(0)
摘要:统计 给定长度为$n$的序列$a$,记$A=\{a_1,a_2,\dots,a_n\}$,你需要计算下面表达式的值: $$\sum_{\substack{S \subseteq A \\ |S| = k}} \left| \max_{x \in S} x \min_{y \in S} y \righ 阅读全文
posted @ 2018-09-10 10:24 pechpo 阅读(139) 评论(0) 推荐(0)
摘要:需要按二段方向键的跳跃: 中途松开方向键的跳跃: 中途按下方向键的跳跃: 意想不到的小跳(如果上方有墙,小跳比大跳磕头跳的更远)(kid站的是最后的位置): 意想不到的小跳 2: 意想不到的小跳 3(如果上方有墙,小跳比大跳磕头跳的更远): 此类三个刺的情况,不能尝试找空隙跳,必须硬从刺上面怼过去: 阅读全文
posted @ 2018-09-08 11:25 pechpo 阅读(303) 评论(0) 推荐(0)
摘要:生成函数 先贴上两位大佬的博客:https://www.cnblogs.com/RabbitHu/p/9178645.html,https://www.cnblogs.com/moomcake/p/9385828.html。 它们可以解答两个问题:生成函数里的x有什么用——没什么用,去掉也行。用生成 阅读全文
posted @ 2018-09-07 16:10 pechpo 阅读(251) 评论(0) 推荐(0)
摘要:Endless spin 给你一段长度为[1..n]的白色区间,每次随机的取一个子区间将这个区间涂黑,问整个区间被涂黑时需要的期望次数。n using namespace std; int T, n; const int maxn=55; long long f[maxn][2][maxn maxn 阅读全文
posted @ 2018-09-06 15:47 pechpo 阅读(232) 评论(0) 推荐(0)
摘要:NTT NTT是一种跑得比FFT快的东西(?)。 元素的幂 考虑有限群G,$a \in G$。元素的幂就是a的几次方。 使得$a^d=e$的最小正整数d称为a的阶,记作$d=ord(a)$。 显然,a的幂生成的集合S是G的子群。因此,$a^{|G|}=e$。 原根 有个结论:$Z_n^ $存在原根$ 阅读全文
posted @ 2018-09-05 15:36 pechpo 阅读(532) 评论(0) 推荐(0)
摘要:铁人两项 求出三元组(s,c,f)的个数,使得在图中从s到c到f有一条简单路径。 考虑如果是树的话怎么做。若选出两点s和f的话,三元组的个数就要加上s和f之间的所有点。那么,换个思路,我们可以考虑每个点被统计到的次数(难道这就是所谓转换法吗?!)。那么一个树形dp就解决了。 但是,这是个图,怎么办呢 阅读全文
posted @ 2018-09-04 21:14 pechpo 阅读(226) 评论(0) 推荐(0)
摘要:cf555e(缩点) 给一个 n 个点 m 条边的图,以及 q 对点 (s,t),让你给 m 条边定向。问是否存在一种方案,使每对点的 s 能走到 t。 $n,m,q≤ 2×10^5$. 首先,在一个边双内,一定存在一种定向方案,使得边双内点两两可达。(考虑桥) 因此,可以直接把边双缩点。然后树上差 阅读全文
posted @ 2018-09-02 19:42 pechpo 阅读(291) 评论(0) 推荐(0)
摘要:ARC102D(构造) 构造一个图,使得$n \le 20,m\le 60$,边从小的点连向大的点,并且从1到n的所有路径,长度与$[0, l 1]$构成双射。 用二进制的思想……代码很鬼畜 c++ include using namespace std; const int maxn=25; in 阅读全文
posted @ 2018-09-02 08:46 pechpo 阅读(263) 评论(0) 推荐(0)
摘要:想(dp) 给出一个音符序列,求最长子序列,满足其由若干个低 高 中 高 (中 高 中 高……)组成。$n \le 1e5$。 好题啊。类比最长不下降子序列的思想,考虑储存最后两位数,推出dp方程(用到了前缀和思想)。 这道题的启发性在于: 对于$有有f[i][j]=f[i 1][j]$类转移的dp 阅读全文
posted @ 2018-09-01 20:03 pechpo 阅读(233) 评论(0) 推荐(0)
摘要:乡(虚点) 给出一个由ABCD和.组成的字符串。从一个ABCD能跳到另一个ABCD上,同时能从一个字母移动到另一个字母。多次询问从一个字符到另一个字符要走几步? 可以发现,对于一个询问,我们有两种策略:直接暴力走到目的地,或者通过ABCD跳跃。 如果我们选择进行跳跃,那么我们就不用考虑点的确切位置, 阅读全文
posted @ 2018-09-01 15:56 pechpo 阅读(162) 评论(0) 推荐(0)