自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(43)
  • 收藏
  • 关注

转载 信息学竞赛中一类决策问题的通解

这里所谓一类决策问题,是指给你一个数的区间,然后你需要找到最小的满足条件的数或者最大的不满足条件的数,一般保证可二分性,即如果$x$满足条件,则所有$\ge x$的数都满足条件;如果$x$不满足条件,则所有$\le x$的数都不满足条件。最简单的就是二分查找了。比如现在有6个数:1,3,6,10,15,21,再给一个$x(x\le 21)$,然后要询问$\ge x$的最小的数,这个直...

2016-08-16 13:35:00 123

转载 CF Gym100548 K Last Defence 解题报告

先特判掉特殊情况:$a=b,Ans=2$$ab=0,a+b>0,Ans=2$$a=b=0,Ans=1$ 考虑剩下的非特殊情况。记$Solve(a,b)$为数列中除了$a,b$外的不同的数的个数,分两种情况:$b|a$,设$a=kb$,那么数列会出现的数有:$0,b,2b,3b,\cdots,kb$,那么$Solve(a,b)=k-1$。$b\nm...

2016-08-13 16:00:00 127

转载 一些经典的容斥问题

在平面中给$n$个点,求这$n$个点构成的三角形/锐角三角形的个数。求三角形的个数比较简单。首先全集是$\binom{n}{3}$,然后考虑补集,补集就是三点共线的点对。所以我们可以枚举每一个点,然后为了避免算重,我们接下来只考虑标号比当前点小的点。接着就进行极角排序,这样就可以统计出当前点所在的所有直线以及直线上的点的个数。设某直线上有$m$个点,那么答案就减去$\bino...

2016-08-13 12:21:00 255

转载 HDOJ 3547 DIY Cube 解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3547题目大意:求用$C$种颜色给立方体的8个顶点染色的本质不同的方法。两种方法本质不同即不能通过旋转立方体使得两个立方体的染色情况一致。简要题解:首先可以得到有24种组合旋转方式。根据Polya定理以及群论中的拉格朗日定理,然后再自己多想一想,就可以得到:$Ans=\frac{x^8...

2016-08-13 00:26:00 191

转载 一些经典的期望问题

有$m$个和为$n$的非负整数,求这$m$个数的期望方差。考虑方差的式子: $$s^2=\frac{1}{m}\times\sum_{i=1}^{m}(X_i - \overline{X})^2 = \frac{1}{m}\times\sum_{i=1}^{m}{X_i}^2-\frac{n^2}{m^2}$$所以我们可以把问题转化为求期望平方和。有: ...

2016-08-13 00:07:00 185

转载

我不是哑巴,但我选择保持沉默,因为再大声的呼喊,也会被冰冷的现实所湮没。我保持沉默,但我决不自甘堕落,我可以在我的内心深处,鸣奏属于自己的洒脱。也许有一天,我得以将命运挣脱,到那时,我一定会高喊出自我,直到唇焦口燥,声嘶力竭,哪管它风也婆娑,雨也滂沱。转载于:https://www.cnblogs.com/gromah/p/506181...

2015-12-20 21:06:00 67

转载 人生

月亮的皎洁,是一种孤独,纵使身旁有群星欢舞。大树的参天,是一种孤独,纵使腰间有鸟儿驻足。人世间有许许多多的孤独,但也不需为之恍恍惚惚。因为总有一些人,手持和你手中一样的孤独,与你一起行于,漫漫无际的,人生之路。转载于:https://www.cnblogs.com/gromah/p/5061807.html...

2015-12-20 21:03:00 86

转载 BZOJ 4341 [CF253 Printer] 解题报告

乍一看这个题好像可以二分优先度搞搞。。。实际上能不能这么搞呢。。。?我反正不会。。。于是开始讲我的乱搞算法:首先肯定要把任务按照优先度排序。用一棵在线建点的线段树维护一个时刻是否在工作。然后就依次插入任务,记为 i,具体而言就是二分其右端点,然后令这整个区间都变成 “工作” 的状态。在 i 被插入之前,还要检验一下在当前情况那个神秘任务的右端点是不是题中所要求...

2015-11-29 21:22:00 115

转载 BZOJ 4302 Buildings 解题报告

这个题好像很有趣的样子。题目分析:房间都是 $1\times k$ 的,也就是一条一条的。这个好像比较显然的样子。一个房间如果要覆盖某个格子$u$,那么这个房间的面积至少为 $dis(u, Boundry)$,即其到边界的距离,这个好像也比较显然的样子。于是答案至少是 $max\{dis(u, Boundry)\}$,然后可以通过构造来取到最小值,即答案就是$max\...

2015-10-25 09:11:00 72

转载 OI 回忆录

时间过得好快,一下子就高三了,一下子就退役了,两年的时间仿佛就在一眨眼的功夫内度过了。不过还是想回忆回忆这两年的雨雪风霜,也就当做个总结吧。高一其实并没有什么好说的,反正就这么颓到了高二。高二上学期,我莫名其妙知道了一个叫做 UOJ 的东西,然后就开始打 UOJ 咯。同时也还通过 UOJ 认识了一些朋友。比如 PoPoQQQ 呀,TKD 呀,ysy 呀……然后还时不时抱一下VFl...

2015-07-21 17:46:00 120

转载 BZOJ 3160 万径人踪灭 解题报告

这个题感觉很神呀。将 FFT 和 Manacher 有机结合在了一起。首先我们不管那个 “不能连续” 的条件,那么我们就可以求出有多少对字母关于某一条直线对称,然后记 $T_i$ 为关于直线 $i$ 对称的字母对的数量,那么答案(暂记为 $Ans$)就会是:$$Ans = \sum 2^{T_i}-1$$在不管那个 “不能连续” 的条件的时候,这个应该是显然的。怎么算的话...

2015-07-16 20:10:00 89

转载 BZOJ 4036 [HAOI2015] Set 解题报告

首先我们不能一位一位的考虑,为什么呢?你想想,你如果一位一位地考虑的话,那么最后就只有 $n$ 个数字,然而他给了你 $2^n$ 个数字,怎么看都不对劲呀。(我是因为这样子弄没过样例才明白的)所以我们还是要想想其他的方法。我们是要算步数的期望,然而步数是一个离散的整数,所以我们可以把问题转化一下:$$E(s) = \sum_{k=1}^{\infty}P(s\ge k)$...

2015-07-13 11:07:00 75

转载 BZOJ 3288 Mato矩阵 解题报告

这个题好神呀。。Orz taorunz有一个结论,这个结论感觉很优美:$$ans = \prod_{i=1}^{n}\varphi(i)$$至于为什么呢,大概是这样子的:对于每个数字 $x$,第 $x$ 行有 $x - \varphi(x)$ 个数字不为 $1$,则说明这一行要被消 $x - \varphi(x)$ 次(别忘了每一行都会被 $1$ 给消一次),每次消元都会...

2015-06-26 20:48:00 104

转载 BZOJ 3173 [Tjoi2013] 最长上升子序列 解题报告

这个题感觉比较简单,但却比较容易想残。。我不会用树状数组求这个原排列,于是我只好用线段树。。。毕竟 Gromah 果弱马。我们可以直接依次求出原排列的元素,每次找到最小并且最靠右的那个元素,假设这是第 $i$ 次找的,那么这就是原排列的第 $i$ 项,然后我们就把这个元素删去(变成很大的数),再把这个数以左的数都加 1,进行下一轮。然后就是裸的最长上升子序列啦~~~时间复...

2015-06-25 21:44:00 76

转载 BZOJ 4123 [Baltic2015] Hacker 解题报告

首先,Alice 会选择一个长度为$\lfloor\frac{n+1}{2}\rfloor$ 的区间,我们把这个长度记为 $len$。有这么一个结论:令 $F_i$ 为覆盖 $i$ 点的所有长度为 $len$ 的区间的元素和的最小值,那么答案就是 $F_i$ 的最大值。因为 Bob 可以控制 Alice 最后选择的是什么区间。【扯淡 ing】大概是这样子:假设 Al...

2015-06-25 11:31:00 104

转载 BZOJ 4127 Abs 解题报告

这个题感觉很厉害的样子。。首先我们注意到一点:每次加的 $d$ 都是非负的。那么就说明一个数只可能从负数变成非负数并且只会变一次。所以我们就可以暴力地去改变一个数的正负情况。然后我们就可以用树链剖分,维护一下区间的最大负数和负数的个数就可以了。时间复杂度 $O(n\log^2 n)$,空间复杂度 $O(n)$。 1 #include <cstdio...

2015-06-25 09:36:00 105

转载 BZOJ 4145 [AMPPZ2014] The Prices 解题报告

感觉也是一个小清新题。。我们考虑设立状态 $Dp[i][s]$ 表示考虑了前 $i$ 个商店后,购买状态为 $s$ 的最小花费。转移的话就枚举每个商店 $i$,首先令:$$Dp[i][s] = Dp[i - 1][s] + D[i]$$这个过程表示到达这个商店。然后枚举每个状态 $s$,然后枚举每个不在 $s$ 里的物品 $j$,令:$$Dp[i][s + \{j...

2015-06-21 18:02:00 107

转载 BZOJ 4146 [AMPPZ2014] Divisors 解题报告

这个题感觉比较小清新。。。我们记录每个数出现的次数 $T_i$。首先依次枚举每个数字,令 $ans = ans + T_i \times (T_i - 1)$,然后枚举这个数的倍数,令 $ans = ans + T_i \times T_{ki}$。就做完啦~~令 $M$ 为其中最大的数字,时间复杂度为 $O(n + M \log M)$,空间复杂度为 $O(M)$。...

2015-06-21 16:39:00 142

转载 UOJ Round #8 赴京赶考 解题报告

算法零$n,m\le100,q\le10$的话,直接给网格中的每一个格点都建一个点,然后该怎么最短路就怎么最短路,该怎么并查集+BFS就怎么并查集+BFS。复杂度$O(qnm)$,可以拿下前30分。算法一$n\le10^5,m=1,q\le10^5$的话,我们可以直接预处理出$(1,1)-(1,i)$的距离以及$(1,i)-(1,n)$...

2015-06-19 16:42:00 109

转载 【弱省胡策】Round #5 Construct 解题报告

这个题是传说中的 Hack 狂魔 qmqmqm 出的构造题。当然要神。这个题的本质实际上就是构造一个图,然后使得任意两点间都有长度为 $k$ 的路径相连,然后对于任意的 $i < k$,都存在两个点使得这两个点没有长度为 $i$ 的路径相连。我的构造方法就是:首先给每个点连一个自环。构造一个大小为 $n-k+1$ 的团。然后剩下的点造成一条链并与 $n-k+...

2015-06-18 17:34:00 102

转载 【弱省胡策】Round #5 Handle 解题报告

这个题是我出的 sb 题。首先,我们可以得到:$$A_i = \sum_{j=i}^{n}{j\choose i}(-1)^{i+j}B_j$$我们先假设是对的,然后我们把这个关系带进来,有:$$B_i = \sum_{j=i}^{n}{j\choose i}A_j = \sum_{j=1}^{n}{j\choose i}\sum_{k=j}^{n}{k\choose j...

2015-06-18 17:26:00 107

转载 【弱省胡策】Round #6 String 解题报告

感觉这个题好神啊。首先我们只管 $a = b$ 的情况,那么我们自然就可以把这个串对 $a$ 取模,然后用 KMP 求出能弄出几个其他的 B 串。具体就是把串先倍长,然后倒过来,然后求 $Next$ 数组,然后从 $2n$ 开始沿着 $Next[]$ 跳,直到跳到 $\le n$ 的时候停止,看哪些位置被跳到了,哪些位置就是合法的。问题是现在 $a \neq b$ 怎么办。。...

2015-06-18 17:18:00 87

转载 【弱省胡策】Round #7 Rectangle 解题报告

orz PoPoQQQ 的神题。我的想法是:给每一个高度都维护一个 $01$ 序列,大概就是维护一个 $Map[i][j]$ 的矩阵,然后 $Map[i][j]$ 表示第 $i$ 根柱子的高度是否 $\ge j$。那么怎么维护 $Map[i][j]$ 呢。。?首先我们把柱子按照高度从小到大排序,然后依次给每个高度建主席树,初始时 $Map[i][0]$ 全是 $1$,然后如果...

2015-06-18 17:06:00 124

转载 BZOJ 4029 [HEOI 4029] 定价 解题报告

这个题好像也是贪心的感觉。。我们枚举 $1,5,10,50,100,\dots$ ,找出在 $[l, r]$ 内能整除它们的最小的数。然后找到其中在荒谬值最小的情况下数值最小的那个数,就做完了。 1 #include <cmath> 2 #include <cstdio> 3 #include <cstring> 4...

2015-05-02 11:41:00 85

转载 BZOJ 4027 [HEOI 2015] 兔子与樱花 解题报告

这个题看起来好神的感觉。实际上也好神。。。我们可以考虑设 $f_u$ 表示以 $u$ 为根的子树中最多能删多少个点,再设 $g_u$ 表示以 $u$ 为根的子树中删了 $f_u$ 个点之后,$u$ 的 $son(i) + c_i$ 的最小值。然后就可以树形 Dp 啦。转移的话,考虑 $u$ 的孙子及更后辈,有:$$f_u += \sum_{v\in \{son_u\}...

2015-05-02 11:36:00 84

转载 BZOJ 4005 [JLOI 2015] 骗我呢

首先,我们可以得到:每一行的数都是互不相同的,所以每一行都会有且仅有一个在 $[0, m]$ 的数没有出现。我们可以考虑设 $Dp[i][j]$ 为处理完倒数 $i$ 行,倒数第 $i$ 行缺的数字是 $j$ 的方案数。那么就有:$$Dp[i][j] = \sum_{k=max(0,j-1)}^{m}Dp[i - 1][k]$$自己画一画图就可以明白了,在这里就不解释了。...

2015-04-28 22:03:00 98

转载 BZOJ 4004 [JLOI 2015] 装备购买 解题报告

哎这个题 WA 了无数遍。。。果然人太弱。。。首先我们把这些装备按照花费从小到大排序,然后依次考虑是否能买这个装备。至于这样为什么是对的,好像有一个叫拟阵的东西可以证明,然而我不会。TATQAQ至于怎么考虑是否能买这个装备呢,我们可以动态更新线性基,具体操作:对当前向量进行高斯消元,注意要从从高位往低位消。如果消元完毕后当前向量变成了 $0$ 向量,那么我们就可以...

2015-04-27 20:32:00 87

转载 BZOJ 3998 [TJOI 2015] 弦论 解题报告

这是一道后缀自动机经典题目。对于 $t=0$ 的情况:每个节点都代表一个子串,所以我们给每个节点的 $Size$ 都记为 $1$,对于 $t=1$ 的情况:我们只给 $last$ 节点的 $Size$ 记为 $1$,因为新建的虚拟节点并不能给子串数目带来贡献。然后再建出 $pre$ 指针树,每个串的出现次数就是其在 $pre$ 指针树上的子树的 $Size$ 和。然后我们进行...

2015-04-24 09:45:00 80

转载 BZOJ 3997 [TJOI 2015 组合数学] 解题报告

这个题我脑洞了一个结论:首先,我们定义满足以下条件的路径为“从右上到左下的路径”:对于路径上任何不相同的两个点 $(x_1, y_1)$,$(x_2, y_2)$,都有:$x_1\neq x_2, y_1\neq y_2$若 $x_1 > x_2$,则有 $y_1 < y_2$;否则当 $x_1 < x_2$ 时, $y_1 > y_2$。...

2015-04-23 20:59:00 104

转载 BZOJ 3996 [TJOI 2015] 线性代数 解题报告

首先,我们可以得到:$$D = \sum_{i=1}^{n}\sum_{j=1}^{n}a_i\times a_j\times b_{i,j} - \sum_{i=1}^{n}a_i\times c_i$$那么是不是就相当于这样的问题:有 $n$ 个物品,你可以选择一些物品出来,如果同时选了 $i,j$ 两个物品那么就有 $b_{i,j}$ 的收益,然而每一个物品都有一个代价...

2015-04-23 20:03:00 92

转载 BZOJ 3990 [SDOI 2015] 排序 解题报告

这个题哎呀。。。细节超级多。。。首先,我猜了一个结论。如果有一种排序方案是可行的,假设这个方案是 $S$ 。那么我们把 $S$ 给任意重新排列之后,也必然可以构造出一组合法方案来。于是我们就可以 $O(2^n)$ 枚举每个操作进不进行,再去判断,如果可行就 $ans$ += $|S|!$。然而怎么判断呢?我们按照操作种类从小到大操作。假设我们现在在决策第 $i$ ...

2015-04-16 21:50:00 97

转载 BZOJ 3992 [SDOI 2015] 序列统计 解题报告

这个题最暴力的搞法就是这样的:设 $Dp[i][j]$ 为前 $i$ 个数乘积为 $j$ 的方案数。转移的话就不多说了哈。。。当前复杂度 $O(nm^2)$注意到,$M$ 是个质数,就说明 $M$ 有原根并且我们可以很快的求出来。于是对于 $1\rightarrow M-1$ 中的每一个数都可以表示成原根的某次幂。于是乘法可以转化为原根的幂的加法,转移的时候就...

2015-04-16 09:11:00 85

转载 BZOJ 3993 [SDOI 2015] 星际战争 解题报告

首先我们可以二分答案。假设当前二分出来的答案是 $Ans$ ,那么我们考虑用网络流检验:设武器为 $X$,第 $i$ 个武器的攻击力为 $B_i$;设机器人为 $Y$,第 $i$ 个机器人的装甲为 $A_i$;设 $Map[i][j]$ 表示第 $i$ 个机器人是否能攻击第 $j$ 号机器人。设源为 $S$,汇为 $T$,现在考虑连边:$S\rightarro...

2015-04-15 21:14:00 97

转载 BZOJ 3971 Матрёшка 解题报告

很自然想到区间 DP。设 $Dp[i][j]$ 表示把区间 $[i, j]$ 内的套娃合并成一个所需要的代价,那么有:$Dp[i][i] = 0$$Dp[i][j] = min\{Dp[i][k] + Dp[k + 1][j] + Merge([i, k], [k + 1, j])\} (i \le k < j)$于是问题在于算 $Merge([a, b],...

2015-04-15 11:21:00 192

转载 BZOJ 3955 Surely You Congest 解题报告

首先,我们可以求出源为 $1$ 号点的最短路图以及各个点到 $1$ 号点的最短路。然后我们考虑那些距离不同的点,是一定不会发生拥堵现象的。然后我们就只需要考虑那些距离相同的点,就相当于做一个最大流嘛。假设考虑与 $1$ 号节点距离为 $d$ 的点,那怎么连边,怎么设置源和汇呢?源为 $1$ 号节点,新开一个 $n+1$ 号节点作为汇。对于所有满足 $dist(1,...

2015-04-15 10:04:00 247

转载 BZOJ 3953 Self-Assembly 解题报告

首先,我们可以先考虑一个暴力一点的算法:对于任意两个分子,如果它们能以至少一种进行匹配,那么我们就在这两个分子之间连一条边。然后如果我们能找到一个环,就说明是 unbounded,否则就是 bounded。复杂度是 $O(n^2)$ 的,然而 $n \le 40000$ ,显然是不行的。考虑优化。我们注意到本质不同的边有 $26$ 种,那么我们应该能省去很多不必要的边。...

2015-04-14 22:04:00 62

转载 BZOJ 3982 Stacking Plates 解题报告

我们首先可以得到:如果有一堆盘子里有一些相邻的盘子的直径相等,那么自然这些盘子可以统一处理,就可以缩成一个了。然后我们接着考虑给每一堆盘子都染上一种颜色,那么操作的次数 step = diff * 2 - n + 1其中 diff 表示最终的盘子堆中相邻的盘子的颜色不同的对数。接着我们可以将盘子的直径离散化。那么我们可以考虑Dp,设 Dp[s][i] 为处理完所有盘子直径...

2015-04-14 11:19:00 99

转载 BZOJ 3969 Low Power 解题报告

我们首先将所有电池排序,那么我们可以找到一组最优方案,使得一台机器的能量之差是相邻两电池的能量之差。然后我们就二分这个答案,从前往后贪心地选这个数对,然后看是否所有的数对都是满足条件的。假设这个数对是 i - 1, i,并且是第 j 个数对,那么我们称满足条件为:2nk - i + 2 >= 2k(n - j + 1)意思就是能拿出足够多的电池来组成机器人。然后...

2015-04-14 09:20:00 81

转载 BZOJ 3983 Takeover Wars 解题报告

我猜了一个结论,能合并就合并,到了必须要敌对交易的时候才进行敌对交易。然后合并的话,肯定是拿最大的两个去合并。至于敌对交易,肯定是干掉对方最大的公司才是有意义的。于是各种分类讨论。。。看代码好了。。。#include <cmath>#include <queue>#include <cstdio>#include &lt...

2015-04-13 20:07:00 101

转载 BZOJ 3956 Count 解题报告

好点对的个数是\(O(n)\)的,而且我们可以 \(O(n)\) 地求出所有好点对。我们把这些点对以右端点为关键字从小到大排序,再弄个扫描线,每次把右端点在扫描线上的点对的左端点加入线段树,于是我们可以得出右端点小于等于当前时刻 \(t\) 的左端点为 \(i(i \le t)\) 的 好点对的个数。由于强制在线,我们就可以弄一棵可持久化线段树记录每个时刻的状态。于是就 \(O(n...

2015-04-13 10:59:00 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除