01 2019 档案

摘要:【题解】 " CF264B Good Sequences" 具有很明显的无后效性。 考虑$dp$。 考虑初始条件,显然是$dp(0)=0$ 考虑转移,显然是$dp(t)=max(dp[k])+1$其中$gcd(data[t],data[k]) 1$ 这样的转移是$O(n^2)$的!显然超时。 发现值 阅读全文
posted @ 2019-01-31 14:25 谁是鸽王 阅读(274) 评论(0) 推荐(0)
摘要:【题解】 "[CQOI2012\]组装" 考虑化为代数的形式,序列$\left[a_i \right]$表示选取的$i$种类仓库的坐标。 $ans=\Sigma(a_i x)^2,( )$,展开: $ans=nx^2 2\Sigma a_ix+\Sigma a_i^2( )$ (\ \)是二次函数看 阅读全文
posted @ 2019-01-30 18:20 谁是鸽王 阅读(368) 评论(0) 推荐(0)
摘要:【题解】 " P2279 [HNOI2003\]消防局的设立" 又是一道贪心。 随便指定一个点为根,可以知道在覆盖了一个节点的子树的情况下,消防站越高越好。那么我们就贪心吧。$trick$是按深度$push$到$queue$里,然后直接取出来判断、贪心。 咕咕咕 cpp include includ 阅读全文
posted @ 2019-01-29 20:32 谁是鸽王 阅读(182) 评论(0) 推荐(0)
摘要:【题解】 " P5022 旅行" 当给定你一颗树的时候,这题就是一道送分题,凉心啊! 但是给定你一颗基环树呢? 暴力断环直接跑。 但是数据范围$n\le 1000$ 乱做就完事了。 考场上这样想的,对于$m=n​$的情况,得出来的最佳方案一定没有经过一条树边。那么我们直接枚举那条边不能走,直接$O( 阅读全文
posted @ 2019-01-29 20:26 谁是鸽王 阅读(282) 评论(0) 推荐(0)
摘要:【题解】 " P5021 赛道修建" ~~二分加贪心,轻松拿省一(我没有QAQ)~~ 题干有提示: 输出格式: 输出共一行,包含一个整数,表示长度最小的赛道长度的最大值。 注意到没, ,还要多明显? 那么我们考虑二分。 直接二分答案,假设我们得到了二分答案$x$,我们就利用这个答案检查是否可行。考虑 阅读全文
posted @ 2019-01-29 20:12 谁是鸽王 阅读(233) 评论(2) 推荐(0)
摘要:【题解】 " P3129 [USACO15DEC\]高低卡(白金)High Card Low Card (Platinum)" 考虑贪心。 枚举在第几局改变规则,在改变规则之前,尽量出比它大的最小的牌,在改变规则之后,尽量出最大的比它小的牌。前面记录一个$f(x)$后面记录一个$g(x)$ 此时,你 阅读全文
posted @ 2019-01-29 19:58 谁是鸽王 阅读(300) 评论(0) 推荐(0)
摘要:【题解】 " P1156 垃圾陷阱" 乍看此题,我们感觉状态很多,很复杂。 遇到这类型条件比较多的$dp$,我们不要首先考虑全部设出来,而是要看到这些状态的本质。而在这道题目中,时间和高度就是关键。 考虑卡门吃掉垃圾: 时间改变,高度不变。 考虑卡门垫上垃圾: 时间改变,高度改变。 也就是说,垃圾变 阅读全文
posted @ 2019-01-29 14:48 谁是鸽王 阅读(219) 评论(0) 推荐(0)
摘要:【题解】 " P1613 ~~鸽王~~跑路" 一道思维好题! 考虑$2^k$的传递性。直接64遍$floyd$求所有$2^k$的路径,转移方程是 $dp(i,j,k)=[dp[i][t][k 1]$&&$dp[t][j]][k 1]$ 有了这个之后先$O(n^3)$预处理,然后根据这样的数组直接建边 阅读全文
posted @ 2019-01-29 14:26 谁是鸽王 阅读(147) 评论(0) 推荐(0)
摘要:【题解】 " P3939 数颜色" 不要数据结构和模板学傻了... 考虑到兔子们交换都是相邻的,说明任何一次交换只会引起$O(1)$的变化。 我们开很多$vector$存没种兔子的下标就好了。到时候二分查找查询。 复杂度$O(nlogn)$ cpp include include include i 阅读全文
posted @ 2019-01-29 11:43 谁是鸽王 阅读(243) 评论(0) 推荐(0)
摘要:【题解】 " P2146 [NOI2015\]软件包管理器" 实际上就是树链剖分板子题。 对于$install$操作,直接查询它到$0$节点有多少已经安装了的,再用总数减去它。 对于$uninstall$操作,记录一个$dfs$序结束时间的$endseg[]$数组,直接把$\left[toseg_i 阅读全文
posted @ 2019-01-29 11:36 谁是鸽王 阅读(201) 评论(0) 推荐(0)
摘要:【题解】 " P1092 虫食算" 老题了,很经典。 用到了一些搜索套路。 可行性剪枝,劣者靠后,随机化,$etc......$ 搜索设参也很有技巧,设一个$adjustment$参数可以很方便地在两个方程之间切换。 调试递归最好在递归到下一层递归之前输出关键信息。 阅读全文
posted @ 2019-01-29 11:28 谁是鸽王 阅读(269) 评论(0) 推荐(0)
摘要:【题解】 " P3230 [HNOI2013\]比赛" 将得分的序列化成样例给的那种表格,发现一行和一列是同时确定的。这个表格之前是正方形的,后来长宽都减去一,还是正方形。问题形式是递归的。这就启示我们可以把这个正方形$hash$起来,直接搜索。 平局和胜场可以很显然地算出来, $draws=\fr 阅读全文
posted @ 2019-01-29 11:21 谁是鸽王 阅读(339) 评论(0) 推荐(0)
摘要:【题解】 " P4799 [CEOI2015 Day2\]世界冰球锦标赛" 发现买票顺序和答案无关,又发现$n\le40$,又发现从后面往前面买可以通过$M$来和从前面往后面买的方案进行联系。可以知道是双搜。 从后往前搜索,$2^{\frac{n}{2}}$枚举记录到中间时剩下多少钱的方案,记为$h 阅读全文
posted @ 2019-01-29 11:04 谁是鸽王 阅读(223) 评论(0) 推荐(0)
摘要:【题解】 " AT2043 AND Grid" 我们考虑直接构造两个互补的图切分别联通的图,然后原图有的大家都有就构造完成了。 cpp include include include include include include include include include include in 阅读全文
posted @ 2019-01-29 10:54 谁是鸽王 阅读(237) 评论(0) 推荐(0)
摘要:【题解】 " CF45G Prime Problem" 哥德巴赫板子题? $\frac{n(n+1)}{2}$若是质数,则不需要分了。 上式 若是奇数,那么拆成2和另一个数。 上式 若是偶数吗,直接$O(n)$枚举。 加上暴力判质数,复杂度$O(n\sqrt{n})$ 没写,蒯别人的吧 cpp // 阅读全文
posted @ 2019-01-29 10:45 谁是鸽王 阅读(441) 评论(0) 推荐(0)
摘要:【题解】 " CF359B Permutation" 求一个长度为$2n$的序列,满足$\Sigma |a_{2i} a_{2i 1}| |\Sigma a_{2i} a_{2i 1}|=2k$ 这种带绝对值的题目套路就是把绝对值拆开。看看$n=2$时候的情况 $\left[1,2,3,4\righ 阅读全文
posted @ 2019-01-29 10:33 谁是鸽王 阅读(255) 评论(0) 推荐(0)
摘要:【题解】 " CF989C A Mist of Florescence" 题目大意: 让你构造一个$n∗m$矩阵,这个矩阵由4种字符填充构成,给定4个整数,即矩阵中每种字符构成的四联通块个数,$n,m$需要你自己定,但是不能超过50 发现每个联通块至少有一个。 考虑重复利用条件,我们直接构造一个$5 阅读全文
posted @ 2019-01-29 10:23 谁是鸽王 阅读(230) 评论(0) 推荐(0)
摘要:【题解】 " P3599 Koishi Loves Construction" $\mod n$ 考虑如何构造,发现$n$一定在第一位,不然不行。$n$一定是偶数或者是$1$,不然 $n|\frac{n(n+1)}{2}$则最后一项一定会和第一项相同。考虑让他们的前缀和变成这样子的数列$\left[ 阅读全文
posted @ 2019-01-29 10:18 谁是鸽王 阅读(314) 评论(0) 推荐(0)
摘要:【题解】P5151 HKE与他的小朋友 实际上,位置的关系可以看做一组递推式,$f(a_i)=f(a_j),f(a_j)=f(a_t),etc...$那么我们可以压进一个矩阵里面。 考虑到这个矩阵是$O(n^2logn)$的,我们观察我们单位矩阵的性质,发现每行的轮换的。 那么我们愉快地只记录第一层 阅读全文
posted @ 2019-01-29 09:53 谁是鸽王 阅读(177) 评论(1) 推荐(0)
摘要:优雅的暴力 主要想总结一下搜索神奇的优化办法。 第一梯队:$meet$ $in$ $the$ $middle$ 双搜 对于一些问题,从终点到起点和从起点到终点都是可逆的话,考虑meet in the middle。 可以将$2^n​$搜索化为$2^{\frac{n}{2}}​$ 就可以接受了。 对于 阅读全文
posted @ 2019-01-28 07:43 谁是鸽王 阅读(1075) 评论(0) 推荐(1)
摘要:题解 CF734F 【Anton and School】 "传送门" 这种将位运算和普通运算结合起来的题目要拆位来考虑,可以得到$log_{2}($值域$)$的算法,甚至将值域看成常数。 根据 $a|b+a \& b=a+b$ 得到 $b_i+c_i=\Sigma a_i+na_i$ 于是 $a_i 阅读全文
posted @ 2019-01-26 20:21 谁是鸽王 阅读(208) 评论(0) 推荐(0)
摘要:【题解】 CF11D A Simple Task "传送门" $n \le 20$ 考虑状态压缩$dp$。 考虑状态,$dp(i,j,O)$表示从$i$到$j$经过点集$O$的路径有多少。 $dp(i,j,O \bigcup i)=\Sigma dp(i,p,O)$,$j p$有一条边。 考虑内存, 阅读全文
posted @ 2019-01-26 18:08 谁是鸽王 阅读(280) 评论(0) 推荐(0)
摘要:自适应AC自动机! 其实就是重载运算符。 感觉别人写的自动机下标之间太多累赘的东西,不如重载运算符。方便编写。 实际上AC自动机就是字典树加上$kmp$算法的精髓,可以对于一个文本串快速匹配多个模式串。时间复杂度$O(\Sigma n+m)$。 cpp include define RP(t,a,b 阅读全文
posted @ 2019-01-26 17:24 谁是鸽王 阅读(198) 评论(0) 推荐(0)
摘要:题解 P1373 小a和uim之大逃离 "传送门" 一道dp好题 乍看此题,感觉要这样设计: $dp(x)(y)(mod_{a})(mod_{uim})(0/1)$ , 但是我上午考试就MLE了,赶紧算一下内存,发现超了。 那怎么办?此时,我们要挖掘题目的条件,题目只需要我们求出$mod{a} mo 阅读全文
posted @ 2019-01-24 20:33 谁是鸽王 阅读(145) 评论(0) 推荐(0)
摘要:题解 CF576C 【Points on Plane】 一道很好的思维题。 "传送门" 我们看这个曼哈顿距离,显然如果有一边是按顺序排列的,显然是最优的,那另一边怎么办呢? 假如你正在$ioi$赛场上,此时遇到一个$n\le 10^6$的题目,你现在发现自己的排列最坏情况是$O(n^2)$的,你怎么 阅读全文
posted @ 2019-01-23 20:18 谁是鸽王 阅读(302) 评论(0) 推荐(0)
摘要:题解 P4799 【[CEOI2015 Day2]世界冰球锦标赛】 双向搜索好题 "传送门" 实际上,双向搜索就是把$a^n$的复杂度转变成了大多为$O(nlogna^{\frac{n}{2}})$的复杂度。 上代码 阅读全文
posted @ 2019-01-23 19:09 谁是鸽王 阅读(204) 评论(3) 推荐(0)
摘要:【题解】 " P1198 [JSOI2008\]最大数" 正难则反,意想不到。 这道题是动态让你维护一个数列,已经在数列里面的数据不做改变,每次在最后加上一个数,强制在线。 既然正着做很难,考虑如果 时间倒流 ,不会改变之前的维护的任何数据结构。于是我们反着维护一个St表。 cpp include 阅读全文
posted @ 2019-01-23 11:59 谁是鸽王 阅读(202) 评论(0) 推荐(0)
摘要:题解 P3389 【【模板】高斯消元法】 看到大家都没有重载运算符,那我就重载一下运算符给大家娱乐一下 我使用的是高斯 约旦消元法,这种方法是精度最高的(相对地) 一句话解释高斯约旦消元法: _通过加减消元法,依次制定x0,并通过加减消元法消去其他方程的x0的系数。对于这样的系数矩阵我们只进行初等变 阅读全文
posted @ 2019-01-23 11:58 谁是鸽王 阅读(225) 评论(0) 推荐(0)
摘要:矩阵加速,专门用来解决一些递推的关系,其原理和矩阵运算的法则有关 由于矩阵的乘法有结合律,所以我们可以通过矩阵快速幂来快速求解递推关系,一般时间复杂度是O(nlogn)。 矩阵快速幂很简单,写一下模板就会了,但是推导单位矩阵是个难题。 一般地,我们推导单位矩阵时,有这几个步骤。 1. 确定递推初始条 阅读全文
posted @ 2019-01-23 11:57 谁是鸽王 阅读(254) 评论(0) 推荐(0)
摘要:数据差分化是一个很神仙也很实用的方法。 具体操作就是将一个数化为多个项的和的形式,这些我们产生的项多为g(x)=f(i) f(i 1)一类形式,这样可以错位相消去,十分巧妙。 数据差分化有以下神仙之处: 通过差分数据得到原数据g(x):十分显然,g(x)=f(1)+f(2)+f(3)+……+f(x) 阅读全文
posted @ 2019-01-23 11:55 谁是鸽王 阅读(270) 评论(0) 推荐(0)
摘要:"传送门" 搞不清楚为什么这一题要DP . . . . . . 思路: $n\le100$,考虑暴力。 要求一大块区间内都是1,考虑前缀和。 在矩阵中求一个符合条件的子矩阵,考虑$n^3$的“压行”做法。 具体实现: 读入时,先记录每一层的前缀和,再把上一次的前缀和加进来。 $n^2$枚举正方形的上 阅读全文
posted @ 2019-01-23 11:54 谁是鸽王 阅读(196) 评论(0) 推荐(0)
摘要:发一篇不需要O2就能过的分块。 基本思路: 分块的思路,大段维护,小段朴素。 维护几个数组: 区块$block[maxn]$ 懒标记$tag[maxn]$ 真实数据$data[maxn]$。 更新时 假设我们 涉及 到的区块的编号区间是$[lb,rb]$, 真实数据范围为 $[l,r]$。 那么,我 阅读全文
posted @ 2019-01-23 11:52 谁是鸽王 阅读(191) 评论(0) 推荐(0)
摘要:I spent much time on matrix caculating, and I wanna share a module of matrix caculating with you. I hope you can enjoy it. Just tell me if any incorre 阅读全文
posted @ 2019-01-23 11:50 谁是鸽王 阅读(250) 评论(0) 推荐(0)
摘要:题解 CF97C 【Winning Strategy】 此题是某平台%你赛原题,跟大家分享一下某校zsy和sxr等同学的神仙做法。 我解释一下题意,大是说,我有【无限】个人,每个人可以对他“伤害”至多两次。当伤害完第二次时,这个人会转变成一个贡献(Pi)。Pi和杀死的人数正相关。 Idea: 其实此 阅读全文
posted @ 2019-01-23 11:39 谁是鸽王 阅读(295) 评论(0) 推荐(0)
摘要:线性筛法是极其实用而高效的方法,一般是对于数论上的完全积性函数和积性函数才使用这种方法。 积性函数的定义: 对于互质的正整数$p_1p_2$,我们若有在正整数域上定义的函数,$f(ab)=f(a)f(b)$,则称$f(x)$为积性函数。若$p_1p_2$扩展到整数域内,则称为完全积性函数。 我们的线 阅读全文
posted @ 2019-01-23 11:38 谁是鸽王 阅读(306) 评论(0) 推荐(0)
摘要:"传送门" 题目大意: 对于$a+ \frac 1{a^{}}=n$求$a^{m}+ \frac 1{a^{m}} $,对$10^9+7$取模。 题目做法: 乍看此题,没有思路,但是如果用数学办法推导一下,就知道怎么做了。 记$f(x)=a^x+ \frac 1{a^{x}}$ 显然当$(x =y) 阅读全文
posted @ 2019-01-23 11:37 谁是鸽王 阅读(167) 评论(0) 推荐(0)
摘要:算法:最小生成树,树上倍增。 这道题要先知道一个结论,那就是货车走过的道路一定是在最大生成树上面的,证明可以使用反证法。十分显然。 之后,我们得到一棵树之后,就可以树上倍增了。我们同时维护一个lca数组和一个ans数组,分别用来表示从它开始第$2^k$父亲的节点和到父亲节点这么多地方最小的边权。到时 阅读全文
posted @ 2019-01-23 11:37 谁是鸽王 阅读(189) 评论(0) 推荐(0)
摘要:十分普通的DP+不平凡的转移 "传送门" 这道题状态十分明显。转移是$O(n^4)$的,过不去,我们需要优化。 一个十分显然的DP是$f(i,j)$表示第$i$天时候拥有$j$单位股票的最大收益。(可以小于零)。它的转移方式是: $f(i,j)=max(f(k,b)+(b j) \times sel 阅读全文
posted @ 2019-01-23 11:36 谁是鸽王 阅读(338) 评论(0) 推荐(0)
摘要:贪心。数组都不用开那种。 考虑跑步距离的构成。发现跑步只有三种情况构成 休息 传送 朴素地跑 显然,如果可以传送,我们就不要朴素地跑步。因为$17\le 60 \div 2 =30$。 假如我们知道了传送的次数,花费的时间是确定的。 于是问题变成了,我们有多少魔法值去传送。 考虑魔法值的构成是 给定 阅读全文
posted @ 2019-01-23 11:36 谁是鸽王 阅读(230) 评论(0) 推荐(0)
摘要:```cpp include using namespace std; define I int a,b; define AK cin a b; define IOI cout 阅读全文
posted @ 2019-01-23 11:35 谁是鸽王 阅读(202) 评论(0) 推荐(0)
摘要:其实也不是模板啦........... 原理 求最长不下降序列是有nlog{n}算法的 数据离散化的应用 实现 离散化,记$f(x)$是由母串的值到母串下标的映射,令所有模式串的值 $x=f(x)$。 显然母串的下标是严格递增的,那么找最长公共序列就变成了找最长不上升序列, $O(nlog{n})$ 阅读全文
posted @ 2019-01-23 11:34 谁是鸽王 阅读(263) 评论(0) 推荐(0)
摘要:一个很菜的OIer的自述 ~~FINO:只进不出队列(First in, never out)~~ 没有来得及学习的: 费用流 最小割 决策单调性 模拟退火算法 同余类最短路 亦或差分 插头DP(轮廓线DP) 正在学习或者落实的: 网络流 带权线段树合并 扩展欧几里得 可持久化线段树 组合数学 第二 阅读全文
posted @ 2019-01-23 11:33 谁是鸽王 阅读(155) 评论(6) 推荐(0)
该文被密码保护。
posted @ 2019-01-23 11:21 谁是鸽王 阅读(41) 评论(5) 推荐(0)