04 2018 档案

摘要:题目链接 这题就是考虑我们有这样一个情况 然后我们试图很方便地求出第三行第二个和第三个常青树之间所有点上下常青树的组合。 考虑使用树状数组,一开始把数组平放在最底下,然后往上推。 阅读全文
posted @ 2018-04-26 14:28 Konoset 阅读(183) 评论(0) 推荐(0)
摘要:题目链接 设f[i][j][k][l]是当前在(i,j),对陷阱的了解状态为k(0表示了解该陷阱为无危险,1表示了解该陷阱有危险,2不了解),l表示当前血,走出迷宫的概率 dfsDP即可。 注意随时更新和细节。 阅读全文
posted @ 2018-04-25 19:52 Konoset 阅读(214) 评论(0) 推荐(0)
摘要:题目链接 我水爆了- - 容易发现可以把两个圆之间连边,左上为起点右下为终点,最小生成树直到起点跟终点连起来,输出边权/2就行。 然后80. 并不理解为什么这可以转化成spfa求最短路,邻接矩阵暴力跑一下就AC了。 阅读全文
posted @ 2018-04-25 09:48 Konoset 阅读(241) 评论(0) 推荐(0)
摘要:题目链接 请看luogu第一篇题解 阅读全文
posted @ 2018-04-23 21:34 Konoset 阅读(187) 评论(0) 推荐(0)
摘要:题目链接 我貌似发现这类DP就是先别管什么虚树……把树形DP搞出来套上虚树板子就好了 这个树形DP就是设sum为答案,sumd为子树内所有点的深度和(当然指的是被询问的点),maxi指子树内最深的点的深度,mini同理 然后考虑我们dfs到x,它的儿子已经遍历到一半,新加进来一个儿子to 显然$su 阅读全文
posted @ 2018-04-23 16:02 Konoset 阅读(167) 评论(0) 推荐(0)
摘要:题目链接 我仿佛中了个爆零debuff 本题分成两部分,五十分用前缀和,f[i][j][k]表示(1,1)到(i,j)的矩形大于等于k的有多少个数(再记录页数和),查询时二分,另外的用主席树,类似方法二分求解, 细节很多需要注意。 阅读全文
posted @ 2018-04-23 10:30 Konoset 阅读(188) 评论(0) 推荐(0)
摘要:题目链接 观察什么时候x到y之间那一段可以被统计 xorsum[x-1]^xorsum[y]=k xorsum[x-1]=xorsum[y]^k||xorsum[y]=xorsum[x-1]^k 莫队维护。 阅读全文
posted @ 2018-04-19 21:19 Konoset 阅读(147) 评论(0) 推荐(0)
摘要:题目链接 好的 看到这题之后我一直在想反演,然后想不出来,一度以为自己脑子有问题 然后我脑子真的有问题,这题tm根本就不是反演 设f[i][j][k][l]表示现在已经DP到从高位往低数的第i位,有没有碰到n的上界,有没有碰到m的上界,有没有碰到k的上界 然后记忆化DFS搞一搞,把方案数和异或和都记 阅读全文
posted @ 2018-04-19 14:25 Konoset 阅读(183) 评论(0) 推荐(0)
摘要:题目链接 费用流,类似最小路径覆盖。 从起点向i连一条容量1费用0的边,从i'向终点连一条容量1费用0的边; 从起点向i'连一条容量1费用为瞬移的边,从i向j'连一条容量1费用为边权的边。 然后跑就可以了。 阅读全文
posted @ 2018-04-19 13:03 Konoset 阅读(205) 评论(0) 推荐(0)
摘要:题目链接 其实这题用Set就完事了但我不会Set 智商-=inf 求虚树上所有边权和的两倍。 具体方式就是splay把所有在虚树上的点存一下,(按照DFS序排序的)每次插入/删除会更新前驱和它、后继和它、前驱和后继的值 阅读全文
posted @ 2018-04-19 09:46 Konoset 阅读(168) 评论(0) 推荐(0)
摘要:题目链接 这题好喵啊…… 设f[i]是最少用i次才能全关上转移到最少用i-1次才能全关上灯的期望值,那么n个灯里有i个是正确的,剩下的都是不正确的 因此期望是$f[i]=frac{n}{i}+frac{(n-i)*f[i+1]}{i}$ 然后我们把初始状态最少用多少次才能关掉求出来 DP一遍,最后统 阅读全文
posted @ 2018-04-18 08:48 Konoset 阅读(131) 评论(0) 推荐(0)
摘要:题目链接 这次坑我的是与或的结合顺序…… 开十个LCT记录一下即可。以上。 阅读全文
posted @ 2018-04-18 08:09 Konoset 阅读(287) 评论(0) 推荐(0)
摘要:题目链接 这题……费用流即可……(哇啊要被打死辣) 然而我printf("%d")爆零四次 好的心如死灰 阅读全文
posted @ 2018-04-17 19:08 Konoset 阅读(161) 评论(0) 推荐(0)
摘要:题目链接 想到缩点后DP这题就迷之好做 横天门就点向该行连一条边 纵门就点向该列连一条边 ziyou门直接枚举……map搞搞……话说ziyou门为啥是违规内容不让我发布? 然后缩点,DP,1A 不过写得迷之心累……想装死…… 阅读全文
posted @ 2018-04-17 10:23 Konoset 阅读(184) 评论(0) 推荐(0)
摘要:题目链接 题目描述非常直接,要求你用快速幂解决第一问,exgcd解决第二问,bsgs解决第三问。 emmmm于是现学bsgs 第二问让求最小整数解好烦啊…… 假设我们要求得方程$ax+by=c(mod p)$的最小整数解 令$d=gcd(a,b)$ 我们求得一个解$x_0,y_0$使得$ax_0+b 阅读全文
posted @ 2018-04-17 09:15 Konoset 阅读(183) 评论(0) 推荐(0)
摘要:题目链接 LCTrotate打错尬死 容易发现本题就是问两边子树大小乘积,于是开个数组动态维护LCT每个节点虚子树上有多少点,在Access和Link的时候更新即可。 阅读全文
posted @ 2018-04-17 08:10 Konoset 阅读(150) 评论(0) 推荐(0)
摘要:题目链接 首先可以想到路径一定是在直径上的。 然后对每个点dfs出不经过直径的以它开始的路径最大长度,记为dis 然后就可以求出直径之后枚举左右端点,设左端点l右端点r,直径上点距离直径上起点的距离用sum[]表示 则此时的$ans=max(max(sum[l],sum[End]-sum[r]),m 阅读全文
posted @ 2018-04-16 19:14 Konoset 阅读(243) 评论(0) 推荐(0)
摘要:题目链接 震惊!两个线段树和一个线段树竟是50分的差距! 本题可以使用二分答案,二分那个位置上最后是什么数。怎么验证呢? 把原序列改变,大于等于mid的全部变成1,小于mid的全部变成0,之后线段树排序。 最后看那个位置上是1还是0,若是1则说明最后那个位置上是个>=mid的数。 阅读全文
posted @ 2018-04-16 14:35 Konoset 阅读(236) 评论(0) 推荐(0)
摘要:题目链接 有个结论是x到y的路径上最长边权值等于最小生成树上最长边权值,于是问题转化为最小生成树。 再考虑把问题反过来,删边变成加边。 于是变成动态维护最小生成树,LCT可以做到。 阅读全文
posted @ 2018-04-16 11:02 Konoset 阅读(117) 评论(0) 推荐(0)
摘要:题目链接 将每个点拆成时刻1~9,然后根据题目要求连边,比如i-j有一条权为x的边就从点i-x向点j-1连一条边,表示经过x次之后可以到达。 然后就矩阵快速幂乱搞就好了。 阅读全文
posted @ 2018-04-14 15:55 Konoset 阅读(187) 评论(0) 推荐(0)
摘要:题目链接 容易发现值为x的点只可能从值为x-1的点转移过来,所以我们把原序列连成一棵树,dfs序就是原序列的一种形式。 就可以直接求啦 阅读全文
posted @ 2018-04-14 11:10 Konoset 阅读(233) 评论(0) 推荐(0)
摘要:题目链接 唉我个ZZ…… 首先考虑到异或是可以每一位分开算的 好的以后再碰见位运算题我一定先往按位开车上想 然后设f[i]为从i点出发到终点是1的概率 高斯消元解方程组即可。 阅读全文
posted @ 2018-04-13 20:22 Konoset 阅读(197) 评论(0) 推荐(0)
摘要:题目链接 emmm我思维好水…… 想了一会lct发现好像不对,然后开始转DP稍微有一点思路,然后看了题解…… 首先可以枚举边,然后原树被你拆成了两个子树。 设D1D2是两个子树的直径,W1W2是子树内某个点到其他点最长距离的最小值,val是断掉的边的权值 然后呢我们发现此时的答案成为了max(max 阅读全文
posted @ 2018-04-13 09:28 Konoset 阅读(165) 评论(0) 推荐(0)
摘要:题目链接 哇我一个活人的智商被题目碾压了 可以把问题转化为有nk个物品,问拿i件物品的方案数有多少种,其中i%k=r。 然后矩阵乘法加速DP即可。 阅读全文
posted @ 2018-04-12 14:15 Konoset 阅读(183) 评论(0) 推荐(0)
摘要:题目链接 参见远航之曲dalao的题解,我再写一遍的话就没啥意思了。 阅读全文
posted @ 2018-04-12 08:56 Konoset 阅读(201) 评论(0) 推荐(0)
摘要:题目链接 最小生成树有两个性质,两个性质都知道的话这题就变成码农题了。 1、无论最小生成树长什么样,所有权值的边的数量是不变的。比如我有棵最小生成树有两条权值为2的边四条权值为1的边,那这个图的所有最小生成树都是两条权值为2的边四条权值为1的边。 2、无论最小生成树长什么样,把边从小到大排序,某一权 阅读全文
posted @ 2018-04-11 11:49 Konoset 阅读(170) 评论(0) 推荐(0)
摘要:题目链接 这题要智商qwq。玩不来玩不来。 观察到(个P,能观察到的全都是dalao)x是解的充要条件是至少有n/x个节点的size是x的倍数。 证明请看这里 然后这题就变模拟了呀。 阅读全文
posted @ 2018-04-11 08:16 Konoset 阅读(122) 评论(0) 推荐(0)
摘要:题目链接 先预处理出幸运数,把成倍数关系的剔掉,然后用容斥原理搜索一下。 这里的容斥很像小学学的那个“班上有n个同学,有a个同学喜欢数学,b个同学喜欢语文……”那样。 阅读全文
posted @ 2018-04-10 15:54 Konoset 阅读(190) 评论(0) 推荐(0)
摘要:题目链接 能把LCT打得每个函数都恰有一个错误也是挺令我惊讶的。 本题使用LCT维护生成树,具体做法是对原图中的每个边建一个点,然后连边的时候相当于是将边的起点跟“边”这个点连起来,边的终点也跟它连起来。 放个图。 比如这是原边。 然后我们搞成这样。 那个小点就是原来那条边啦。 然后我们要连边的时候 阅读全文
posted @ 2018-04-10 13:39 Konoset 阅读(197) 评论(0) 推荐(0)
摘要:题目链接 容易发现如果我们求出p和q这题就差不多快变成一个sb题了。 于是我们就用Pollard Rho算法进行大数分解。 至于这个算法的原理,emmm 其实也不是很清楚啦 阅读全文
posted @ 2018-04-10 09:40 Konoset 阅读(287) 评论(0) 推荐(0)
摘要:题目链接 唉,只有AC了这道题才会感叹考场上没有想出解法的我是多么智障。 我甚至连任何想法都没有。 天啊我当时到底在想些什么。 AC这道题我就能进前15了诶。 我们发现只要确定了轮廓线那么此时的状态就是唯一的。 那么,用15进制的状态去表示一下此时的轮廓线。详细说来,就是我们有n个数,第i个数表示第 阅读全文
posted @ 2018-04-10 07:52 Konoset 阅读(145) 评论(0) 推荐(0)
摘要:题目链接 考虑旋转卡壳求出一个最远点对之后删掉其中一个点,把该点到其余所有点的距离存进堆里…… 最后堆输出答案。 我的代码只有在开O2的情况下才不会re。为啥???? 阅读全文
posted @ 2018-04-09 20:00 Konoset 阅读(148) 评论(0) 推荐(0)
摘要:题目链接 水比题,把圆方程展开减一下把平方都减掉半径的平方也减掉,高斯消元即可。 然后我只输出两位小数,爆了两次零。我好菜啊。 阅读全文
posted @ 2018-04-09 14:51 Konoset 阅读(136) 评论(0) 推荐(0)
摘要:题目链接 我是怎么把“期末考试”在本地写成“假期计划”的 qwq???? 本题把学生和卷子都排个序,按出成绩最晚时间三分。 三分之后可以O(n)的时间统计答案,因为修改卷子出成绩的时间可以贪心计划。 这里着重了解一下为什么可以三分。 我们可以发现随着出成绩的时间推迟,学生的不偷税愉悦度肯定是越来越大 阅读全文
posted @ 2018-04-09 06:19 Konoset 阅读(198) 评论(0) 推荐(0)
摘要:题目链接 这道题我写了个01DP,f[i][j]表示跑到Trie上第i个节点,匹配到字符串第j位行不行 然后重点在*号无限匹配怎么处理 经过一番脑洞我们可以发现*号无限匹配可以拆成两种情况: 1:匹配数无条件+1,但是字符串仍然匹配到底j位 2:直接跳过去了qwq 对应设计状态转移方程就好了 然后这 阅读全文
posted @ 2018-04-03 20:52 Konoset 阅读(245) 评论(0) 推荐(0)
摘要:题目链接 蒟蒻今天终于学会了AC自动机,感觉很稳 (后一句愚人节快乐) 这题开一个f[i][j][k]表示有没有受到限制,正在枚举第j位,来到了AC自动机的第k个节点 的方案数 随后可以刷表更新 注意如果是在枚举第一位的话注意前导0 阅读全文
posted @ 2018-04-01 19:52 Konoset 阅读(191) 评论(0) 推荐(0)
摘要:题目链接 给你们讲个笑话:Konoset是个sb,他快速幂的时候把幂次取模了。 原式差不多就是这样吧$\prod\limits_{i=1}^{n}\prod\limits_{j=1}^{m}f[gcd(i,j)]$ 然后我们枚举gcd(i,j) 可以变换一下 $\prod\limits_{w=1}^ 阅读全文
posted @ 2018-04-01 09:14 Konoset 阅读(184) 评论(0) 推荐(0)