<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/anhui1929</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; anhui1929]]></copyright><item><title><![CDATA[dp凸优化/带权二分 学习笔记]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439371</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439371</guid><author>anhui1929</author><pubDate>Mon, 07 Oct 2019 11:31:00 +0800</pubDate><description><![CDATA[我是不会说我是想写林克卡特树才来学这个东西的
dp凸优化/带权二分
这个东西其实挺有用的,
dp凸优化是来解决这类问题的
你有一些操作,操作\(i\)会对答案有贡献\(w_i\),选的操作越多,\(w_i\)越小/大
问恰好进行\(k\)次操作所得到的最大/小答案
普通解法
额外记一维\(k\)表示进行了\(k\)次操作
复杂度\(O(nk)\)
\(dp\)凸优化
先考虑去掉\(k\)...]]></description><category></category></item><item><title><![CDATA[【APIO2014】Split the sequence]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439376</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439376</guid><author>anhui1929</author><pubDate>Sun, 06 Oct 2019 12:12:00 +0800</pubDate><description><![CDATA[\(ProblemLink\)
题意
你正在玩一个关于长度为\(n\)的非负整数序列的游戏。这个游戏中你需要把序列分成 \(k+1\) 个非空的块。为了得到 \(k+1\)块，你需要重复下面的操作\(k\)次：

选择一个有超过一个元素的块（初始时你只有一块，即整个序列）
选择两个相邻元素把这个块从中间分开，得到两个非空的块。

每次操作后你将获得那两个新产生的块的元素和的乘积的分数。你...]]></description><category></category></item><item><title><![CDATA[ARC086 E Smuggling Marbles]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439369</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439369</guid><author>anhui1929</author><pubDate>Sun, 06 Oct 2019 08:22:00 +0800</pubDate><description><![CDATA[题目大意
\(ProblemLink\)
\(Sunke\)有一棵N + 1个点的树，其中0为根，每个点上有0或1个石子，\(Sunke\)会不停的进行如下操作直至整棵树没有石子：
把0上面的石子从树上拿走放入口袋；
把每个点上的石子移到其父亲上；
对于每个点，若其石子数\(\gt1\)，则移除该点所有石子（不 放入口袋）。
求对于所有\(2^{N+1}\)种放置石子的方案，最终\(Su...]]></description><category></category></item><item><title><![CDATA[AT2567 RGB Sequence]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439367</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439367</guid><author>anhui1929</author><pubDate>Sat, 05 Oct 2019 12:10:00 +0800</pubDate><description><![CDATA[对每个右端点, 记录它向左第一次出现某种颜色的位置
设\(f[i][r][g][b]\)表示当前考虑到第i位，最后一个r,g,b颜色的出现的位置。
显然有\(i=max(r,g,b)\)
然后就直接\(dp\)就可以了。
/*
@Date    : 2019-10-05 11:48:12
@Author  : Adscn (adscn@qq.com)
@Link    : https:/...]]></description><category></category></item><item><title><![CDATA[快速傅里叶变换(FFT)与多项式算法学习笔记]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439374</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439374</guid><author>anhui1929</author><pubDate>Fri, 04 Oct 2019 18:47:00 +0800</pubDate><description><![CDATA[参考资料:menci的博客
前言:
最近在学习生成函数,无奈的发现如果我不学习\(O(nlogn)\)的多项式算法的话什么题也做不了qwq
于是就滚来学习FFT了
其实写的很烂,主要是给自己看的
好像整个机房就我不会这玩意了
定义
多项式
形如\(F(x)=\sum\limits_{i=0}^na_ix^i\)的柿子就是一个多项式,这个多项式的次数就是它的最高次数\(n\)
多项式的表示...]]></description><category></category></item><item><title><![CDATA[QTREE5 Link-Cut Tree]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439372</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439372</guid><author>anhui1929</author><pubDate>Thu, 12 Sep 2019 11:49:00 +0800</pubDate><description><![CDATA[\(Problem\ Link\)
题目大意
你被给定一棵n个点的树，点从1到n编号。每个点可能有两种颜色：黑或白。我们定义dist(a,b)为点a至点b路径上的边个数。
一开始所有的点都是黑色的。
要求作以下操作：
0 i 将点i的颜色反转（黑变白，白变黑）
1 v 询问dist(u,v)的最小值。u点必须为白色（u与v可以相同），显然如果v是白点，查询得到的值一定是0。
特别地，如果...]]></description><category></category></item><item><title><![CDATA[CF867E Buy Low Sell High]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439365</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439365</guid><author>anhui1929</author><pubDate>Sat, 07 Sep 2019 08:08:00 +0800</pubDate><description><![CDATA[\(ProblemLink\)
题目大意
你预言了每天的股票价格\(v_i\)，从第\(1\)天开始，你每天可以选择卖一支股票，买一支
股票，或者什么也不做。问直到第\(n\)天结束你最多可以获得多少收益。
\(n\le3*10^5\)
思路分析
我们可以先把所有元素丢到小根堆里。
如果存在\(a_i&gt;a_j(i&gt;j)\)那么\(j\)这一天是显然要买股票的。
但是我们不知道...]]></description><category></category></item><item><title><![CDATA[Huffman-Tree 学习笔记]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439370</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439370</guid><author>anhui1929</author><pubDate>Fri, 06 Sep 2019 22:15:00 +0800</pubDate><description><![CDATA[又是啃课件的一天
定义
构造一棵含\(n\)个叶子结点的\(k\)叉树, 其中第\(i\)个叶子结点权值\(w_i\), 要求最小化
\(\sum w_i*d_i\), \(d_i\)表示\(i\)结点的深度。
这样的合法的树被称为(k叉)\(Huffman\)树
构造方法
增加一些叶子结点为\(0\)的结点, 使得它成为满\(k\)叉树。将\(w\)都丢进小根堆，每次都
取前\(k\)...]]></description><category></category></item><item><title><![CDATA[P4747 [CERC2017]Intrinsic Interval]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439364</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439364</guid><author>anhui1929</author><pubDate>Fri, 06 Sep 2019 19:59:00 +0800</pubDate><description><![CDATA[P4747 [CERC2017]Intrinsic Interval
前言
这道题有高大上的析合树做法
不过我不会，可能退役后会考虑学学吧。
这题还有线段树优化建边缩点的好办法。
我还是不会，可能以后会学学吧。
题目大意
\(ProblemLink\)
其实题目里面讲的很清楚了。
简单的说就是给你一个\(1\) ~\(n\)的排列
定义如果一个区间\([l,r]\)是好区间，仅当\(l\...]]></description><category></category></item><item><title><![CDATA[点分治与动态点分治学习笔记]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439368</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439368</guid><author>anhui1929</author><pubDate>Thu, 29 Aug 2019 22:12:00 +0800</pubDate><description><![CDATA[点分治
点分治是处理树上路径的一类有力算法。
分治算法我们都经常用到，平时我们在序列上可以直接分治。
但是如果在树上怎么办呢？
我们可以指定一个根递归下去处理子树。
即将原来的数分成许多子树，对每个子树分别处理。
如果我们随缘指定一个根，递归层数可能是\(n\)一级别的，复杂度显然会退化。
借鉴我们在分治序列时我们每次取\(mid\)的思想。
于是我们在分治树时我们每次取树的重心。
树的...]]></description><category></category></item><item><title><![CDATA[洛谷P4859 已经没有什么好害怕的了]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439362</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439362</guid><author>anhui1929</author><pubDate>Wed, 28 Aug 2019 22:10:00 +0800</pubDate><description><![CDATA[题目大意
给出 \(n\)个数\(a_i\)，以及\(n\)个数 \(b_i\) ，要求两两配对使得\(a&gt;b\)的对数减去\(a&lt;b\)的对数等于 k。
\(0\leq k\leq n\leq2000\) ，\(a,b\)无相同元素。
题目分析
这题目意蕴丰富
求方案数考虑\(dp\)
先将序列从小到大排序。
因为保证了互不相同。
所以只需要知道\(a&gt;b\)的对数就...]]></description><category></category></item><item><title><![CDATA[二项式反演学习笔记]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439360</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439360</guid><author>anhui1929</author><pubDate>Wed, 28 Aug 2019 20:41:00 +0800</pubDate><description><![CDATA[一个非常好的Blog
二项式反演
二项式反演的形式为
\(\large f_n=\sum\limits_{i=0}^n(-1)^i{n\choose i}g_i\leftrightarrow g_n=\sum\limits_{i=0}^n(-1)^i{n\choose i}f_i\)
或常用的
\(\large f_n=\sum\limits_{i=0}^n{n\choose i}g_i...]]></description><category></category></item><item><title><![CDATA[【网络流24题】试题库问题]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439366</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439366</guid><author>anhui1929</author><pubDate>Wed, 28 Aug 2019 16:42:00 +0800</pubDate><description><![CDATA[对于每个试题只能属于一个类型的限制，我们从原点向试题连1
然后把每个试题向类别连边，类别向汇点连要求量就可以了
挺板子的说？
/*
@Date    : 2019-08-28 14:20:04
@Author  : Adscn (adscn@qq.com)
@Link    : https://www.cnblogs.com/LLCSBlog
*/
#include&lt;bits/st...]]></description><category></category></item><item><title><![CDATA[一些常见错误]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439358</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439358</guid><author>anhui1929</author><pubDate>Tue, 20 Aug 2019 17:10:00 +0800</pubDate><description><![CDATA[1.如果下标从1开始 ，回文自动机的字符数组的第0个要设成'$' !
2.点分治求重心时外部要hson[Hroot=0]=total=n


转载于:https://www.cnblogs.com/LLCSBlog/p/11384149.html...]]></description><category></category></item><item><title><![CDATA[NOI2009 诗人小G]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439356</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439356</guid><author>anhui1929</author><pubDate>Sun, 18 Aug 2019 13:31:00 +0800</pubDate><description><![CDATA[显然有\(f[i]=min(f[j]+w(i,j)),w(i,j)=|sum[i]-sum[j]-L-1+i-j|^P\)
\(sum_i=\sum\limits_{j=1}^ilen_j\)
通过打表，我们可以发现\(w\)满足四边形不等式。
于是我们用单调队列来维护决策点。
二分找出最优位置的分界点就可以了
/*
@Date    : 2019-08-16 20:23:22
@Aut...]]></description><category></category></item><item><title><![CDATA[NOI2007货币兑换]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439363</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439363</guid><author>anhui1929</author><pubDate>Sun, 18 Aug 2019 13:02:00 +0800</pubDate><description><![CDATA[用Splay维护凸包
以后还是建议用CDQ吧。
Splay比较难调试
/*
@Date    : 2019-08-18 08:04:31
@Author  : Adscn (adscn@qq.com)
@Link    : https://www.cnblogs.com/LLCSBlog
*/
#include&lt;bits/stdc++.h&gt;
using namespace s...]]></description><category></category></item><item><title><![CDATA[[BZOJ5125]小Q的书架(决策单调性+分治DP+树状数组+莫队？)]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439354</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439354</guid><author>anhui1929</author><pubDate>Fri, 16 Aug 2019 21:33:00 +0800</pubDate><description><![CDATA[\(O(n^2k)\)比较好想
\(dp[i][j]=\min\limits_{k&lt;i}(dp[k][j-1]+w(k+1,i))\)
\(w\)就是逆序对个数。
打表发现有决策单调性。
但是我们发现逆序对个数不能很快的算，所以单调队列用不了了。
考虑分治，
\(solve(l,r,L,R,k)\)表示要计算的部位为\([l,r]\)，可能决策点位于\([L,R]\)内，于是暴力算...]]></description><category></category></item><item><title><![CDATA[BZOJ2726任务安排 CDQ分治维护凸包]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439361</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439361</guid><author>anhui1929</author><pubDate>Fri, 16 Aug 2019 07:46:00 +0800</pubDate><description><![CDATA[好像不是很难，就是普通的CDQ分治，每次统计左边对右边的贡献
/*
@Date    : 2019-08-15 20:38:48
@Author  : Adscn (adscn@qq.com)
@Link    : https://www.cnblogs.com/LLCSBlog
*/
#include&lt;bits/stdc++.h&gt;
using namespace std;
...]]></description><category></category></item><item><title><![CDATA[Nauuo and ODT CF1172E]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439352</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439352</guid><author>anhui1929</author><pubDate>Thu, 15 Aug 2019 08:25:00 +0800</pubDate><description><![CDATA[一道LCT练手题，
将询问离线，单独考虑每个颜色
我们要求的就是至少经过某个颜色一次的路径数。
每次计算变化量。
考虑容斥，
就是用总的路径数减去不经过的次数
标记那个颜色的点为白色，其他的为黑色
不经过的次数就是黑连通块的大小的平方。
我们将所有的黑点向父亲连边，每个黑连通块实际上最上面有一个白点，我们维护子树的平方和，每次到顶上的白点统计答案即可。
/*
@Date    : 201...]]></description><category></category></item><item><title><![CDATA[bitset解决偏序问题]]></title><link>https://blog.youkuaiyun.com/anhui1929/article/details/102439359</link><guid>https://blog.youkuaiyun.com/anhui1929/article/details/102439359</guid><author>anhui1929</author><pubDate>Wed, 14 Aug 2019 13:35:00 +0800</pubDate><description><![CDATA[本质上就是暴力
用分块优化而已
时间复杂度\(O(kn\sqrt n)\)
在高维时候可以把K-D Tree吊起来打
cdq分治连影子都没了
/*
@Date    : 2019-08-13 19:48:10
@Author  : Adscn (adscn@qq.com)
@Link    : https://www.cnblogs.com/LLCSBlog
*/
#include&lt...]]></description><category></category></item></channel></rss>