<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[蒟蒻QMQ]]></title><description><![CDATA[在不断的打击中锤炼自己]]></description><link>https://blog.youkuaiyun.com/zhangjianjunab</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhangjianjunab]]></copyright><item><title><![CDATA[GDOI 2021 爆零记]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/115618149</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/115618149</guid><author>zhangjianjunab</author><pubDate>Mon, 12 Apr 2021 13:07:24 +0800</pubDate><description><![CDATA[文章目录Day0Day1Day2赛后
Day0
进到耀华的宿舍，这不比母校华丽:)，一看学费五位数，反复吃惊。
晚上快乐的打王者:)。
Day1
早上早早的吃完饭，在教室外干等着。
一进去，看了眼题，T1十几分钟想到了二分的做法，但是觉得可以 O(n)O(n)O(n)，继续接着想，加上对拍，结果花了一个半小时，心态直接炸掉。
T2看了一眼，很快发现通过一种巧妙的方法把 bbb 差分一下，就可以把每个格子用一个差分后的 bbb 和三个 aaa 表示出来。
然后就不会做了QAQ，嫩是拿着一坨不等式找规律找了半天]]></description><category></category></item><item><title><![CDATA[做CF1493的总结]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114991729</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114991729</guid><author>zhangjianjunab</author><pubDate>Fri, 19 Mar 2021 12:46:01 +0800</pubDate><description><![CDATA[文章目录前言ABCDEF
前言
仅仅是做，并没有实际参与比赛，且F题并没有代码参考。
A
题目
个数非常显然的是n−⌊k2⌋n-\left\lfloor\frac{k}{2}\right\rfloorn−⌊2k​⌋
至于为什么，这里证明一下：
首先，在 [1,k−1][1,k-1][1,k−1] 中，你选了一个数字，那么 k−xk-xk−x 的数字就不能选，因此小于 kkk 中你最多选 ⌈k−12⌉\left\lceil\frac{k-1}{2}\right\rceil⌈2k−1​⌉ 个数字，同时我们也能构]]></description><category></category></item><item><title><![CDATA[[HEOI2014]南园满地堆轻絮（无代码）]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114876095</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114876095</guid><author>zhangjianjunab</author><pubDate>Thu, 18 Mar 2021 21:41:53 +0800</pubDate><description><![CDATA[例题
题目
做法
做法1
考虑二分答案，枚举答案为 KKK ，考虑一下如果一个位置在保证前面依旧是非递减时要怎样才能减轻后面变成非递减的压力？
显然的一件事情是要让数字变得尽量的小，直接二分+贪心。
老了老了，这个SB做法想了一个小时
O(nlog⁡n)O(n\log{n})O(nlogn)
做法2
这个做法看题解的，挺妙的。
直接贪心，答案为差值最大的逆序对的一半。
时间复杂度 O(n)O(n)O(n)。
这个应该就是能够在 LOJLOJLOJ AC的做法了。
当然，这个的证明我就阿巴一下吧。
定理
一个]]></description><category></category></item><item><title><![CDATA[网络流经典模型：最大权闭合子图和最大密度子图（坑）]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114288967</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114288967</guid><author>zhangjianjunab</author><pubDate>Tue, 02 Mar 2021 22:06:48 +0800</pubDate><description><![CDATA[文章目录前言最大权闭合子图
前言
其实网络流还有不少技巧，比如说什么拆点拆边什么啦，但是都是一些比较小的技巧，等以后无聊了再统一的整理一下。
这里介绍两个网络流比较NB的模型。（觉得NB可能是因为我菜吧）
最大权闭合子图
给你一个经典问题。
一筐小球，小球从111开始标号，有nnn个，每个球都有一个整数的点值，现在让你选择一些球，要求你所拿的球的权值和最大。
很简单，所以正数权值拿了就可以了。
改一下问题，一筐小球，对于一些小球有一个特别阿巴的性质：如果你选了 iii 小球，那么一定要选择第 jjj 个小球]]></description><category></category></item><item><title><![CDATA[各种神奇的插值法（坑）]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114106967</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/114106967</guid><author>zhangjianjunab</author><pubDate>Tue, 02 Mar 2021 13:27:45 +0800</pubDate><description><![CDATA[文章目录插值拉格朗日插值法普通拉格朗日插值法唯一性参考文献
插值
告诉你一个函数会经过 nnn 个点（nnn个点各不相同），然后让你计算其余几个位置的取值。（应该吧，个人理解）
一般情况下可能会用在一些数据统计中函数的拟合。（不然为什么会有这么多乱七八糟的拟合啊QAQ）
当然，这里主要涉及的是多项式插值，即利用经过这nnn个点的最高次项次数小于nnn的关于xxx的那个多项式，通过代入或者其他方法求出这几个位置的取值。
当然，这里给出一道模板题，在拉格朗日插值和牛顿插值时就是用这个模板题的。
模板题
当然，这]]></description><category></category></item><item><title><![CDATA[多项式桶1-NTT（快速数论变换以及任意模数形式）以及FFT的一点杂谈（分治FFT）]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/113997096</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/113997096</guid><author>zhangjianjunab</author><pubDate>Wed, 24 Feb 2021 21:24:24 +0800</pubDate><description><![CDATA[文章目录FFT参考资料
FFT
因为之前的我已经不想去动他了。QAQ
参考资料
http://blog.miskcoo.com/2015/04/polynomial-multiplication-and-fast-fourier-transform#IDFT
https://blog.youkuaiyun.com/a_forever_dream/article/details/106520376

]]></description><category></category></item><item><title><![CDATA[组合初解、分析组合数、组合恒等式（世界上最垃圾的组合数学1）（坑）]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/111588128</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/111588128</guid><author>zhangjianjunab</author><pubDate>Mon, 01 Feb 2021 08:48:40 +0800</pubDate><description><![CDATA[草稿

]]></description><category></category></item><item><title><![CDATA[关于反演原理以及一个例子：二项式反演（世界上最垃圾的组合数学2）（坑）]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/111588082</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/111588082</guid><author>zhangjianjunab</author><pubDate>Fri, 25 Dec 2020 13:40:59 +0800</pubDate><description><![CDATA[文章目录前言反演原理参考资料
前言
准备期末考就不做题了吧。。。
填一点坑。
反演原理
为了下文方便，我们定义一个函数Ui,j=[i=j]U_{i,j}=[i=j]Ui,j​=[i=j]，其中[q][q][q] 表示qqq成立时值为111，反之值为000。
首先我们有一个数列aaa，以及一个二元函数fi,jf_{i,j}fi,j​，以及一个已经知道的数列bbb。
aaa的生成法则为：ai=∑j=0ifi,jbj①a_{i}=\sum\limits_{j=0}^{i}f_{i,j}b_{j}①ai​=j=0∑]]></description><category></category></item><item><title><![CDATA[NOIP 提高组爆零祭]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110732112</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110732112</guid><author>zhangjianjunab</author><pubDate>Sun, 20 Dec 2020 10:35:47 +0800</pubDate><description><![CDATA[Day1 BC
打了一个小时的CF跑去睡觉了，就会做前三题，预感不是很好
At night
在睡觉的时候，梦到自己考试一直在码一道题目，然后直接在考试完之后直接爆炸？
啊，这。。。
出发
好紧张好紧张！！！！
考试
考试前五分钟，我对同学说不会考字符串题吧，他说不会不会，你不要奶。
然后考试一开始，打开题面一看，“string”。
《不会考字符串》
看题还是花了一会时间，第一道题不会这么简单吧，一道比较水的拓扑排序。
第二道题目发现循环节长度一定是最小循环节的倍数，然后又发现只用得到第一个循环节和第二个循环]]></description><category></category></item><item><title><![CDATA[[SDOI2009]学校食堂]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110201098</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110201098</guid><author>zhangjianjunab</author><pubDate>Thu, 26 Nov 2020 19:19:49 +0800</pubDate><description><![CDATA[题目
题目
做法
f[i][j][k]f[i][j][k]f[i][j][k]表示第iii个数字，jjj表示最后一个数字在j+kj+kj+k的位置，然后kkk用二进制表示后面的情况，对于f[i][j][k]f[i][j][k]f[i][j][k]，设xxx为包括他以内往后b[i]+1b[i]+1b[i]+1位第一个没有做菜的位置，然后用f[i][j][k]f[i][j][k]f[i][j][k]贡献给f[x]f[x]f[x]即可。
当然，需要提前处理每个位置的哪些二进制合法。
#include&lt;cst]]></description><category></category></item><item><title><![CDATA[网络流重制版：基于 Capacity Scaling 的弱多项式复杂度最小费用流算法]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110148484</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110148484</guid><author>zhangjianjunab</author><pubDate>Wed, 25 Nov 2020 22:20:31 +0800</pubDate><description><![CDATA[文章目录前言算法讲解要求无源汇最小费用流做法细节无限小？边权？总结参考资料坑
前言
Ouuan Orz
当然，先说一下弱多项式是啥？
OI 界中叫做 Dinic 和 EK 的那两个最大流算法，把其中的 BFS 改成求最短路，复杂度都是与值域多项式相关的，即复杂度是伪多项式的。
多项式复杂度有弱多项式和强多项式两种，弱多项式就是关于输入长度（ nnn、 mmm 之类的，以及 log值域log 值域log值域）为多项式复杂度，强多项式就是在加减乘除为 O(1)O(1)O(1) 时复杂度关于数据规模为多项式（就是]]></description><category></category></item><item><title><![CDATA[网络流重制版：最小费用最大流以及其正确性，还有各种算法的个人SB分析]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110086323</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/110086323</guid><author>zhangjianjunab</author><pubDate>Wed, 25 Nov 2020 21:54:41 +0800</pubDate><description><![CDATA[文章目录费用流的定义大概做法算法讲解MCMF算法ZKW费用流原始对偶算法参考资料
费用流的定义
有没有考虑过，如果一条边还有费用呢？？？
就像带权二分图匹配那样子。
给出定义，cost(i,j)cost(i,j)cost(i,j)为这条弧的花费。
那么不仅要在最大化流量的同时（优先级最高），最小化cost(i,j)∗f(i,j)cost(i,j)*f(i,j)cost(i,j)∗f(i,j)。
可以发现，如果图外面存在一个负环，那么这个负环会有流量，且会影响答案。
大概做法
首先，依旧是找增广路，但是呢，挑]]></description><category></category></item><item><title><![CDATA[网络流重制版：最大流最小割定理的讲解，以及增广路求最大流的证明]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109982772</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109982772</guid><author>zhangjianjunab</author><pubDate>Mon, 23 Nov 2020 20:00:29 +0800</pubDate><description><![CDATA[文章目录前言割参考资料
前言
初一的证明简直就是SB，错漏百出。。。
割
参考资料
EK时间复杂度的分析
一篇写得不错得最大流博客，术语很齐全
论如何卡掉Dinic(我没看懂)
咕咕讨论，Zadeh Construction是个什么东西
二分图匹配Dinic重拳出击
各种算法的时间复杂度以及HLPP的讲解
Dinic之神
最大流的正确性
各种算法的时间复杂度
算法导论爷Orz

...]]></description><category></category></item><item><title><![CDATA[网络流重制版：最大流Dinic，以及EK、Dinic时间复杂度的证明（含坑）]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109956810</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109956810</guid><author>zhangjianjunab</author><pubDate>Mon, 23 Nov 2020 09:00:36 +0800</pubDate><description><![CDATA[文章目录前言关于最大流神奇的术语参考资料坑
前言
初三的时候就知道以后注定会重新写网络流的博客了。
但是呢，之前的博客是不会删的。水数量
因为之前碰了很多杂七杂八的东西。
万一删了不就前功尽弃了，如果有少数几个读得懂我所写的文章的，可以结合两篇一起看，遇到重复的地方以这篇为参考，加上自己的理解。
需要注意的是，这篇文章可能对于信息学新手不会太友好，如果你只是个新手，建议去看看我之前的那篇，那篇提供了一个例子的讲解，会比较好，而这篇文章注重的是理论，比较干。说实话，就是懒得写例子
当然，这篇文章写的比较仓促，]]></description><category></category></item><item><title><![CDATA[CSP-S游记]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109666965</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109666965</guid><author>zhangjianjunab</author><pubDate>Fri, 13 Nov 2020 13:14:43 +0800</pubDate><description><![CDATA[初赛
初赛的事谁还记得啊
去考了场出赛，MAD，什么完善程序啊，直接爆炸了好不好，那两道四分题都不是很会做，其他都还行，拿到82分左右满意退场。
复赛
T1
看了一眼，眼都白了，什么乱七八糟的东西啊。
然后就在死命的乱膜，脑子都是糊的，一个半小时后过了大样例，以为胜券在握了。
T2
当时看了一眼，这不是离散化SB题，然后疯狂的打完了代码，一看到ppp（忘了是ppp还是qqq）互不相等，又傻了，这不是直接爆搞？然后又改了会代码，半个小时才搞完。
T3,T4
最后两个小时看了眼题，T4T4T4看了一会明白了博弈]]></description><category></category></item><item><title><![CDATA[[SHOI2015]零件组装机]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109529435</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109529435</guid><author>zhangjianjunab</author><pubDate>Fri, 06 Nov 2020 13:05:27 +0800</pubDate><description><![CDATA[题意
[SHOI2015]零件组装机
做法
同机房大佬想性质想了很久，我从树的思想搞很快搞出来了
言归正传，这道题目从树的思路想是比较简单的，关键是建树。
现在讲讲建树：对于一条边，默认是从编号大的连向编号小的有向边。
那么，设xxx连向的编号最大的点为yyy，那么x,yx,yx,y是什么关系？
我们规定一个联通块的根为这个联通块编号最小的点（不难发现联通块的编号是连续的），那么x,yx,yx,y的关系其实就是以xxx为根的联通块与[y,x−1][y,x-1][y,x−1]的联通块合并。
这样，我们就只需要]]></description><category></category></item><item><title><![CDATA[[AH2017/HNOI2017]影魔]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109519265</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109519265</guid><author>zhangjianjunab</author><pubDate>Thu, 05 Nov 2020 20:07:11 +0800</pubDate><description><![CDATA[题目
[AH2017/HNOI2017]影魔
做法
做法1（口胡）
这个做法估计会T
考虑每个数字连向后面第一个比他大的树，对一个区间建一颗树，对于i&lt;j&lt;k,ai&lt;aj&lt;aki&lt;j&lt;k,a_i&lt;a_j&lt;a_ki&lt;j&lt;k,ai​&lt;aj​&lt;ak​的询问，即为树上每个点dep−2dep-2dep−2之和，然后其余类似，用莫队维护，时间复杂度：O(nn)O(n\sqrt{n})O(nn​)，常数和码量都巨大，于是没有打，膜了题解。
当然，至于]]></description><category></category></item><item><title><![CDATA[[AH2017/HNOI2017]单旋]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109508917</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109508917</guid><author>zhangjianjunab</author><pubDate>Thu, 05 Nov 2020 12:13:57 +0800</pubDate><description><![CDATA[题目链接
https://www.luogu.com.cn/problem/P3721
做法
好神的题目！！！
我们重新修改一下链的定义，一条链为a1,a2,a3,a4,a5...a_1,a_2,a_3,a_4,a_5...a1​,a2​,a3​,a4​,a5​...，仅当ai(∀i&gt;1)a_{i}(∀i&gt;1)ai​(∀i&gt;1)为ai−1a_{i-1}ai−1​的左儿子，或者右儿子。
不难发现，对于一条链，链底旋到链顶，其实只会把链底和其的某个儿子带到根节点，其余不变。

就在我思考不是链]]></description><category></category></item><item><title><![CDATA[[SCOI2016]围棋]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109483237</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109483237</guid><author>zhangjianjunab</author><pubDate>Wed, 04 Nov 2020 08:53:30 +0800</pubDate><description><![CDATA[题意
题目链接
做法
首先你得先轮廓线DP（不一定得会插头DP，但这两玩意好像没差）
题解部分照搬：https://www.luogu.com.cn/blog/duyi/solution-p3290，讲的挺好的。
先做补集转化。把“至少有一次匹配”，转化为求“禁止出现匹配”。然后用 3^{nm}3
nm
减去禁止出现匹配的方案数，就是答案了。
考虑轮廓线DP。
设dp[i][j][mask][k][l]dp[i][j][mask][k][l]dp[i][j][mask][k][l]表示考虑到了第iii行、第]]></description><category></category></item><item><title><![CDATA[「SCOI2016」美味]]></title><link>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109464414</link><guid>https://blog.youkuaiyun.com/zhangjianjunab/article/details/109464414</guid><author>zhangjianjunab</author><pubDate>Tue, 03 Nov 2020 10:52:45 +0800</pubDate><description><![CDATA[题意
题目链接
做法
一个很新鲜的idea，由于直接建010101trie没法支持修改，不妨考虑另类做法：
枚举答案xorxorxor bbb（即枚举xi+ajx_{i}+a_{j}xi​+aj​）的二进制每一位是000还是111，即对于最高位第ttt位，如果我想要这一位是000（因为bbb的这一位是111），那么就判断[l,r][l,r][l,r]区间是否有[0,2t−1][0,2^{t}-1][0,2t−1]的数字，后面的位类似。
至于判断区间是否存在某个区间的数字，直接用动态开点线段树搞就行了。
时间]]></description><category></category></item></channel></rss>