摘要: 题目大意:ことり有$n$个设备,每个设备每秒共减少$a_i$能量(也就是说每一瞬间都在减少,而不是在一个时刻突然减少),开始前有$b_i$能量,ことり还有一个充电宝,无限能量,每秒共可以提供$p$的能量(也是每一瞬间都在提供),求ことり 最多可以用多久 题解:二分答案,比较这段时间中充电宝可以提供的 阅读全文
posted @ 2018-08-13 13:47 Memory_of_winter 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一个长度为 $n$ 的字符串,由 $o,x,?$ 三种字符组成。$?$ 代表 $o,x$ 各有 $50\%$ 概率。求期望的连续 $o$ 长度的平方和。 题解:令$f_i$为到第$i$位的答案,$d_i$为到第$i$位前连续一段$o$的个数的期望,$x_i$为第$i$位为$o$的概率($ 阅读全文
posted @ 2018-08-13 11:40 Memory_of_winter 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一个长度为 $n$ 的 $01$ 序列,每一段极大的连续 $1$ 的价值是 $L^3$(长度为 $L$)。现在给定 $n$ 个实数表示该位为 $1$ 的概率,求期望总价值。 题解: 令$f_i$为到第$i$位的答案,$a_i$为到第$i$位前连续一段$1$的个数的期望,$b_i$为到第$ 阅读全文
posted @ 2018-08-13 11:14 Memory_of_winter 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 $DAG$ 带边权连通图,保证所有点都能到达终点 $n$,每个点等概率沿边走,求起点 $1$ 到终点 $n$ 的期望长度。 题解:拓扑,然后倒着$DP$就可以了 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-13 10:29 Memory_of_winter 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定$n$个数,第$i$个数为$a_i$,记这$n$个数的所有非空子集的和分别为$s_1,s_2,\dots,s_{2^n-1}$;求$s$的中位数。 题解:假设考虑的是所有子集,包括空子集。 令$sum=\sum\limits_{t=1}^n a_i$。 若有一个子集和为$x$,存在另一 阅读全文
posted @ 2018-08-13 09:37 Memory_of_winter 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有$n$个位置$1,2,\dots n$;你有两个棋子$A$和$B$,你要进行$q$次操作,第$i$次操作给定一个$x_i$,你要选择一个棋子移动到$x_i$;求两个棋子最小移动的步数之和。 题解:一个$O(n^2)$的$DP$容易想到$f_{i,j}$表示到了第$i$步,另一个棋子在$j 阅读全文
posted @ 2018-08-13 08:25 Memory_of_winter 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一个整数 $x$ ,一开始为 $0$ 。有 $n$ 个操作,有两种类型: $1 \;a\; b$:将 $x$ 加上整数 $a\cdot 2^b$ ,其中 $a$ 为一个整数, $b$ 为一个非负整数 $2\; k$ :询问 $x$ 在用二进制表示时,第 $2^k$ 位的值($0$或$1$ 阅读全文
posted @ 2018-08-12 18:59 Memory_of_winter 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个长为$n$的序列,每个点需要放置一个守卫塔或一个木偶,在第$i$个点放置守卫塔的代价为$a_i$,放置木偶的代价为$j-i$,$j$为$i$右边第一个守卫塔,求最小代价。 题解:$O(n^2)$的$DP$显然,$ f_i=\min\limits_{j < i}\{f_j+a_i+1 阅读全文
posted @ 2018-08-12 16:51 Memory_of_winter 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 题目大意:单元最短路径(卡$SPFA$) 题解:$dijkstra$($\underline{\hspace{0.5em}}\underline{\hspace{0.5em}}gnu\underline{\hspace{0.5em}}pb\underline{\hspace{0.5em}}ds::p 阅读全文
posted @ 2018-08-11 19:17 Memory_of_winter 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有$n$个点和$m$条边(最多有$10$条边边权相同),求最小生成树个数 题解:对于所有最小生成树,每种边权的边数是一样的。于是就可以求出每种边权在最小生成树中的个数,枚举这种边的边集,求出对于这个边集可以的解(即没有一条边在同一联通块中),再把每种边的方案数乘起来即可。 卡点:无 C++ 阅读全文
posted @ 2018-08-11 18:11 Memory_of_winter 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有$2$个煤矿,$n$天。每天给一个煤矿送餐(共有有$3$种餐),价值为它与前面两次送餐(如果有的话)不同的种类数。最大化价值。 题解:看到只有三种餐,考虑状压$DP$。$f_{i,j,k,l,m}$表示现在是第$i$天,第一个煤矿上一次为$j$,再上一次为$k$(没有为$0$),$l,m 阅读全文
posted @ 2018-08-11 16:58 Memory_of_winter 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一棵点数为 $N$ 的树,以点 1 为根。然后有 $M$ 个操作。 1. 把 $x$ 的点权增加 $a$ 。 2. 把 $x$ 为根的子树中所有点的点权都增加 $a$ 。 3. 询问 $x$ 到根的路径中所有点的点权和。 题解:树链剖分模板题 卡点:我真的好久没打树剖了。。。 1.线段树 阅读全文
posted @ 2018-08-11 15:06 Memory_of_winter 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目大意:在数轴上有$n$个闭区间$[l_1,r_1],[l_2,r_2],...,[l_n,r_n]$。现在要从中选出 $m$ 个区间,使得这 $m$ 个区间共同包含至少一个位置。输出被选中的最长区间长度减去被选中的最短区间长度,若多解,输出最小的一个 题解:把区间按长度排序,然后把左右端点离散化 阅读全文
posted @ 2018-08-11 10:46 Memory_of_winter 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个无向图,其中一个点双联通分量算作一个点,询问两个点之间(包括这两个点)有多少点(注意重边不需要缩点) 题解:$tarjan$缩点,特判一下如果是他的父亲,就不干(去除重边的影响),然后$O(m)$重建图,跑一边$LCA$求距离就好了 卡点:1.没有关注重边 2.查询写成原图中的编号 阅读全文
posted @ 2018-08-11 10:03 Memory_of_winter 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有$n$个点和$m$条边的图($n - 1 \leq m \leq n + 5$),每个点要么黑要么白,两个黑点不可以相邻,问方案数 题解:可以发现当图为一棵树的时候只需要一个树形$DP$ $$令f_{i,j}表示在第i个点,它的状态为j(1为黑,0为白)$$$$f_{i,0}=\prod 阅读全文
posted @ 2018-08-10 19:49 Memory_of_winter 阅读(135) 评论(0) 推荐(0) 编辑