06 2019 档案

摘要:"【牛客网】Finding Hotel" 忘记K远点对的剪枝的我有点自闭 事实上我们只要先建一棵KD树出来,维护一下所在的矩形,和子树里的最小值 每次查询的时候如果最小值比查询的值要大的话就退出 当前的答案构成了一个圆,若圆和矩形没有交就退出(不一定很严格,可以认为是以圆心为中心向上下左右延伸半径长 阅读全文
posted @ 2019-06-28 11:47 sigongzi 阅读(302) 评论(0) 推荐(0)
摘要:"【牛客网】Longest Common Subsequence" 发现只有d数组最格路 于是我们把前三个数组中相同的数记成一个三维坐标,同一个数坐标不会超过8个 从前往后枚举d,每次最多只会更新不超过8个点 而每个点更新就是找这个点三维偏序都小于它的最大的一个值+1来更新它 用KD树来维护,这个点 阅读全文
posted @ 2019-06-28 10:20 sigongzi 阅读(355) 评论(0) 推荐(0)
摘要:"【ZOJ】4012 Your Bridge is under Attack" 平面上随机n个点,然后给出m条直线,问直线上有几个点 $n,m \leq 10^{5}$ 由于共线的点不会太多,于是我们可以建KD树出来直接查询,这条直线和某个矩形不相交则不搜索这个子树 cpp include defi 阅读全文
posted @ 2019-06-27 19:11 sigongzi 阅读(431) 评论(0) 推荐(0)
摘要:"LOJ 2210. 「HNOI2014」江南乐" 感觉是要推sg函数 发现$\lfloor \frac{N}{i}\rfloor$只有$O(\sqrt{N})$种取值 考虑把这些取值都拿出来,能取到这个值的$i$是一个区间$[l,r]$ 如果$r l + 1 = 1$,那么直接算这个数的答案即可( 阅读全文
posted @ 2019-06-27 16:30 sigongzi 阅读(358) 评论(0) 推荐(0)
摘要:可能是一篇(抄来的)min25学习笔记 一个要求很多的积性函数 我们考虑有一个积性函数,这个函数满足可以快速计算质数处的值 且质数可以写成一个多项式的形式……而且这个多项式如果强行套在合数上,满足积性,~~我也不知道有没有除了$x^{k}$别的多项式惹~~ 假如$F(x) = x^{k}$吧 我们想 阅读全文
posted @ 2019-06-26 20:19 sigongzi 阅读(767) 评论(0) 推荐(0)
摘要:" 3020. 「CQOI2017」小 Q 的表格" 这个的话求出来$g = gcd(a,b)$ 会修改所有gcd为g的位置 我们要求$(g,g)$这个位置的数一定是$g^{2}$的倍数 之后的$gcd(a,b) == g$的位置也会满足 $\frac{f(g,g)}{g^{2}} = \frac{ 阅读全文
posted @ 2019-06-24 18:56 sigongzi 阅读(307) 评论(0) 推荐(0)
摘要:"【51nod】1602 矩阵方程的解" 这个行向量显然就是莫比乌斯函数啦,好蠢的隐藏方法= = 然后我们尝试二分,二分的话要求一个这个东西 $H(n) = \sum_{i = 1}^{n} \mu(i) == d$ 当然$\mu(x)$由于一些很好的性质,这个东西可以用分类讨论做出来 众所周知,求 阅读全文
posted @ 2019-06-24 10:50 sigongzi 阅读(468) 评论(0) 推荐(0)
摘要:"【51nod】1634 刚体图" 给一个左边n个点右边m个点二分图求合法的连通图个数,每条边选了之后会带来价值乘2的贡献 类似城市规划那道题的计数 设$g[i][j]$为左边$i$个点,右边$j$个点的图有多少个(就是边随便连) $f[i][j]$为左边$i$个点右边$j$个点的连通图有多少个 然 阅读全文
posted @ 2019-06-24 08:49 sigongzi 阅读(477) 评论(0) 推荐(0)
摘要:"【51nod】1407 与与与与" 设$f(x)$ 为$A_{i} \& x == x$的$A_{i}$的个数 设$g(x)$为$x$里1的个数 $\sum_{i = 0}^{2^{20}} ( 1)^{g(x)}2^{f(x)}$ $f(x)$就是按位取反之后的一个FMT卷积,把判断条件改成这一 阅读全文
posted @ 2019-06-23 18:18 sigongzi 阅读(528) 评论(0) 推荐(0)
摘要:"【51nod】1776 路径计数" 我们先把前两种数给排好,排好之后会有$a + b + 1$个空隙可以填数,我们计算有$k$个空隙两端都是相同字母的方案数 可以用枚举把第二种数分成几段插进去来算,设这个方案数为$f[k]$ 然后对于一种有$k$个空隙的方案数,枚举剩下的$a + b + 1 k$ 阅读全文
posted @ 2019-06-23 17:58 sigongzi 阅读(384) 评论(0) 推荐(0)
摘要:"diverta 2019 Programming Contest 2" A Ball Distribution 特判一下一个人的,否则是$N (K 1) 1$ B Picking Up 枚举p,q(就是枚举一个点对计算p和q),判哪一种情况最优即可 F Diverta City 水平不行,想不到 阅读全文
posted @ 2019-06-22 13:21 sigongzi 阅读(899) 评论(2) 推荐(0)
摘要:"【牛客网】Whalyzh's Problem" 每个$b_{i,j}$建一个点,认为选了$b_{i,j}$一定会选$a_{i}$和$a_{j}$ 选了$a_{i}$的话会带了一个$ b_{i,i}$的价值 然后再用01分数规划二分答案,选了$a_{i}$还会带来$ x$的代价,x是二分的答案 如果 阅读全文
posted @ 2019-06-21 09:45 sigongzi 阅读(282) 评论(0) 推荐(0)
摘要:"【牛客网】Idol Master" 也是一道网络流解线性规划 不过需要从小于号的那边解 限制是$a \leq \sum_{i = 1}^{k} x_{i}\leq b$ 其中$0 \leq x_{i} \leq 1$ $\sum_{i = 1}^{k} x_{i} = b y_{i}$ $y_i 阅读全文
posted @ 2019-06-21 08:52 sigongzi 阅读(439) 评论(0) 推荐(0)
摘要:"【洛谷】P3980 [NOI2008]志愿者招募" 我居然现在才会用费用流解线性规划…… 当然这里解决的一类问题比较特殊 以式子作为点,变量作为边,然后要求就是变量在不同的式子里出现了两次,系数一次为+1,一次为 1 这样的话就作为了一个出度和一个入度,和边正好对应了 我们设每种志愿者选择人数是$ 阅读全文
posted @ 2019-06-21 08:43 sigongzi 阅读(398) 评论(0) 推荐(0)
摘要:"【51nod】 2622 围绕着我们的圆环" kcz出的一道比赛题 第一次写带修改的线性基 ps:我觉得我计数计的好麻烦 首先是这个可以认为第二个矩阵是$q$个$s$位数,如果这$q$个数的线性基可以消掉$C$中每一行,那么答案就应该是,设线性基个数是$x$,则应该是$2^{q x}$随便选,然后 阅读全文
posted @ 2019-06-21 07:43 sigongzi 阅读(459) 评论(0) 推荐(0)
摘要:"【51nod】2564 格子染色" 这道题原来是网络流…… 感觉我网络流水平不行…… 这种只有两种选择的可以源点向该点连一条容量为b的边,该点向汇点连一条容量为w的边,如果割掉了b证明选w,如果割掉了w证明选b 那么$p$的限制怎么加呢,新建一个点$i'$,然后$i$往$i'$流一条容量为$p$的 阅读全文
posted @ 2019-06-21 07:40 sigongzi 阅读(287) 评论(0) 推荐(0)
摘要:"【51nod】2027 期望问题" %%%zsy 看不懂题解的垃圾选手在zsy大佬的讲解下终于知道了这道题咋做…… 先把所有$a$从大到小排序 设$f_{i}$为前$i$个数组成的排列的值,然后显然第$i + 1$个插进来的时候,有$i + 1$个位置,而且它比谁都要大 以下默认$f_{1}$到$ 阅读全文
posted @ 2019-06-19 17:28 sigongzi 阅读(191) 评论(0) 推荐(0)
摘要:"【51nod】2591 最终讨伐" 敲51nod是啥评测机啊,好几次都编译超时然后同一份代码莫名奇妙在众多0ms中忽然超时 这道题很简单就是$M$名既被诅咒也有石头的人,要么就把石头给没有石头被诅咒的人,然后互换身份,要么就找一些人构成一个置换圈,内部消化,$N$名有石头没诅咒的人不能把石头给M, 阅读全文
posted @ 2019-06-19 17:12 sigongzi 阅读(218) 评论(0) 推荐(0)
摘要:"【51nod】2590 持续讨伐" 挣扎着卡了卡常过了 记$dp[i][j]$为到第$i$位,和第$i$位相连的部分长度$x^{j}$乘上之前部分所有方案$x^{K}$总和 转移用二项式定理展开即可,若这位不选,可以有$dp[i + 1][j] = dp[i][K]$ 矩阵乘法优化一下,卡常用预处 阅读全文
posted @ 2019-06-19 14:02 sigongzi 阅读(172) 评论(0) 推荐(0)
摘要:51nod 2589 快速讨伐 又是一道倒着推改变世界的题。。。 从后往前考虑,设$dp[i][j]$表示还有$i$个1和$j$个$2$没有填,那么填一个1的话直接转移过来 $dp[i][j] \rightarrow dp[i 1][j]$ 如果填一个$2$要把$A[j]$的那些敌人都扔在这个2的后 阅读全文
posted @ 2019-06-19 11:09 sigongzi 阅读(353) 评论(0) 推荐(0)
摘要:知识点梳理 Day1 6.7 可能是图论专题吧 Tarjan求强连通分量 dfn[]表示dfs序的标号 low[]表示能连到的最小的dfn标号的点的标号 sta[],top是栈 instack[]标号是表示这个点在栈中,还是已经遍历完被弹栈了 col[]记录每个点所在的颜色 1.Tarjan缩点后是 阅读全文
posted @ 2019-06-14 08:13 sigongzi 阅读(2224) 评论(13) 推荐(5)
摘要:51nod 2606 Secondary Substring 感觉有趣的一道计数,实际上不难 感觉好久没用这种技巧了,导致我还在错误的道路上想了好久。。。 观察题目性质,可以发现就是左边第一次出现两遍的数字的位置$[i,n]$是一个合法的次级子串 右边第一次出现两遍的数字的位置$[1,j]$是一个合 阅读全文
posted @ 2019-06-13 17:40 sigongzi 阅读(270) 评论(0) 推荐(0)
摘要:LOJ 3098. 「SNOI2019」纸牌 显然选三个以上的连续牌可以把他们拆分成三个三张相等的 于是可以压$(j,k)$为有$j$个连续两个的,有$k$个连续一个的 如果当前有$i$张牌,且$i = j + k$ 那么可以$(j,k)\rightarrow (k,(i j k) \% 3)$ 可 阅读全文
posted @ 2019-06-13 11:15 sigongzi 阅读(192) 评论(0) 推荐(0)
摘要:【洛谷】P4202 [NOI2008]奥运物流 感觉有点降智 首先设环长为$len$,很容易推导出 $$ R(1) = \frac{\sum_{i = 1}^{N} C_{i} k^{dep[i]}}{1 k^{len}} $$ 我好像觉得似乎$len$越大底下越小了,太降智了,len越大底下越大 阅读全文
posted @ 2019-06-13 10:43 sigongzi 阅读(329) 评论(0) 推荐(0)
摘要:LOJ 3103. 「JSOI2019」节日庆典 能当最小位置的值一定是一个最小后缀,而有用的最小后缀不超过$\log n$个 为什么不超过$\log n$个,看了一下zsy的博客。。 假如$i = AAB$,$j = AB$,$B$是$A$的一个严格前缀,$|j| define fi first 阅读全文
posted @ 2019-06-12 19:56 sigongzi 阅读(451) 评论(0) 推荐(0)
摘要:LOJ 3102. 「JSOI2019」神经网络 首先我们容易发现就是把树拆成若干条链,然后要求这些链排在一个环上,同一棵树的链不相邻 把树拆成链可以用一个简单(但是需要复杂的分类讨论)的树背包实现 $dp[u][j][0/1/2]$表示第$u$个点已经选了$j$条链,0是两个不同子树的链拼到一起, 阅读全文
posted @ 2019-06-12 15:50 sigongzi 阅读(465) 评论(0) 推荐(0)
摘要:【洛谷】P5348 密码解锁 很显然我们可以推导出这个式子 设$a(m)$为$m$位置的值 $$ \mu(m) = \sum_{m | d} a(d) \\ a(m) = \sum_{m|d}\mu(\frac{d}{m})\mu(d) \\ a(m) = \sum_{i = 1}^{\lfloor 阅读全文
posted @ 2019-06-12 10:48 sigongzi 阅读(323) 评论(0) 推荐(0)
摘要:【洛谷】P4883 mzf的考验 最近忽然放弃治疗开始随机跳题了 感觉还行 就是必须吸氧感觉有点糟糕。。。 这题翻转和求和都是平衡树基本操作,那个异或可以通过维护树中$2$进制下第$2^{i}$位的$1$的个数,即可$O(\log d)$快速维护 当敲板子玩了 cpp include define 阅读全文
posted @ 2019-06-12 08:48 sigongzi 阅读(210) 评论(0) 推荐(0)
摘要:LOJ 3101. 「JSOI2019」精准预测 设0是生,1是死,按2 sat连边那么第一种情况是$(t,x,1) \rightarrow (t + 1,y,1)$,$(t + 1,y, 0) \rightarrow (t,x,0)$ 第二种情况是$(t,x,0) \rightarrow (t,y 阅读全文
posted @ 2019-06-11 22:08 sigongzi 阅读(469) 评论(0) 推荐(0)
摘要:LOJ 3097. 「SNOI2019」通信 费用流,有点玄妙 显然按照最小路径覆盖那题的建图思路,把一个点拆成两种点,一种是从这个点出去,标成$x_{i}$,一种是输入到这个点,使得两条路径合成一条(或者是新建一条),标成$y_i$ 源点向每个$x_i$流一条容量为1,费用为0的边 然后向每个$y 阅读全文
posted @ 2019-06-11 21:53 sigongzi 阅读(284) 评论(0) 推荐(0)
摘要:LOJ 3096. 「SNOI2019」数论 如果$P Q$我们把$P$和$Q$换一下,现在默认$P define fi first define se second define pii pair define mp make_pair define pb push_back define spa 阅读全文
posted @ 2019-06-11 14:07 sigongzi 阅读(291) 评论(0) 推荐(0)
摘要:以前写Isap的时候,总是被卡,然后学了一发Isap的当前弧优化,好像可以水过很多题 但是一直没明白为啥Isap会走一个环??? 然后写dinic了,听说不容易被卡(来自去年九省联考的指导) 然而……我写了一遍上下界最小流,T了。。 后来发现我还是不懂为啥要当前弧,因为不会有环 于是去询问群友…… 阅读全文
posted @ 2019-06-11 13:52 sigongzi 阅读(330) 评论(0) 推荐(0)
摘要:LOJ 2239. 「CQOI2014」危桥 就是先把每条边正着连一条容量为2的边,反着连一条容量为2的边 显然如果只有一个人走的话,答案就是一个源点往起点连一条容量为次数×2的边,终点往汇点连一个次数×2的边,跑最大流看是否满流即可 两个人的话由于两个人的路径可能相交,有可能从$a_1$走到了$b 阅读全文
posted @ 2019-06-10 18:58 sigongzi 阅读(189) 评论(0) 推荐(0)
摘要:LOJ 3051. 「十二省联考 2019」皮配 当时我在考场上觉得这题很不可做。。。 当然,出了考场后再做,我还是没发现学校和城市是可以分开的,导致我还是不会 事实上,若一个城市投靠了某个阵营,学校可以任意选择派系,但是反过来看,学校选择了派系,也不影响城市投靠什么阵营,而这两者共同固定了一个学校 阅读全文
posted @ 2019-06-10 11:08 sigongzi 阅读(316) 评论(0) 推荐(1)
摘要:今天忽然心血来潮打开牛客网尝试了一下一站到底 前四道题都是不到二十分钟切完,然后第五道来了道计算几何 我也不会啊,于是就觉得大力随机也许可行 然鹅被精度卡到崩溃 后来我才知道 保证有解,是保证你的精度误差设置到$10^{ 3}$,有解,$10^{ 5}$没有解 【脏话】 这题直接随机三个点求外接圆就 阅读全文
posted @ 2019-06-07 16:35 sigongzi 阅读(298) 评论(0) 推荐(1)
摘要:LOJ 3109. 「TJOI2019」甲苯先生的线段树 发现如果枚举路径两边的长度的话,如果根节点的值是$x$,左边走了$l$,右边走了$r$ 肯定答案会是$(2^{l + 1} + 2^{r + 1} 3)x + t$,可以发现$t define fi first define se secon 阅读全文
posted @ 2019-06-07 10:49 sigongzi 阅读(347) 评论(0) 推荐(1)
摘要:LOJ 3095. 「SNOI2019」字符串 如果两个串$i,j$比较$i define fi first define se second define pii pair define mp make_pair define pb push_back define space putchar(' 阅读全文
posted @ 2019-06-06 14:41 sigongzi 阅读(234) 评论(0) 推荐(0)
摘要:LOJ 3094. 「BJOI2019」删数 之前做atcoder做到过这个结论结果我忘了。。。 em,就是$[1,n]$之间每个数$i$,然后$[i cnt[i] + 1,i]$可以放一条线段,没被线段放的地方就是需要改的数的总和 之后我们线段树维护区间最小值以及个数 我们要注意如果+1后使得一个 阅读全文
posted @ 2019-06-06 13:57 sigongzi 阅读(305) 评论(0) 推荐(0)
摘要:LOJ 3092. 「BJOI2019」排兵布阵 这题就是个背包啊,感觉是$nms$的但是不到0.2s,发生了什么。。 就是设$f[i]$为选了$i$个人最大的代价,然后有用的人数只有$s$种 阅读全文
posted @ 2019-06-06 13:38 sigongzi 阅读(262) 评论(0) 推荐(0)
摘要:LOJ 3090. 「BJOI2019」勘破神机 为了这题我去学习了一下BM算法。。 很容易发现这2的地方是$F_{1} = 1,F_{2} = 2$的斐波那契数列 3的地方是$G_{1} = 3,G_{2} = 11$其中下标表示长度的$\frac{1}{2}$,可以得到$G_{3} = 4G_{ 阅读全文
posted @ 2019-06-06 13:34 sigongzi 阅读(405) 评论(0) 推荐(0)
摘要:AGC034 刷了那么久AtCoder我发现自己还是只会ABCE(手动再见 A Kenken Race 大意是一个横列,每个点可以跳一步或者跳两步,每个格子是空地或者石头,要求每一步不能走到石头或者有人的格子上,求是否能把$A$移动到$C$,$B$移动到$D$,$A define fi first 阅读全文
posted @ 2019-06-06 11:47 sigongzi 阅读(662) 评论(0) 推荐(0)
摘要:LOJ 3089. 「BJOI2019」奥术神杖 看见乘积就取log,开根号就是除法,很容易发现这就是一道01分数规划。。 然后建出AC自动机直接dp就行,判断条件要设成 0,因为起点的值是1,取完ln后是0 cpp include define fi first define se second 阅读全文
posted @ 2019-06-05 11:45 sigongzi 阅读(324) 评论(0) 推荐(0)
摘要:LOJ 3088. 「GXOI / GZOI2019」旧词 不懂啊5e4感觉有点小 就是离线询问,在每个x上挂上y的询问 然后树剖,每个节点维护轻儿子中已经被加入的点的个数个数乘上$dep[u]^{k}$ 新加一个点进去只会经过$\log n$条轻边只会更新$\log n$个节点 然后再维护一下每个 阅读全文
posted @ 2019-06-05 10:13 sigongzi 阅读(295) 评论(0) 推荐(0)
摘要:LOJ 3087. 「GXOI / GZOI2019」旅行者 正着求一遍dij,反着求一遍,然后枚举每条边,从u到v,如果到u最近的点和v能到的最近的点不同,那么可以更新答案 没了 cpp include define fi first define se second define pii pai 阅读全文
posted @ 2019-06-05 08:57 sigongzi 阅读(204) 评论(0) 推荐(0)
摘要:LOJ 3086. 「GXOI / GZOI2019」逼死强迫症 这个就是设状态为$S,j$表示轮廓线为$S$,然后用的1×1个数为j 列出矩阵转移 这样会算重两个边相邻的,只要算出斐波那契数然后乘上N就是不合法的方案 cpp include define fi first define se se 阅读全文
posted @ 2019-06-05 08:28 sigongzi 阅读(281) 评论(0) 推荐(0)
摘要:LOJ 3085. 「GXOI / GZOI2019」特技飞行 这显然是两道题,求$C$是一个曼哈顿转切比雪夫后的线段树扫描线 求$AB$,对向交换最大化和擦身而过最大化一定分别为最大值和最小值 对向交换最大化是每个点都对向交换 擦身而过最大化需要对向交换最小化,我们一次对向交换相当于交换任意两个数 阅读全文
posted @ 2019-06-04 21:51 sigongzi 阅读(278) 评论(0) 推荐(0)
摘要:LOJ 3083. 「GXOI / GZOI2019」与或和 显然是先拆位,AND的答案是所有数字为1的子矩阵的个数 OR是所有的子矩阵个数减去所有数字为0的子矩阵的个数 子矩阵怎么求可以记录每个位置能向上延伸的高度$h[i][j]$ 枚举左下角的端点,用一个单调栈维护即可 cpp include 阅读全文
posted @ 2019-06-04 21:41 sigongzi 阅读(223) 评论(0) 推荐(0)
摘要:LOJ 3046. 「ZJOI2019」语言 先orz zsy吧 有一个$n\log^3n$的做法是把树链剖分后,形成logn个区间,这些区间两两搭配可以获得一个矩形,求矩形面积并 然后就是对于一个点把树链的log个区间加进去然后线段树合并,这是$n \log^2 n$的 链并会形成一棵树,如果我们 阅读全文
posted @ 2019-06-04 11:24 sigongzi 阅读(443) 评论(0) 推荐(0)
摘要:LOJ 3044. 「ZJOI2019」Minimax 搜索 一个菜鸡的50pts暴力 设$dp[u][j]$表示$u$用$j$次操作能使得$u$的大小改变的方案数 设每个点的初始答案是$S[u]$ 每个数大小只和$S[1]$的大小关系有关 于是每个数的状态设为 1(比S[1]小),1(比S[1]大 阅读全文
posted @ 2019-06-03 07:24 sigongzi 阅读(292) 评论(0) 推荐(0)
摘要:M SOLUTIONS Programming Contest A Sum of Interior Angles B Sumo C Best of (2n 1) 就是有$C$的概率往下摁,否则就停止,这样的期望次数是$\frac{C}{1 C}$ 我们枚举最终情况走了$i$个$A$和$N$个$B$( 阅读全文
posted @ 2019-06-02 09:11 sigongzi 阅读(385) 评论(0) 推荐(0)
摘要:LOJ 3042. 「ZJOI2019」麻将 如何判定一个集合牌有没有胡的子集是不是胡的 就用一个$dp[j][k][0/1]$表示有j个连续两个的串,有k个连续1个串,有没有对子,再记一下这个集合里的牌大于等于2的花色数有几个 我们把$dp[j][k][0/1]$和大于等于2的花色数作为一副牌的状 阅读全文
posted @ 2019-06-01 14:06 sigongzi 阅读(515) 评论(0) 推荐(0)