随笔分类 -  容斥原理

摘要:2019 NWERC(最短路+凸包、线段树二分、智慧题) D. Disposable Switches 显然最终的答案只与经过的边数和经过的最短路径长度和有关 令$dis[x][k]$表示到$x$点经过$k$条边的最短路(因为记录了边数,这个东西可以直接$n^2$预处理 完全不可能的点不容易求,考虑 阅读全文
posted @ 2021-10-27 11:59 jack_yyc 阅读(92) 评论(0) 推荐(0)
摘要:C 注意到最后一段连续的可行答案其实很长 记录一下对于每个$i$来说最后一段连续的起始位置然后暴力转移 #include<bits/stdc++.h> #define inf 2139062143 #define ll long long #define db double #define ld l 阅读全文
posted @ 2021-08-20 15:10 jack_yyc 阅读(64) 评论(0) 推荐(0)
摘要:A 先不考虑空间的限制,考虑每次一个字符串转变的情况,需要找到$trie$树上第一个独立于剩余字符串的前缀 则这个前缀即为这次所需的前缀,但需要考虑这个前缀可以替代之前的前缀的情况 新开一个$num$数组记录$trie$树上每个节点在前缀中出现了几次,则每次新增答案为找到节点的$1-num[x]$ 阅读全文
posted @ 2021-08-16 21:25 jack_yyc 阅读(63) 评论(0) 推荐(0)
摘要:A 很猛的生成函数 咕 B 不妨考虑将题意转化为图,设$0$为起始点,$n+1$为终止点 假设当前在$i$点,下一次生成的数需要更大才能继续,即每次可以走到$i+1,\dots n$这些点 而对于生成更小数的情况则代表了结束,对这种情况我们对$i$向$n+1$连这些概率的边代表结束 设$f_i$表示 阅读全文
posted @ 2021-07-30 19:17 jack_yyc 阅读(44) 评论(0) 推荐(0)