12 2021 档案

摘要:记Y为在最后一次两者票数相同前投票的ESPer数量除以K,不难得到答案即1E(Y)2,问题也即求E(Y) 为了方便叙述,称S为一种方案,PSYS分别为S的发生概率和Y,显然E(Y)=SPSYS 对于一 阅读全文
posted @ 2021-12-30 11:01 PYWBKTDA 阅读(105) 评论(0) 推荐(0) 编辑
摘要:结论:若有k个洞,至多只有k+1种不同的最终状态 考虑相邻两次操作,注意到除非两者(对应的洞在该时刻)相邻且方向正好相对,否则交换不影响最终状态 这种情况下,不妨将其中后操作的洞方向翻转(这也不影响),进而也即可交换 通过上述方式将操作按洞从左到右排序,那么一个洞向左会覆盖(左侧)所有段、向 阅读全文
posted @ 2021-12-29 10:43 PYWBKTDA 阅读(128) 评论(0) 推荐(0) 编辑
摘要:假设已经确定顺序(且不妨假设ai<bi),考虑如何判定是否合法—— 显然ai不能为峰且峰不能相邻,因此峰数的上限是n1 结论:合法当且仅当存在k[0,n]使得1i<k,ai+1<bi且$\forall k+2\le 阅读全文
posted @ 2021-12-24 15:52 PYWBKTDA 阅读(100) 评论(0) 推荐(0) 编辑
摘要:记两堆(从顶开始)依次为aibi(其中i[1,n]),考虑如何求最小得分: 注意到无法操作即其中一堆为空,得分即删除的数个数,而2n永远不会被删除 不妨假设2nbi中,最小得分也即删除ai中所有数至少要删除bi中几个数+n 阅读全文
posted @ 2021-12-19 15:44 PYWBKTDA 阅读(64) 评论(0) 推荐(0) 编辑
摘要:问题即是要对一个栈支持:1.加入一个元素;2.删除最早加入的元素(各有m次) 做法1(题解中的算法2) 将栈中的元素标记为01,并按如下方式维护: 1.对于加入操作,直接将其加入并标记为1 2.对于删除操作,对其分类讨论—— (1)若栈顶标记为0,直接弹出即可 (2)若栈顶标记为1,不断弹出栈顶 阅读全文
posted @ 2021-12-19 13:11 PYWBKTDA 阅读(169) 评论(5) 推荐(1) 编辑
摘要:显然两维是独立的,不妨考虑其中一维的答案 将其离散,枚举交包含的某一段(若不存在即交为空),进而即可确定所有段的方向,用线段树维护取到最大值的位置数即可 时间复杂度为o(nlogn),可以通过 1 #include<bits/stdc++.h> 2 using namespace std; 阅读全文
posted @ 2021-12-18 13:47 PYWBKTDA 阅读(66) 评论(0) 推荐(0) 编辑
摘要:定义fi,x,s表示仅考虑{a1,a2,...,ai},当前mexxai中有s种不同的>x的值的方案数 需要注意的是,并不关心于这s种具体的值,即这些数仅仅是对s计数 考虑转移,根据定义不难得到即$$\begin{ 阅读全文
posted @ 2021-12-12 16:40 PYWBKTDA 阅读(147) 评论(0) 推荐(0) 编辑
摘要:(以下图默认均为n个点,m条边,无自环的无向连通图) 注意到点编号并没有意义,不妨强制dfs序为{1,2,...,n},那么{ai}合法等价于存在图G使得点i的度数为ai且存在一种dfs序为{1,2,...,n} 称满足后者的图为"好图", 阅读全文
posted @ 2021-12-11 22:40 PYWBKTDA 阅读(131) 评论(0) 推荐(0) 编辑
摘要:为了方便,以下默认字符集为{A,R,C} 将操作逆向,即将形如ARC的子串变为任意字符,求Tk步内能得到的S数量 考虑给定S,如何判定S能否被Tk步内得到—— 将任意字符用?表示,称两个字符串匹配即将?替换后两者相同,那么操作即将能与ARC匹配的子串变为??? 阅读全文
posted @ 2021-12-09 15:15 PYWBKTDA 阅读(169) 评论(0) 推荐(0) 编辑
摘要:对每一个k分别计算答案,通过旋转不妨仅考虑k=n1时 记ai为第i次扔奶酪的位置,x为经过n0.1的奶酪次数(允许重复) 记bi为经过i+0.1的奶酪次数,则有bi=x+j=1n1[aji]i(总共$x+ 阅读全文
posted @ 2021-12-08 21:39 PYWBKTDA 阅读(94) 评论(0) 推荐(0) 编辑
摘要:对于一组合法的{xi},取最小的k使得k[li,ri],xi=k,其中k存在性显然 进一步的,考虑枚举k并求对应于这个k的合法{xi}数量,{xi}条件即: 1.$\forall k\in [l_ 阅读全文
posted @ 2021-12-07 15:14 PYWBKTDA 阅读(190) 评论(0) 推荐(0) 编辑
摘要:当Si=Si+1时对i操作显然无意义,不妨强制不允许此类操作 构造排列Pi,初始等于{1,2,...,n},当对i操作后交换PiPi+1 结论:$S_{i}=[\min_{i\le j\le n}P_{j},\max_{1\le j\l 阅读全文
posted @ 2021-12-05 12:29 PYWBKTDA 阅读(147) 评论(0) 推荐(0) 编辑
摘要:考虑k=1时的问题(即AGC017D),可以参考这里(与后面有关系,建议阅读) 而对于所有k,仍以1为根建树,并将整棵树分为若干个独立的问题—— 1.对于内部不存在固定点的极大子树,显然其再加上根父亲即是一个独立的问题,结合上题结论,这个问题的sg值为这棵子树的sg值+1 2.对于去掉上述子 阅读全文
posted @ 2021-12-03 13:25 PYWBKTDA 阅读(212) 评论(0) 推荐(0) 编辑
摘要:将其1为根建树,操作显然即去掉一棵子树(非本身) 考虑sg函数,定义sg(T)为有根树T的sg值,则有以下结论—— 结论:令TT的根节点新增一个父亲得到的树,则sg(T)=sg(T)+1 假设去掉T任意一棵子树(非本身)后会得到$T_{1},T_{2},...,T_{k 阅读全文
posted @ 2021-12-02 15:02 PYWBKTDA 阅读(81) 评论(0) 推荐(0) 编辑
摘要:对t的操作即在t中插入一对括号,逆过程也即删除一对括号 换言之,s能被t得到当且仅当通过删除s中若干对括号可以得到t,问题也即求mint 结论:通过删除s中若干个合法子串(指合法括号序列)可以得到mint 考虑原来得到mint的过程,对于其中每一对 阅读全文
posted @ 2021-12-02 10:53 PYWBKTDA 阅读(101) 评论(0) 推荐(0) 编辑
摘要:记fkmax0i3nj=1i([sj=next(k)][sj=k])(其中k{a,b,c},next(a/b/c)=b/c/a) 结论:有解当且仅当$\sum_{k\in \{a,b,c\}}f_{k}\le 阅读全文
posted @ 2021-12-01 14:23 PYWBKTDA 阅读(145) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示