10 2018 档案

摘要:因为这几天要加油,懒得每篇都来写题解了,就这里记录一下加上一句话题解好了 P4071 [SDOI2016]排列计数 组合数+错排 loj 6217 扑克牌 暴力背包 P2511 [HAOI2008]木棍分割 第一问二分,第二问记$dp[i][j]$为前$i$根砍$j$刀的方案,那么它可以由所有$su 阅读全文
posted @ 2018-10-22 18:26 bztMinamoto 阅读(387) 评论(5) 推荐(0)
摘要:传送门 题解 阅读全文
posted @ 2018-10-22 18:11 bztMinamoto 阅读(190) 评论(0) 推荐(0)
摘要:Description 从前有棵树。 找出K个点A1,A2,…,Ak。 使得∑dis(AiAi+1),(1<=i<=K-1)最小。 从前有棵树。 找出K个点A1,A2,…,Ak。 使得∑dis(AiAi+1),(1<=i<=K-1)最小。 Input 第一行两个正整数n,k,表示数的顶点数和需要选出 阅读全文
posted @ 2018-10-22 17:44 bztMinamoto 阅读(288) 评论(0) 推荐(0)
摘要:传送门 完了我连背包都不会了…… 考虑暴力,先枚举最小的数是哪个,设大小为$d_i$,个数为$k_i$,所有比它小的数的总和是$sum$,然后把所有比它小的全都装进背包,它以及比他大的做一个多重背包,那么设$dp[j]$表示在剩下的这些数里取的总和为$j$时的方案数,那么$$ans+=\sum_{j 阅读全文
posted @ 2018-10-21 21:40 bztMinamoto 阅读(301) 评论(0) 推荐(0)
摘要:传送门 设$dp[i][j][k][0/1]$表示在涂点$(i,j)$,涂了$k$次,当前点的颜色是否对,最多能刷对多少个格子 首先换行的时候肯定得多刷一次 然后是如果和前一个格子颜色相同,那么当前点是否刷对都要转移 如果和前一个格子颜色不相同,那么就考虑是否要再刷一次还是直接转移 阅读全文
posted @ 2018-10-21 20:30 bztMinamoto 阅读(178) 评论(0) 推荐(0)
摘要:给定一个序列。查询左端点在$[x_1, y_1]$之间,且右端点在$[x_2, y_2]$之间的最大子段和,数据保证$x_1\leq x_2,y_1\leq y_2$,但是不保证端点所在的区间不重合 这题可以分为几种情况讨论 $y_1<x_2$ 那么这个时候发现$[y_1+1,x_2-1]$里的数必 阅读全文
posted @ 2018-10-21 20:00 bztMinamoto 阅读(203) 评论(0) 推荐(0)
摘要:传送门 线段树好题 因为题目中相同的只算一次,我们可以联想到HH的项链,于是考虑离线的做法 先把所有的询问按$r$排序,然后每一次不断将$a[r]$加入线段树 线段树上维护四个值,$sum,hix,sumtag,hixtag$,分别代表当前节点的值,节点历史上的最大值,当前的增加标记,历史上最大的增 阅读全文
posted @ 2018-10-21 19:17 bztMinamoto 阅读(287) 评论(1) 推荐(0)
摘要:给出了序列A[1],A[2],…,A[N]。 (a[i]≤15007,1≤N≤50000)。查询定义如下: 查询(x,y)=max{a[i]+a[i+1]+...+a[j];x≤i≤j≤y}。 给定M个查询,程序必须输出这些查询的结果。 这就是一个最大子段和,用线段树就能直接搞掉 然后这里学习了一下 阅读全文
posted @ 2018-10-21 18:22 bztMinamoto 阅读(459) 评论(0) 推荐(0)
摘要:传送门 关于excrt 阅读全文
posted @ 2018-10-21 12:52 bztMinamoto 阅读(284) 评论(0) 推荐(0)
摘要:传送门 dfs的时候莫名其妙深度太大过不了……然后死活找不出哪里错…… 首先,约数和这东西是个积性函数,或者直接点的话就是如果$$n=p_1^{a_1}p_2^{a_2}p_3^{a_3}…p_m^{a_m}$$ 那么$n$的约数和就等于$$S=\begin{matrix} \prod_{i=1}^ 阅读全文
posted @ 2018-10-21 11:44 bztMinamoto 阅读(234) 评论(0) 推荐(1)
摘要:传送门 题解 阅读全文
posted @ 2018-10-20 21:39 bztMinamoto 阅读(278) 评论(0) 推荐(0)
摘要:Description Input 第1行,包含三个整数。n,L,R。第2行n个数,代表a[1..n]。 第1行,包含三个整数。n,L,R。第2行n个数,代表a[1..n]。 Output 仅1行,表示询问答案。如果答案是整数,就输出整数;否则,输出既约分数“P/Q”来表示。 仅1行,表示询问答案。 阅读全文
posted @ 2018-10-19 22:29 bztMinamoto 阅读(462) 评论(0) 推荐(1)
摘要:Description Input 第一行是用空格隔开的二个正整数,分别给出了舞台的宽度W(1到10^8之间)和馅饼的个数n(1到10^5)。 接下来n行,每一行给出了一块馅饼的信息。由三个正整数组成,分别表示了每个馅饼落到舞台上的时刻t[i](1到10^8秒),掉到舞台上的格子的编号p[i](1和 阅读全文
posted @ 2018-10-19 22:00 bztMinamoto 阅读(288) 评论(0) 推荐(0)
摘要:传送门 首先要发现,每一次选择拔高的区间都必须包含最右边的端点 为什么呢?因为如果拔高了一段区间,那么这段区间对于它的左边是更优的,对它的右边会更劣,所以我们每一次选的区间都得包含最右边的端点 我们枚举$i$表示考虑到第$i$个玉米,设$dp[j][k]$表示为$j$,$i$被覆盖次数为$k$时的最 阅读全文
posted @ 2018-10-19 21:29 bztMinamoto 阅读(179) 评论(0) 推荐(0)
摘要:传送门 我已经连这种傻逼题都不会了orz 正常的dp是$O(n^2)$的,枚举第一个数组的$j$,然后第二个数组的$k$,如果相等,则$dp[i]=dp[j]+1$,否则$dp[i]=dp[j]$ 然后发现可以用树状数组优化这个过程…… 不知道讲清楚没有因为我自己都还有点懵 阅读全文
posted @ 2018-10-19 20:59 bztMinamoto 阅读(177) 评论(0) 推荐(0)
摘要:传送门 长链剖分的板子(又是乱搞优化暴力) 对于每一个点,我们定义它深度最深的子节点为它的重儿子(为什么不叫长儿子……),他们之间的连边为重边 然后长链剖分有几个性质 1.总链长为$O(n)$ 2.一个节点的$k$级祖先的子树深度必定大于等于当前节点的子树深度 以上两点稍微yy一下就能发现是对的 然 阅读全文
posted @ 2018-10-19 19:04 bztMinamoto 阅读(308) 评论(0) 推荐(1)
摘要:一棵根为1 的树,每条边上有一个字符(a-v共22种)。 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串。 求每个子树中最长的Dokhtar-kosh路径的长度。 如果重排后能构成回文串,那么出现奇数次的字符最多一个。用一个22位二进制数表示每一个字母 阅读全文
posted @ 2018-10-19 18:10 bztMinamoto 阅读(349) 评论(0) 推荐(0)
摘要:一棵树有n个结点,每个结点都是一种颜色,每个颜色有一个编号,如果一个子树中某种颜色的出现次数最多,则称这棵子树被这种颜色占领(可能被多种颜色占领),问以每一个节点为根的子树,占领它的颜色的编号之和 这题的做法好像是一个叫做dsu on tree的东西(dsu似乎是并查集的缩写?然而和并查集没什么关系 阅读全文
posted @ 2018-10-19 13:20 bztMinamoto 阅读(228) 评论(0) 推荐(0)
摘要:传送门 这题纯暴力竟然能过…… 阅读全文
posted @ 2018-10-18 20:59 bztMinamoto 阅读(237) 评论(0) 推荐(0)
摘要:传送门 蠢了…… 我们用线段树,记$w0$为该区间最左端取小值时,最右端最小能取大还是小还是无解,$w1$表示最左端取大值时,最右端最小能取大还是小还是无解 然后只要把交换看做修改就好了 这么说可能很难懂,看看代码应该就明白了 阅读全文
posted @ 2018-10-18 20:37 bztMinamoto 阅读(469) 评论(0) 推荐(0)
摘要:传送门 思路太妙了啊…… 容易才怪想到暴力,把区间内的每一个数字用并查集维护相等,然后设最后总共有$k$个并查集,那么答案就是$9*10^{k-1}$(因为第一位不能为0) 考虑倍增。我们设$f[i][j]$表示区间$[i,i+2^j-1]$,那么我们可以把原区间给拆成$log$个区间,然后维护这些 阅读全文
posted @ 2018-10-18 19:17 bztMinamoto 阅读(274) 评论(0) 推荐(0)
摘要:传送门 rqy太强啦 数学太差限制了我的想象力……我连卡特兰数是什么都不知道……姿势不够…… 令$f_i$表示有$i$个节点的二叉树的总个数,$g_i$表示$i$个节点的所有二叉树的叶子总数,那么答案就是$\frac{g_n}{f_n}$ 不难发现$f_n$的递推式如下$$f_n=\sum_{i=1 阅读全文
posted @ 2018-10-18 18:38 bztMinamoto 阅读(255) 评论(0) 推荐(0)
摘要:传送门 看到区间推倒……推平就想到珂朵莉树 挖脑洞直接assign,填坑先数一遍再assign再暴力填,数数的话暴力数 阅读全文
posted @ 2018-10-18 17:51 bztMinamoto 阅读(291) 评论(0) 推荐(0)
摘要:传送门 一看到区间推倒……推平操作就想到珂朵莉树 区间推平直接assign,查询暴力,排序的话开一个桶统计,然后一个字母一个字母加就好了 开桶统计的时候忘了保存原来的左指针然后挂了233 阅读全文
posted @ 2018-10-18 17:06 bztMinamoto 阅读(276) 评论(0) 推荐(0)
摘要:传送门 虽然是黄题而且还是一波离散就能解决的东西 然而珂朵莉树还是很好用 相当于一开始区间全为0,然后每一次区间赋值,问最后总权值 珂朵莉树搞一搞就好了 阅读全文
posted @ 2018-10-18 16:17 bztMinamoto 阅读(254) 评论(0) 推荐(0)
摘要:传送门 珂朵莉树是个吼东西啊 这题线段树代码4k起步……珂朵莉树只要2k…… 虽然因为这题数据不随机所以珂朵莉树的复杂度实际上是错的…… 然而能过就行对不对…… (不过要是到时候noip我还真不敢打……毕竟CCF那机子……) 阅读全文
posted @ 2018-10-18 16:01 bztMinamoto 阅读(449) 评论(1) 推荐(0)
摘要:中文题面 据说正解是动态开点线段树而且标记也不难下传的样子 然而这种区间推平的题目还是喜欢写珂朵莉树啊……码量小…… 虽然真要构造的话随便卡…… 阅读全文
posted @ 2018-10-18 15:35 bztMinamoto 阅读(333) 评论(0) 推荐(0)
摘要:中文题面 珂朵莉树的板子……这篇文章很不错 据说还有奈芙莲树和瑟尼欧里斯树…… 等联赛考完去学一下(逃 阅读全文
posted @ 2018-10-18 15:21 bztMinamoto 阅读(529) 评论(0) 推荐(0)
摘要:传送门 题解看得……很……迷? 因为取完一个数后,它的子树中只能取权值小于等于它的数。我们先把权值从大到小排序,然后记$a_i$为他左边(包括自己)所有取完他还能取的数的个数。那么当取完一个点$x$的数之后,我们需要为它子树中的点预留出权值,这些权值肯定在它的左边。但我们不知道它子树中的数会取哪几个 阅读全文
posted @ 2018-10-17 21:58 bztMinamoto 阅读(279) 评论(0) 推荐(0)
摘要:传送门 题解 fy大佬好强……我根本看不懂…… 阅读全文
posted @ 2018-10-17 21:18 bztMinamoto 阅读(424) 评论(0) 推荐(0)
摘要:传送门 感觉……不是很看得懂题解在说什么? 我们先把原数列$a_i-=i$,那么本来要求递增序列,现在只需要求一个非严格递增的就行了(可以看做最后每个$b_i+=i$,那么非严格递增会变为递增) 如果一个数列是递增的,一个一个相等的取,如果是递减的,取他们的中位数 前面的好理解,后面的想一下仓库运输 阅读全文
posted @ 2018-10-17 20:31 bztMinamoto 阅读(334) 评论(0) 推荐(0)
摘要:传送门 每一个城市代表的点开一个小根堆,把每一个骑士合并到它开始攻占的城池所代表的点上 然后开始dfs,每一次把子树里那些还活着的骑士合并上来 然后再考虑当前点的堆,一直pop直到骑士全死光或者剩下的骑士的攻击力都大于等于当前城池的生命值,同时维护城池和骑士的答案 然后修改的话在堆顶打一个标记,需要 阅读全文
posted @ 2018-10-17 18:59 bztMinamoto 阅读(163) 评论(0) 推荐(0)
摘要:传送门 做这题的时候现学了一波左偏树2333(好吧其实是当初打完板子就给忘了) 不难发现肯定是选子树里权值最小的点且选得越多越好 但如果在每一个点维护一个小根堆,我们得一直找知道权值大于m为止,时间会炸 于是我们对每一个点维护一个大根堆,一直pop直到堆里总的权值小于m为止,此时堆里的元素个数就是总 阅读全文
posted @ 2018-10-17 18:27 bztMinamoto 阅读(167) 评论(0) 推荐(0)
摘要:传送门 stdcall大佬好强 期望的姿势不是很高……据大佬说期望有一个线性性质,也就是说可以把每一张牌的期望伤害算出来然后再加起来就是总的期望伤害 因为每一张牌只能用一次,我们设$dp[i]$表示第$i$张牌被使用的概率,$d[i]$表示这一张牌的伤害,那么总伤害就是$$\sum_{i=1}^n 阅读全文
posted @ 2018-10-17 13:22 bztMinamoto 阅读(258) 评论(0) 推荐(0)
摘要:传送门 首先,答案等于$$ans=\sum_{i=l}^r\sum_{j=i}^r\frac{sum(i,j)}{C_{r-l+1}^2}$$ 也就是说所有情况的和除以总的情况数 因为这是一条链,我们可以把边也转化成一个序列,用$i$表示$(i,i+1)$这一条边,那么只要把区间的右端点减一即可 。 阅读全文
posted @ 2018-10-16 20:25 bztMinamoto 阅读(233) 评论(0) 推荐(0)
摘要:传送门 题解 大概就是设$dp[i][x][y]$表示在第$i$个时间段,在$(x,y)$时的最大滑动距离 然后转移是$dp[i][x][y]=max(dp[i-1][x][y],dp[i][x'][y']+dis(x,y,x',y'))$ 然后用单调队列进行优化,遇到障碍清除整个单调队列 阅读全文
posted @ 2018-10-16 18:54 bztMinamoto 阅读(215) 评论(0) 推荐(0)
摘要:传送门 首先这是一个有$n$个点$n$条边的图(据大佬们说这玩意儿叫做基环树?) 不难(完全没有)发现每个连通块里最多只有一个环 那么找到这个环,然后把它断开,再对它的两个端点分别跑树形dp 设$dp[u][0]$表示该点不选,$dp[u][1]$表示选,然后跑一个没有上司的舞会就可以了 阅读全文
posted @ 2018-10-16 18:30 bztMinamoto 阅读(272) 评论(0) 推荐(0)
摘要:传送门 这该死的码农题…… 把每一条边变为它连接的两个点中深度较浅的那一个,然后就是一堆单点修改/路径查询,不讲了 这里就讲一下怎么搞路径取反,只要打一个标记就好了,然后把区间和取反,最大最小值交换然后再取反 单点修改的时候忘记pushdown结果调了好久…… 阅读全文
posted @ 2018-10-16 17:45 bztMinamoto 阅读(162) 评论(0) 推荐(0)
摘要:传送门 据说正解是树剖套堆???然而代码看着稍微有那么一点点长…… 考虑一下整体二分,设当前二分到的答案为$mid$,如果所有大于$mid$的边都经过当前点$x$,那么此时$x$的答案必定小于等于$mid$ 然后考虑怎么判断是否所有边都经过某一个点。我们可以用树状数组+树上差分来维护,把每一条边的两 阅读全文
posted @ 2018-10-16 15:51 bztMinamoto 阅读(206) 评论(0) 推荐(0)
摘要:传送门 树剖板子…… 一个路径加和,线段树上打标记。一个子树询问,dfs的时候记录一下子树的区间就行 阅读全文
posted @ 2018-10-16 14:34 bztMinamoto 阅读(200) 评论(0) 推荐(0)
摘要:传送门 我们可以进行离线处理,把每一个情报员的权值设为它开始收集情报的时间 那么设询问的时间为$t$,就是问路径上有多少个情报员的权值小于等于$t-c-1$ 这个只要用主席树上树就可以解决了,顺便用树剖求一下LCA 阅读全文
posted @ 2018-10-16 13:53 bztMinamoto 阅读(240) 评论(0) 推荐(0)
摘要:传送门 woc这该死的码农题…… 把每一条边转化为它连接的两点中深度较深的那一个,然后就可以用树剖+线段树对路径进行修改了 然后顺便注意在上面这种转化之后,树剖的时候不能搞$LCA$ 然后是几个注意点 1.线段树记两个标记,一个区间覆盖,一个区间加和 2.区间覆盖的标记更新后要把区间加和的标记删除, 阅读全文
posted @ 2018-10-15 22:19 bztMinamoto 阅读(255) 评论(0) 推荐(0)
摘要:传送门 不难发现,每一条额外修的路径,会对原树上$(u,v)$路径上的所有边产生贡献 于是这就变成了一个路径修改 那么我们把每一条边赋值到它连接的两个点中深度较大的那个上面,然后每一次用树剖+线段树做路径修改,然后再把权值取回来就行了 几个注意点: 1.记得路径修改的时候$LCA$是不需要改的 2. 阅读全文
posted @ 2018-10-15 21:18 bztMinamoto 阅读(347) 评论(0) 推荐(1)
摘要:传送门 LCT秒天秒地 树剖比较裸的题了 用线段树记录一下区间的最左边的黑点的编号(因为同一条链上肯定是最左边的深度最小,到根节点距离最近) 然后记得树剖的时候肯定是越后面的答案越优,因为深度越浅 阅读全文
posted @ 2018-10-15 20:42 bztMinamoto 阅读(231) 评论(0) 推荐(0)
摘要:传送门 LCT秒天秒地用什么树剖 这题可以算是树剖的比较裸的题目了 把每一条边的权值下放到他两边的点中深度较深的那个 然后直接用树剖+线段树带进去乱搞就可以了 阅读全文
posted @ 2018-10-15 18:53 bztMinamoto 阅读(176) 评论(0) 推荐(0)
摘要:题意翻译 你收到的礼物是一个非常聪明的机器人,行走在一块长方形的木板上。不幸的是,你知道它是坏的,表现得相当奇怪(随机)。该板由n行和m列的单元格组成。机器人最初是在i行和j j列的某个单元格上。然后在每一步机器人可以到另一个单元。目的是去底层(n次)行。机器人可以停留在当前单元,向左移动,向右边移 阅读全文
posted @ 2018-10-15 18:02 bztMinamoto 阅读(414) 评论(0) 推荐(0)
摘要:传送门 神仙题啊……这思路到底是怎么来的…… ps:本题是第$k$次买邮票需要$k$元,而不是买的邮票标号为$k$时花费$k$元 我们设$g[i]$表示现在有$i$张,要买到$n$张的期望张数,设$P(x,i)$表示买$x$次能从$i$张买到$n$张的概率,则有$$g[i]=\sum_{x=0}^\ 阅读全文
posted @ 2018-10-15 17:48 bztMinamoto 阅读(297) 评论(0) 推荐(0)
摘要:Description Input Output Sample Input Sample Output HINT 数学题都这么骚的么……怎么推出来的啊……我是真的想不出来…… 首先,要算总的视野期望,我们可以把每一个小朋友的视野期望算出来,然后求和 于是考虑如何计算每个小朋友的视野期望,设$L$表示 阅读全文
posted @ 2018-10-15 13:24 bztMinamoto 阅读(465) 评论(0) 推荐(3)
摘要:传送门 高斯消元还是一如既往的难打……板子都背不来……Kelin大佬太强啦 不知道大佬们是怎么发现可以按位考虑贡献,求出每一位是$1$的概率 然后设$f[u]$表示$u->n$的路径上这一位为$1$的概率,然后设$deg[u]$表示$u$的出度 那么$1-f[u]$就是路径上这一位为$0$的概率 然 阅读全文
posted @ 2018-10-14 22:38 bztMinamoto 阅读(163) 评论(0) 推荐(0)
摘要:传送门 首先,猫的走位太飘了……只能预处理…… 先对每一个点跑一遍dijkstra跑出最短路,然后再预处理出$nxt[i][j]$表示当猫在$i$老鼠在$j$时猫下一步会走到哪里 然后考虑dp,设$dp[i][j]$表示猫在$i$老鼠在$j$时猫抓到老鼠的期望步数是多少 如果$i==j$,那么$dp 阅读全文
posted @ 2018-10-14 21:57 bztMinamoto 阅读(205) 评论(0) 推荐(0)
摘要:Description 背景: 和久必分,分久必和。。。 题目描述: 中国历史上上分分和和次数非常多。。通读中国历史的WJMZBMR表示毫无压力。 同时经常搞OI的他把这个变成了一个数学模型。 假设中国的国土总和是不变的。 每个国家都可以用他的国土面积代替, 又两种可能,一种是两个国家合并为1个,那 阅读全文
posted @ 2018-10-14 21:04 bztMinamoto 阅读(261) 评论(0) 推荐(0)
摘要:Description 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i][j], 求最小总费用。 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i][j], 求最小总费用 阅读全文
posted @ 2018-10-14 20:30 bztMinamoto 阅读(277) 评论(0) 推荐(0)
摘要:Description 小宇从历史书上了解到一个古老的文明。这个文明在各个方面高度发达,交通方面也不例外。考古学家已经知道,这个文明在全盛时期有n座城市,编号为1..n。m条道路连接在这些城市之间,每条道路将两个城市连接起来,使得两地的居民可以方便地来往。一对城市之间可能存在多条道路。据史料记载,这 阅读全文
posted @ 2018-10-14 18:03 bztMinamoto 阅读(255) 评论(0) 推荐(0)
摘要:传送门 设$dp[u][i]$表示点$u$颜色为$i$时最多(最少)的绿点个数(这里用$0$表示绿点) 然后直接用树形dp就可以了 记得把情况讨论清楚 阅读全文
posted @ 2018-10-14 17:47 bztMinamoto 阅读(170) 评论(0) 推荐(0)
摘要:Description 某售货员小T要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇之间都只有唯一的可能经过其它城镇的路线。 小T 可以准确地估计出在每个城镇停留的净收益。这些净收益可能是负数,即推销商品的利润抵不上花费。由于交通不便,小T经过每个城镇都需要停留,在每个城镇的停留次数 阅读全文
posted @ 2018-10-14 17:18 bztMinamoto 阅读(236) 评论(0) 推荐(0)
摘要:传送门 蠢了……还以为背包只能用来维护方案数呢……没想到背包这么神奇…… 我们用$dp[i]$表示当$c$的和为$i$时,所有的方案中使得最小的$b$最大时最小的$b$是多少 然后把所有的点按照$a$排序,询问按照$m$排序 然后跑一遍背包,如果$dp[q[i].k]>q[i].s+q[i].m$, 阅读全文
posted @ 2018-10-14 16:19 bztMinamoto 阅读(292) 评论(0) 推荐(0)
摘要:传送门 太珂怕了……为什么还有大佬用FFT和分治的…… 首先如果没有不取的限制的话就是一个裸的背包 然后我们考虑一下,正常的转移的话代码是下面这个样子的 然后我们如果不考虑某一个物品的话,只要把它的贡献给减掉就可以了 然后这样叫上去只有80分…… 经过冥(kan)思(le)苦(ti)想(jie),我 阅读全文
posted @ 2018-10-14 15:39 bztMinamoto 阅读(212) 评论(0) 推荐(0)
摘要:简述:给出 n 个法案, m 头牛的意见, 每头牛有两个表决 格式为 “支持或反对某法案”, 每头牛需要至少满足一个表决, 不可能成立的话输出 IMPOSSIBLE, 否则输出方案, Y代表能, N代表不能,若是有的解中法案可以通过, 有些不能则输出“?” 首先不难看出这是一个2-SAT问题 那么我 阅读全文
posted @ 2018-10-14 14:48 bztMinamoto 阅读(155) 评论(0) 推荐(0)
摘要:传送门 果然图论的题永远建图最麻烦……看着题解代码的建图过程真的很珂怕…… 先不考虑地图$x$,那么每一个地图都只能用两种赛车,于是我们可以用2-SAT来搞,用$i$表示这个地图能用的第一辆车,$i'$表示它能用的第二辆车 至于怎么连边呢,考虑限制条件$(i,h_i,j,h_j)$,如果$i$不能用 阅读全文
posted @ 2018-10-14 14:14 bztMinamoto 阅读(285) 评论(0) 推荐(0)
摘要:传送门 看到哈密顿回路就被吓傻了……结果没有好好考虑性质…… 首先,平面图有个性质:边数小于等于$3n-6$(我也不知道为啥),边数大于这个的直接pass 然后考虑原图,先把哈密顿回路单独摘出来,就是一个环。对于每一条不在哈密顿回路上的边,有两种可能,一种是在环内,一种是在环外 我们用点来表示每一条 阅读全文
posted @ 2018-10-14 13:14 bztMinamoto 阅读(203) 评论(0) 推荐(0)
摘要:传送门 2-SAT裸题 把每一道菜拆成两个点分别表示用汉式或满式 连边可以参考板子->这里 然后最尴尬的是我没发现$n<=100$然后化成整数的时候只考虑了$s[1]$结果炸掉了2333 阅读全文
posted @ 2018-10-14 12:31 bztMinamoto 阅读(147) 评论(0) 推荐(0)
摘要:传送门 2-SAT的板子 把每一个点拆成选0或选1 条件为$x_i$为$a$或$x_j$为$b$,那么如果$x_i$不为$a$则$x_j$必为$b$,同理$x_j$不为$b$则$x_i$必为$a$ 那么从$x_i$不为$a$的点向$x_j$为$b$的点连边,从$x_j$不为$b$的点向$x_i$为$ 阅读全文
posted @ 2018-10-14 11:40 bztMinamoto 阅读(155) 评论(0) 推荐(0)
摘要:题意:给你一棵树,你起点在1,1也是根节点,你每次可以选择去你子树的某个叶子节点,也可以选择,从叶子节点返回距离不超过k的一个根,也就是说,你从1开始,向下跳,选择一个叶子(就是没有子树的节点),然后可以选择一个距离小于等于k的点跳回去,然后继续跳下去再跳上来,问你最多能去多少个叶子节点,n<=1e 阅读全文
posted @ 2018-10-12 21:30 bztMinamoto 阅读(288) 评论(0) 推荐(1)
摘要:题意翻译 有一个长度为n的序列。 定义切割操作为把序列中所有大于等于H(自定义)的数变为H,定义其代价为操作前后序列中所有数的变化量的和。 定义一个“好的”切割操作为代价小于等于K的操作。 问至少需要多少次“好的”切割操作才可以使序列中的所有数的大小均相等。 本来以为高度都是$1e9$级别的……然后 阅读全文
posted @ 2018-10-12 21:02 bztMinamoto 阅读(281) 评论(0) 推荐(0)
摘要:给一棵$n$个节点的树,每次等概率选择树中剩下边的一条进行缩边,这条边的两个端点有相同的概率被保留,求最后每个点被留下的概率。 题解 阅读全文
posted @ 2018-10-10 18:49 bztMinamoto 阅读(324) 评论(0) 推荐(0)
摘要:给出一颗$N$个节点的树,现在我们**在原图中**每个不直接连边但是中间只间隔一个点的两个点之间连一条边. 比如**在原图中**$u$与$v$连边,$v$与$w$连边,但是$u$与$w$不连边,这时候我们就需要连一条$u$与$v$的边. 现在我们需要求出新图中每一个点对$(i,j)\ (1 \leq 阅读全文
posted @ 2018-10-10 16:16 bztMinamoto 阅读(356) 评论(0) 推荐(0)
摘要:大力结论题…… 手推了一下发现可以把$l_i$和$r_i$分别排个序,然后就是随便连边反正肯定会成环 然后设边连着$l_i$和$r_j$,那么对答案贡献就是$max(l_i,r_j)$ 然后yy了一下发现sort之后对应下标的连边即可 还有不要忘了所有人都有一把椅子 阅读全文
posted @ 2018-10-10 13:26 bztMinamoto 阅读(287) 评论(0) 推荐(0)
摘要:现在给出一个长度为$N$的$a$数列,一个长度为$M$的$b$数列. 现在需要构造出一个矩阵$c$,其中$c_{i,j}=a_i \times b_j$.再给出一个$x$,请在矩阵中找出一个最大的矩形,使得这个矩形中的所有值的和小于等于$x$. 题解 刚开始打算上矩形里搞,然而突然想到如果是那样的话 阅读全文
posted @ 2018-10-10 13:08 bztMinamoto 阅读(227) 评论(0) 推荐(0)
摘要:传送门 惭愧……这种题目都没看出来…… 首先,我们用$dp[i][j]$表示在第$i$天,手上有$j$股时的最大收益 第一,我们可以直接买股票,即$dp[i][j]=-j*AP_i$,这个直接计算即可 第二,我们可以不操作,那么$dp[i][j]=max(dp[i][j],dp[i-1][j])$ 阅读全文
posted @ 2018-10-10 09:11 bztMinamoto 阅读(229) 评论(0) 推荐(0)
摘要:题意: 现在有n个物品,第i个物品他的位置在a[i],他的重量为w[i]。每一个物品移动一步的代价为他的w[i]。目前有2种操作: 1. x y 将第x的物品的重量改为y 2.l r 将编号在 [ l, r ]之间的所有物品移动到一起,求最小的花费是多少。 带权中位数,学习了->这里 先来考虑一下货 阅读全文
posted @ 2018-10-10 08:42 bztMinamoto 阅读(238) 评论(0) 推荐(0)
摘要:Vasya有n个64位二进制正整数,小R有一种魔法,它可以让一个二进制数的任意两位交换,比如它可以将7(...000111)变成11(...001011)或者22(...010110),等等。对于一个序列,如果Vasya可以通过对任意多个序列中的数(可以是0个)使用任意多次(可以是0次)这种魔法,使 阅读全文
posted @ 2018-10-09 22:14 bztMinamoto 阅读(246) 评论(0) 推荐(0)
摘要:传送门 准确的来说这个应该叫尺取法? 先对所有的点按$x$坐标进行排序 我们维护两个指针$l,r$,每一次令$r$不断右移直到所有颜色齐全,再不断右移$l$直到颜色数不足,那么此时$[l-1,r]$这个区间里的彩珠肯定能构成所有颜色,且不难发现不会有包含这一区间的方案比它更优 阅读全文
posted @ 2018-10-09 19:15 bztMinamoto 阅读(233) 评论(0) 推荐(0)
摘要:传送门 啧……明明以前做到过这种类型的题结果全忘了…… 这种矩阵的,一般都是先枚举行,然后对列进行一遍单调队列,搞出右下角在每一行中合法位置时的最小权值 再枚举列,对行做一遍单调队列,用之前搞出来的最小权值再做一次单调队列,更新答案 感觉很难讲清楚啊……看代码好了……虽然代码可能更不清楚…… 阅读全文
posted @ 2018-10-09 18:57 bztMinamoto 阅读(245) 评论(0) 推荐(0)
摘要:题意翻译 现有n个点组成一棵以1为根的有根树,第i个点的点权为wi,需将其分成若干条垂直路径使得每一个点当且仅当被一条垂直路径覆盖,同时,每条垂直路径长度不能超过L,点权和不能超过S,求最少需要几条垂直路径才能满足要求。特别地,无解输出-1。 一条垂直路径是一条包含v1, v2...vk的路径,使得 阅读全文
posted @ 2018-10-09 17:38 bztMinamoto 阅读(416) 评论(0) 推荐(0)
摘要:简洁翻译: 有N个点,求与y=0相切的,包含这N个点的最小圆的半径 题解 二分半径右端点开小了结果交了二十几次都没A……mmp…… 考虑一下,显然这个半径是可以二分的 再考虑一下,如果所有点都在y轴同一侧就有解,否则肯定无解 然后现在只要考虑在y轴同一侧时某一个半径是否能够包含所有点即可 因为得和y 阅读全文
posted @ 2018-10-09 16:45 bztMinamoto 阅读(221) 评论(0) 推荐(0)
摘要:传送门 题目所求为所有的不连续回文子序列个数,可以转化为回文子序列数-回文子串数 回文子串manacher跑一跑就行了,考虑怎么求回文子序列数 我们考虑,如果$S_i$是回文子序列的对称中心,那么只要$S_{i-j}$和$S_{i+j}$相等,我们就多了一种选择 设共有$x$组相等的,那么以$S_i 阅读全文
posted @ 2018-10-09 13:26 bztMinamoto 阅读(228) 评论(0) 推荐(0)
摘要:传送门 我们可以把每一个$d$看做它的父亲,这样这个东西就构成了一个树形结构 问题是他有可能形成环,所以我们还需要一遍tarjan缩点 缩完点后从0向所有入度为零的点连边 然后再跑一下树形dp就行了 阅读全文
posted @ 2018-10-08 20:14 bztMinamoto 阅读(193) 评论(0) 推荐(0)
摘要:传送门 本来打算用主席树 然后发现没办法维护颜色数 于是用了莫队加树状数组 然后竟然A了…… 阅读全文
posted @ 2018-10-08 18:51 bztMinamoto 阅读(187) 评论(0) 推荐(0)
摘要:求$\sum_{i=1}^nC_{n}^i*i^k$ 题解 阅读全文
posted @ 2018-10-08 18:24 bztMinamoto 阅读(195) 评论(0) 推荐(0)
摘要:Description Description Input Output Input Input Output Output Sample Input 3 25 3 1 Sample Output 4 Sample Input 3 25 3 1 Sample Input 3 25 3 1 Sampl 阅读全文
posted @ 2018-10-08 17:34 bztMinamoto 阅读(204) 评论(0) 推荐(0)
摘要:传送门 考虑转化为求最多说真话的人数 设$f(i)$表示排名前$i$的人中最多说真话的人的数量,考虑转移,如果由$j$转移而来,可以设$[j,i]$之间的人全都分数相等,那么式子就是$f[i]=f[j-1]+sum([j,i])$,其中$sum([j,i])$表示处在这个区间的人数,全部分数相等,另 阅读全文
posted @ 2018-10-07 22:18 bztMinamoto 阅读(162) 评论(0) 推荐(0)
摘要:传送门 我的floyd竟然写错了?今年NOIP怕不是要爆零了? 这就是一个概率dp 我们用$dp[i][j][k]$表示在第$i$个时间段,已经申请了$j$次,$k$表示本次换或不换,然后直接暴力转移 点数只有300,跑一遍floyd 阅读全文
posted @ 2018-10-07 21:23 bztMinamoto 阅读(181) 评论(0) 推荐(0)
摘要:传送门 我我我我我我我终于AAAAAAAA了!!! 我们来考虑概率期望原来的定义,是总收益除以总情况数 然后因为每一个节点的权值都是左右儿子权值之和,而走的概率也与权值有关 那么我们可以看做是从根节点出发走$sum[1]$次($sum[1]$为根节点的权值),那么走到每一个节点的次数就是这一个节点的 阅读全文
posted @ 2018-10-07 20:25 bztMinamoto 阅读(293) 评论(0) 推荐(0)
摘要:给定一个n个点,m条边的无向图,其中你在第i个点建立旅游站点的费用为Ci。在这张图中,任意两点间不存在节点数超过10的简单路径。请找到一种费用最小的建立旅游站点的方案,使得每个点要么建立了旅游站点,要么与它有边直接相连的点里至少有一个点建立了旅游站点。 题解 阅读全文
posted @ 2018-10-07 13:57 bztMinamoto 阅读(355) 评论(0) 推荐(0)
摘要:传送门 多项式求逆的解法看这里 我们考虑用分治 假设现在已经求出了$[l,mid]$的答案,要计算他们对$[mid+1,r]$的答案的影响 那么对右边部分的点$f_x$的影响就是$f_x+=\sum_{i=l}^{mid}f[i]g[x-i]$ 发现右边那个东西可以用卷积快速计算 那么只要一边分治一 阅读全文
posted @ 2018-10-07 10:48 bztMinamoto 阅读(799) 评论(3) 推荐(0)
摘要:传送门 orz这题太珂怕了……似乎都找不到几个板子参(chao)考(xi)……前置芝士又特别多……而且我写的时候牛顿迭代那里NTT数组长度写错了调了半天……然后各种地方多项式没清零又调了半天……可能是因为平时都抄板子的缘故没注意这问题…… 前置芝士:多项式对数函数(这里),泰勒展开(可以看看这里第一 阅读全文
posted @ 2018-10-07 09:35 bztMinamoto 阅读(328) 评论(0) 推荐(0)
摘要:传送门 话说为什么字符串会和卷积扯上关系呢……到底得脑洞大到什么程度才能想到这种东西啊……大佬太珂怕了…… 因为通配符的关系,自动机已经废了 那么换种方式考虑,如果两个字符串每一位对应的编码都相等,那么这两个字符串相等 编码相等就代表$\sum_{i=1}^na[i]-b[i]=0$ 然而这是不对的 阅读全文
posted @ 2018-10-06 20:20 bztMinamoto 阅读(189) 评论(0) 推荐(0)
摘要:传送门 这题太珂怕了……如果是我的话完全想不出来…… 题解 阅读全文
posted @ 2018-10-06 19:33 bztMinamoto 阅读(225) 评论(0) 推荐(0)
摘要:传送门 前置芝士:微积分(有所了解即可)(可以看看这篇,写得非常详细我看了两章就看不下去了) 以下都是一些简单的教程切莫当真,仅供理解,建议看更严谨的 导数:对于一个函数$f(x)$,它的导数$f'(x)$为一个新的函数。简单理解的话,$f'(x)$表示在原函数图像上该点切线的斜率,记为$\frac 阅读全文
posted @ 2018-10-06 18:21 bztMinamoto 阅读(1186) 评论(0) 推荐(0)
摘要:传送门 可以……这很多项式开根模板……而且也完全不知道大佬们怎么把这题的式子推出来的…… 首先,这题需要多项式开根和多项式求逆。多项式求逆看这里->这里,这里讲一讲多项式开根 多项式开方:已知多项式$B$,求多项式$A$满足$A^2\equiv B\pmod{x^n}$(和多项式求逆一样这里需要取模 阅读全文
posted @ 2018-10-06 12:49 bztMinamoto 阅读(329) 评论(0) 推荐(1)
摘要:传送门 我是用多项式求逆做的因为分治FFT看不懂…… upd:分治FFT的看这里 话说这个万恶的生成函数到底是什么东西…… 我们令$F(x)=\sum_{i=0}^\infty f_ix^i,G(x)=\sum_{i=0}^\infty g_ix^i$,且$g_0=0$ 这俩玩意儿似乎就是$f(x) 阅读全文
posted @ 2018-10-06 10:57 bztMinamoto 阅读(468) 评论(0) 推荐(0)
摘要:传送门 这对抗搜索是个啥玩意儿…… 首先可以发现每一行的棋子数都不小于下一行,且局面可由每一行的棋子数唯一表示,那么用一个m+1进制数来表示当前局面,用longlong存,开map记忆化搜索 然后时间复杂度的问题,rqy这样说的 然后这个对抗搜索的话……个人理解就是因为要最大化分值的差,所以在一个人 阅读全文
posted @ 2018-10-06 09:40 bztMinamoto 阅读(426) 评论(0) 推荐(0)
摘要:传送门 这玩意儿太骚了…… 参考了yyb巨佬的 阅读全文
posted @ 2018-10-06 09:03 bztMinamoto 阅读(361) 评论(0) 推荐(0)
摘要:传送门 这题的思路好清奇 因为只有一次查询,我们考虑二分这个值为多少 将原序列转化为一个$01$序列,如果原序列上的值大于$mid$则为$1$否则为$0$ 那么排序就可以用线段树优化,设该区间内$1$的个数为$res$,如果是升序排序,只要把$[r-res+1,r]$区间全部变为$1$,$[l,r- 阅读全文
posted @ 2018-10-05 19:11 bztMinamoto 阅读(186) 评论(0) 推荐(0)
摘要:传送门 感觉我BSGS都白学了……数学渣渣好像没有一道数学题能自己想出来…… 要求$X_{i+1}=aX_i+b\ (mod \ \ p)$ 左右同时加上$\frac{b}{a-1}$,把它变成等比数列$$X_{i+1}+\frac{b}{a-1}=a(X_i+\frac{b}{a-1}) \ (m 阅读全文
posted @ 2018-10-05 18:38 bztMinamoto 阅读(202) 评论(0) 推荐(0)
摘要:传送门 题意:$a_i\in S$,求$\prod_{i=1}^na_i\equiv x\pmod{m}$的方案数 这题目太珂怕了……数学渣渣有点害怕……kelin大佬TQL 设$f[i][j]$表示$\prod_{k=1}^ia_k\equiv j\pmod{m}$的方案数 那么$$f[2*i][ 阅读全文
posted @ 2018-10-05 18:05 bztMinamoto 阅读(213) 评论(0) 推荐(0)
摘要:传送门 首先,两个数同时增加自然数值相当于只有其中一个数增加(此增加量可以小于0) 我们令$x$为当前的增加量,${a},{b}$分别为旋转后的两个数列,那么$$ans=\sum_{i=1}^n(a_i+x-b_i)^2$$ 然后把第$i$项提出来并展开,可得$$(a_i+x-b_i)^2=a_i^ 阅读全文
posted @ 2018-10-05 16:19 bztMinamoto 阅读(164) 评论(0) 推荐(0)
摘要:传送门 先膜拜一下两位大佬->这里和这里 问题是这样的:给定一个$n$次多项式$A(x)$和一个$m(m≤n)$次多项式$B(x)$,要求求出两个多项式$D(x),R(x)$,满足$$A(x)=D(x)B(x)+R(x)$$ 这里$A(x)$为$n$次多项式,$B(x)$为$m$次多项式,那么$D( 阅读全文
posted @ 2018-10-05 13:33 bztMinamoto 阅读(549) 评论(0) 推荐(1)
摘要:传送门 学习了一下大佬的->这里 已知多项式$A(x)$,若存在$A(x)B(x)\equiv 1\pmod{x^n}$ 则称$B(x)$为$A(x)$在模$x^n$下的逆元,记做$A^{-1}(x)$ 具体的来说的话,就是两个多项式$A,B$相乘模$x^n$之后,所有次数大于等于$n$的项都没了, 阅读全文
posted @ 2018-10-05 08:07 bztMinamoto 阅读(472) 评论(0) 推荐(2)
摘要:传送门 NTT好像是比FFT快了不少 然而感觉不是很看得懂……主要是点值转化为系数表示那里…… upd:大概已经搞明白是个什么玩意儿了……吧…… 阅读全文
posted @ 2018-10-04 19:12 bztMinamoto 阅读(190) 评论(0) 推荐(0)
摘要:传送门 题目要求$$E_i=\frac{F_i}{q_i}=\sum_{j=1}^{i-1}\frac{q_j}{(i-j)^2}-\sum_{j=i+1}^n\frac{q_j}{(j-i)^2}$$ 令$x_i=\frac{1}{i^2}$,则有$$E_i=\sum_{j=1}^{i-1} q_ 阅读全文
posted @ 2018-10-04 18:17 bztMinamoto 阅读(140) 评论(0) 推荐(2)
摘要:传送门 话说FFT该不会真的只能用来做这种板子吧…… 我们把两个数字的每一位都看作多项式的系数 然后这就是一个多项式乘法 上FFT就好了 然后去掉前导零 (然而连FFT的板子都背不来orz,而且空间又开小了……) 阅读全文
posted @ 2018-10-04 16:17 bztMinamoto 阅读(185) 评论(0) 推荐(0)
摘要:传送门 FFT我啥都不会,先坑着 阅读全文
posted @ 2018-10-04 15:29 bztMinamoto 阅读(197) 评论(0) 推荐(0)
摘要:传送门 早上模拟赛考这题,结果竟然看错题目了orz 然后下午看完题解自己做的时候空间开小了白WA了好久orz 首先,如果以$S$为起点,一条边$(u,v)$在最短路上,则$dis[u]+edge[i]=dis[v]$ 那么我们先以每个点为起点跑一遍最短路 每一次跑完最短路,对于一条边$i$,考虑它的 阅读全文
posted @ 2018-10-04 13:08 bztMinamoto 阅读(282) 评论(0) 推荐(0)
摘要:传送门 关于exbsgs是个什么东东可以去看看yyb大佬的博客->这里 阅读全文
posted @ 2018-10-03 20:38 bztMinamoto 阅读(303) 评论(0) 推荐(0)
摘要:传送门 一题更比三题强 1操作直接裸的快速幂 2操作用exgcd求出最小正整数解 3操作用BSGS硬上 然后没有然后了 阅读全文
posted @ 2018-10-03 20:00 bztMinamoto 阅读(229) 评论(0) 推荐(0)
摘要:传送门 模数好大……__int128好麻烦……而且BSGS第一次写有点写蒙了…… $11...1(N个1)\equiv k(mod m)$很难算,那么考虑转化一下 先把$11...1(N个1)$写成$\frac{10^n-1}{9}$ 则$$\frac{10^n-1}{9}\equiv k(mod 阅读全文
posted @ 2018-10-03 18:59 bztMinamoto 阅读(279) 评论(0) 推荐(0)
摘要:传送门 所以说我讨厌数学……期望不会高斯消元也不会……好不容易抄好了高斯消元板子被精度卡成琪露诺了…… 首先,我们先算出走每一条边的期望次数,那么为了最小化期望,就让大的期望次数乘上小编号 边的期望次数是多少呢?可以先算出点的概率 $p(u,v)=\frac{p[u]}{d[u]}+\frac{p[ 阅读全文
posted @ 2018-10-03 18:07 bztMinamoto 阅读(191) 评论(0) 推荐(0)

Live2D