随笔分类 -  网站->LOJ

上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要:题解 用容斥,算至少K个极大值的方案数 我们先钦定每一维的K个数出来,然后再算上排列顺序是 $w_{k} = \binom{n}{k}\binom{m}{k}\binom{l}{k}(k!)^3$ 然后有$(n k)(m k)(l k)$是可以随便填的 设$all = nml,v_k = nml ( 阅读全文
posted @ 2019-05-25 17:08 sigongzi 阅读(395) 评论(0) 推荐(0)
摘要:题解 可以发现每次修改的是这个点往上一条连续的链,如果我要把1改成0,需要满足这一段往上的一部分都有两个1 如果我要把0改成1,需要满足这一段往上的部分有两个0 对于每个点记录1的个数,发现我们只会把一棵树的2全部改成1或者把1全部改成2,这样加标记的时候可以同时维护是否全1或者是否全2,用lct维 阅读全文
posted @ 2019-03-07 18:48 sigongzi 阅读(244) 评论(0) 推荐(0)
摘要:"原题链接" 多项式全家桶!快乐!(好像少个除法,不过有除法好像不太快乐) (说真的这是我第一次写exp和开根。。。水平不行。。 从最基础要实现的操作开始吧。。 多项式取模$x^n$ 这个。。很简单了,把大于等于n指数的系数全改成0就好了 多项式加减法 按位加/减,复杂度$O(n)$ 多项式求导数 阅读全文
posted @ 2019-01-15 17:44 sigongzi 阅读(935) 评论(0) 推荐(0)
摘要:题解 就是线段树维护一下转移矩阵 分成两种情况,一种是前面有两个联通块,一种是前面有一个联通块 从一个联通块转移到一个联通块 也就是新加一列的三个边选其中两条即可 从一个联通块转移到两个联通块 不连竖着的那条边,横着的两条边转移一条短的即可 从两个联通块转移到一个联通块 新加的一列三个边全连上 从两 阅读全文
posted @ 2018-12-19 15:46 sigongzi 阅读(331) 评论(0) 推荐(0)
摘要:题解 直接二分然后建图跑网络流看看是否合法即可 就是源点向每个激光武器连一条二分到的时间×激光武器每秒攻击值的边 每个激光武器向能攻击的装甲连一条边 每个装甲向汇点连一条装甲值的边 代码 cpp include define fi first define se second define pii 阅读全文
posted @ 2018-12-19 14:31 sigongzi 阅读(422) 评论(0) 推荐(0)
摘要:题解 还以为是啥毒瘤题 然后是个搜索题 复杂度算起来挺大 然后跑起来就连0.1ms不到= = 就是从大到小进行每种操作,搜出来一种操作就乘上一个操作数的阶乘就行 如果现在进行的操作操作$2^i$那么大的段,那么就把序列分成每段$2^{i + 1}$长,看看每段是否连续 如果都连续这次操作就跳过 如果 阅读全文
posted @ 2018-12-19 13:43 sigongzi 阅读(382) 评论(0) 推荐(0)
摘要:题解 事实上是个分块暴力 就是跳跃长度大于$\sqrt{n}$的狗最多有$\sqrt{n}$个位置 剩下跳跃长度小于$\sqrt{n}$的暴力记录 也就是两个$dis$数组 $dis[0][i][j]$表示第$i$个位置有跳跃长度为$j$的狗 $dis[1][i][j]$表示第$i$只狗在自己的第$ 阅读全文
posted @ 2018-12-19 09:16 sigongzi 阅读(397) 评论(0) 推荐(0)
摘要:题解 ~~感觉自己通过刷水题混LOJ刷题量非常成功~~ 首先是二进制枚举位,判是否合法 要写两个solve不是很开心,$A$不为1的直接记录状态$f[i][j]$为能否到达前$i$个分成$j$段,转移$n^3$ $A$为1的相当于在一张拓扑图上求到$N$的最短路是否小与$B$,连边方式即为如果$su 阅读全文
posted @ 2018-12-18 19:34 sigongzi 阅读(290) 评论(0) 推荐(0)
摘要:题解 显然有个很暴力的dp,$dp[i][j]$表示选到第$i$个数,末尾的数是$j$的方案数 但是第二维就开不下了,怎么办呢 考虑离散化整个区间,我们记录$dp[i][j][k]$表示选到第$i$个点,选到第$j$个区间,这个区间选了$k$个数 转移的时候记录一个$sum[j][k]$表示$i 1 阅读全文
posted @ 2018-12-18 18:43 sigongzi 阅读(557) 评论(0) 推荐(0)
摘要:题解 这个听起来很毒瘤的想法写起来却非常休闲,理解起来可能很费劲 例如,我们首先到猜到答案是个下凸包 然后是不是要三分???然而并不是orz 我们通过归纳证明这个下凸包的结论来总结出了一个算法 也就是对于每个子树是一个凸包,我们进行两种操作,一种操作是我给这个子树加了一个父亲边 另一种操作是对所有儿 阅读全文
posted @ 2018-12-18 15:52 sigongzi 阅读(293) 评论(0) 推荐(0)
摘要:题解 成功把自己写自闭了 离散化之后再二分我是真不会算坐标啊我这个zz 先离散化所有坐标,然后对于每个位置维护一个最小前驱,然后线段树区间维护最小前驱 什么?位置一样?那就给每个大小为1的位置开个multiset,往上维护的时候就直接左右区间取min 然后就是,在线段树上二分了 我们把正无穷和负无穷 阅读全文
posted @ 2018-12-17 19:50 sigongzi 阅读(306) 评论(0) 推荐(0)
摘要:题解 第一个子任务直接询问最大最小,每次可以问出来两个,再最大最小 1再问两个,最多问$\frac{N + 1}{2}$次就还原出了序列 第二个子任务由于差分肯定会大于等于$\lceil \frac{mx mn}{N 1} \rceil$ 那么我们直接把序列最大最小按照这个值分块,只用两个块之间的差 阅读全文
posted @ 2018-12-17 11:37 sigongzi 阅读(465) 评论(0) 推荐(0)
摘要:题解 我们把这个多边形三角形剖分了,和统计多边形面积一样 每个三角形有个点是原点,把原点所对应的角度算出来,记为theta 对于一个点,相当于半径为这个点到原点的一个圆,圆弧上的弧度为theta的一部分 相当于一条直线和这个小圆弧求交,直接算出有交的角度然后累加最后除2PI即可 可以拿余弦定理爆算( 阅读全文
posted @ 2018-12-17 10:30 sigongzi 阅读(650) 评论(3) 推荐(0)
摘要:题解 感觉智商为0啊QAQ 显然对于一个长度为$len$的border,每个点同余$n len$的部分必然相等 那么我们求一个$f[a]$数组,如果存在$s[x] = 0$且$s[y] = 1$且$|x y| = a$ 这个很好求,只要把0和1分别挑出来,NTT卷一下就好了 一个$len$合法,即它 阅读全文
posted @ 2018-12-15 13:11 sigongzi 阅读(210) 评论(0) 推荐(0)
摘要:题解 想出70的大众分之后就弃疗了,正解有点神仙 就是首先有个比较显然的结论,就是要么是一直往左走,要么是走一步右边,然后一直往左走 根据这个可以结合RMQ写个70分的暴力 我们就考虑,最优的话显然是走一步左边就到了目标点,第二步才开始有分叉 假如我们先走了一步左边,然后就变成了,从$L[x]$开始 阅读全文
posted @ 2018-12-15 10:08 sigongzi 阅读(318) 评论(0) 推荐(0)
摘要:题解 什么,我这题竟然快到了LOJ rk1???? 搜起来有点麻烦,不过感觉还是比斗地主好下手(至今没敢写斗地主 首先是暴力搜牌型,最多$3^{16}$(什么判解还要复杂度怂成一团)的样子?? 然后判牌型,显然只要考虑单牌,和3 + x,4+2 然后暴力搜网友的3和4 暴力搜jry的3和4 然后枚举 阅读全文
posted @ 2018-12-14 20:17 sigongzi 阅读(623) 评论(0) 推荐(0)
摘要:题解 神仙的状压啊QAQ 设一个$f[S]$表示数字的集合为$S$时$sum[S]$为前缀最大值的方案数 $g[S]$表示数字集合为$S$时所有前缀和都小于等于0的方案数 答案就是$sum_{S} sum[S] f[S] g[2^{N} 1 S]$ 求$f$每次相当于往前面插入一个数,如果$sum[ 阅读全文
posted @ 2018-12-14 16:54 sigongzi 阅读(575) 评论(0) 推荐(0)
摘要:题解 简单分析一下,如果这个选手成绩是0,直接输出$\binom{n}{k}$ 如果这个选手的成绩没有被翻倍,那么找到大于等于它的数(除了它自己)有a个,翻倍后不大于它的数有b个,那么就从这$a + b$个选手里找翻倍选手使得它排名不变 答案是$\binom{a + b}{K}$ 如果这个选手成绩翻 阅读全文
posted @ 2018-12-14 11:04 sigongzi 阅读(207) 评论(0) 推荐(0)
摘要:题解 和BZOJ4025挺像的 就是维护边权是时间的最大生成树 删边直接删 两点未联通时直接相连,两点联通则找两点间边权小的一条边删除即可 代码 cpp include define fi first define se second define pii pair define pdi pair 阅读全文
posted @ 2018-12-12 09:58 sigongzi 阅读(335) 评论(0) 推荐(0)
摘要:题解 我现在真是太特么老年了 一写数据结构就颓废,难受 这题就是用lct维护子树 ???lct怎么维护子树 这样想,我们给每个点记录虚边所在的子树大小,只发生在Access和link的时候 这样的话我们在这两个操作的时候顺带维护一下就好了 Access的时候加上新的虚儿子,减掉变成实边的那个儿子 l 阅读全文
posted @ 2018-12-11 20:31 sigongzi 阅读(249) 评论(0) 推荐(0)

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