随笔分类 -  题库—BZOJ

上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要:题意 "题目链接" Sol 一点思路都没有,只会暴力,没想到标算是数位dp??Orz 首先答案可以分成两部分来统计 设 $$ f_{i,j}= \begin{aligned} i\oplus j &\left( i\oplus j k\right) \\ 0 &\left( i\oplus j de 阅读全文
posted @ 2018-12-05 15:44 自为风月马前卒 阅读(282) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 和cc的一道题很像啊 对于初始的$N$个点,每加一条限制实际上就是合并了两个联通块。 那么我们预处理出$val[i]$表示的是$i$节点所在的联通块根节点转了$1$圈,该节点会转多少圈 并查集维护联通性以及联通块大小,直接启发式合并就可以了 ~~跑的好像还挺快~~ cpp 阅读全文
posted @ 2018-12-05 11:33 自为风月马前卒 阅读(402) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 首先不难想到一个dp 设$f[i][j]$表示选了$i$个 严格递增 的数最大的数为$j$的方案数 转移的时候判断一下最后一个位置是否是$j$ $$f[i][j] = f[i][j 1] + f[i 1][j 1] j$$ cpp for(int i = 0; i usi 阅读全文
posted @ 2018-12-04 10:05 自为风月马前卒 阅读(1832) 评论(0) 推荐(6)
摘要:题意 "题目链接" Sol 把式子拆开,就是求这个东西 $$\sum_{i = 0} ^n \sum_{j = 1}^{a + id} \sum_{x =1}^j x^k \pmod P$$ 那么设$f(x) = \sum_{i = 1}^n i^k$,这是个经典的$k + 1$多项式,直接差值 式 阅读全文
posted @ 2018-12-03 19:04 自为风月马前卒 阅读(1695) 评论(0) 推荐(4)
摘要:题意 "题目链接" Sol 线性基是可以合并的 倍增维护一下 然后就做完了?? 喵喵喵? cpp // luogu judger enable o2 include define LL long long using namespace std; const int MAXN = 2e4 + 10, 阅读全文
posted @ 2018-12-03 17:20 自为风月马前卒 阅读(335) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 想不到想不到。。 首先在不考虑每个人的真是成绩的情况下,设$f[i][j]$表示考虑了前$i$个人,有$j$个人被碾压的方案数 转移方程:$$f[i][j] = \sum_{k = j}^n f[i 1][k] C_{k}^{k j} C_{N k}^{r[i] 1 (k 阅读全文
posted @ 2018-12-01 21:52 自为风月马前卒 阅读(1371) 评论(2) 推荐(3)
摘要:题意 "题目链接" Sol 神仙题Orzzz 考虑两边是否有$1$ 设$f[i]$表示周长为$2i$的方案数 第一种情况:左侧或右侧有一个1,那么把这个1删去,对应的方案数为$f[i 1]$ 第二种情况:左侧和右侧都有一个1,把这两个1删去,对应的方案数为$f[i 2]$ 第三种情况:左侧右侧都没有 阅读全文
posted @ 2018-11-30 21:41 自为风月马前卒 阅读(560) 评论(0) 推荐(2)
摘要:题意 "题目链接" Sol 又是一道神仙题??。。 把绝对值拆开之后状压前面的符号?。。 下界显然,但是上界为啥是对的呀qwq。。 cpp include using namespace std; const int MAXN = 1e6 + 10; inline int read() { char 阅读全文
posted @ 2018-11-30 17:12 自为风月马前卒 阅读(268) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 神仙题Orzzzz 题目可以转化为从$\leqslant M$的质数中选出$N$个$xor$和为$0$的方案数 这样就好做多了 设$f(x) = [x \text{是质数}]$ $n$次异或FWT即可 快速幂优化一下,中间不用IFWT,最后转一次就行(~~然而并不知道为什 阅读全文
posted @ 2018-11-29 20:59 自为风月马前卒 阅读(480) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 非常妙的一道题 设$inder[i]$表示$i$号节点的度数 首先如果是个DAG的话,可以考虑在每个点的入边中选一条边作为树形图上的边,这样$ans = \prod_{i 1} inder[i]$ 如果加入一条边的话,算答案的时候可能会把一些环的贡献也算进去(比如样例中$ 阅读全文
posted @ 2018-11-29 17:50 自为风月马前卒 阅读(323) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 一眼splay + 二分hash,不过区间splay怎么写来着呀 试着写了两个小时发现死活不对 看了一下yyb的代码发现自己根本就不会splay。。。。 cpp // luogu judger enable o2 include define ull unsigned l 阅读全文
posted @ 2018-11-29 16:05 自为风月马前卒 阅读(350) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 毒瘤SDOI 终于有一道我会做的题啦qwq 首先,本质不同的子串的个数 $ = \frac{n(n + 1)}{2} \sum height[i]$ 把原串翻转过来,每次就相当于添加一个后缀 然后直接用set xjb维护一下前驱后继就行了 时间复杂度:$O(nlogn)$ 阅读全文
posted @ 2018-11-28 18:37 自为风月马前卒 阅读(268) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 不要问我为什么发两篇blog,~~就是为了骗访问量~~ 后缀数组的也比较好想,先把所有位置差分,然后在height数组中二分就行了 ~~数据好水啊~~ 阅读全文
posted @ 2018-11-28 14:59 自为风月马前卒 阅读(273) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 用什么后缀数组啊 直接差分之后 二分+hash找最长公共子串就赢了啊。。。 时间复杂度:$O(nlogn)$(不过我写的是两个log。。反正也能过) cpp // luogu judger enable o2 include define ull unsigned lon 阅读全文
posted @ 2018-11-28 12:36 自为风月马前卒 阅读(259) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 直接把$q_i$除掉 那么$E_j = \sum_{i = 1}^{j 1} q_i \frac{1}{(i j)^2} \sum_{i = j + 1}^n q_i \frac{1}{(i j)^2}$ 设$f_i = q_i, g_i = \frac{1}{i^2}$ 阅读全文
posted @ 2018-11-26 22:27 自为风月马前卒 阅读(243) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 分层图+最短路 建$k+1$层图,对于边$(u, v, w)$,首先在本层内连边权为$w$的无向边,再各向下一层对应的节点连边权为$0$的有向边 如果是取最大最小值的话可以考虑二分答案+最短路 cpp // luogu judger enable o2 // luogu 阅读全文
posted @ 2018-11-09 08:56 自为风月马前卒 阅读(162) 评论(0) 推荐(1)
摘要:题意 "题目链接" Sol 线段树合并~~为什么我会在这个时候学这种东西~~ 就是暴力合并两棵线段树(必须动态开节点),遇到空节点就返回 可以证明,对于$m$个仅有一个元素,权值范围在$[1, n]$的线段树合并的复杂度为$mlogn$ 对于此题来说,显然子树内与子树外互不影响,因此暴力判断一下翻转 阅读全文
posted @ 2018-10-27 17:45 自为风月马前卒 阅读(431) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 倍增Floyd,妙妙喵 一个很显然的思路(~~然而我想不到~~是用$f[k][i][j]$表示从$i$号点出发,走$k$步到$j$的最小值 但是这样复杂度是$O(n^4)$的 考虑倍增优化,设$f[k][i][j]$表示从$i$号点出发,走$2^k$步到$j$的最小值 每 阅读全文
posted @ 2018-10-27 16:27 自为风月马前卒 阅读(766) 评论(0) 推荐(3)
摘要:题意 "题目链接" Sol 按照套路把边转成无向图,我们采取的策略是从权值大的向权值小的连边 然后从按权值从小到大枚举每个点,再枚举他们连出去的点$v$ 如果$v$的度数$\leqslant M$,那么就再暴力枚举$v$连出去的点$t$,看$u$与$t$是否联通(打标记) 否则暴力枚举$u$连出去的 阅读全文
posted @ 2018-10-25 20:47 自为风月马前卒 阅读(317) 评论(0) 推荐(0)
摘要:题意 "题目链接" Sol 不难发现题目给出的是一个树,其中$\frac{i}{K}$是$i$的父亲节点 首先,当$d_i$互不相同时,一个显然的贪心策略就是优先给编号小的分配较大的权值。可以排序后dfs完成。 但是,当$d_i$相同时,可能存在这样一种情况:把编号小的子树内权值较大的节点,和某个编 阅读全文
posted @ 2018-10-22 11:47 自为风月马前卒 阅读(277) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 12 下一页

Contact with me