<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aida9573的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aida9573</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aida9573]]></copyright><item><title><![CDATA[复活一天]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986068</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986068</guid><author>aida9573</author><pubDate>Mon, 10 Sep 2018 16:23:00 +0800</pubDate><description><![CDATA[还是在学校舒服啊...


 1 #include &lt;cstdio&gt;
 2 #include &lt;cstring&gt;
 3 #include &lt;iostream&gt;
 4 #include &lt;algorithm&gt;
 5 #include &lt;cmath&gt;
 6 using namespace std;
 7 int m...]]></description><category></category></item><item><title><![CDATA[NOI退役啦]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986067</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986067</guid><author>aida9573</author><pubDate>Tue, 24 Jul 2018 07:43:00 +0800</pubDate><description><![CDATA[没进前一百
签的上交一本
高三加油喽

转载于:https://www.cnblogs.com/Ren-Ivan/p/9357998.html]]></description><category></category></item><item><title><![CDATA[UOJ356 【JOI2017春季合宿】Port Facility]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986066</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986066</guid><author>aida9573</author><pubDate>Wed, 11 Jul 2018 09:38:00 +0800</pubDate><description><![CDATA[暴力就是O(n^2)连边，二分图，这样只有22分。
我们考虑优化建边，我们按照左端点排序，对于一个新加进来的线段，我们向左端点距其最近的和他相交的线段连边，别的相交的我们连同色边，当一个点连了两条同色边我们就把它删掉，复杂度O(nlogn)，边数O(n)。


 1 #include &lt;cstdio&gt;
 2 #include &lt;cstring&gt;
 3 ...]]></description><category></category></item><item><title><![CDATA[codeforces838D - Airplane Arrangements]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986065</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986065</guid><author>aida9573</author><pubDate>Mon, 02 Jul 2018 08:19:00 +0800</pubDate><description><![CDATA[太妙啦！
我们把座位摆成一个环，在添加另一个座位，表示坐了这个位置就会有人生气，那么我们现在要求的就是没人坐它的方案数Ans，但是这个并不好求，我们发现对于每个位置，它们的Ans都是一样的，而且Ans的和就是在这n+1个中选位置选方向的所有方案数中的空位置之和。
所以Ans*(n+1)=All*(n+1-m)，All=(2(n+1))^m


 1 #include &lt;c...]]></description><category></category></item><item><title><![CDATA[bzoj5342 CTSC2018 Day1T3 青蕈领主]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986064</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986064</guid><author>aida9573</author><pubDate>Wed, 23 May 2018 12:05:00 +0800</pubDate><description><![CDATA[首先显然的是，题中所给出的n个区间要么互相包含，要么相离，否则一定不合法。
然后我们可以对于直接包含的关系建出一棵树，于是现在的问题就是给n个节点分配权值，使其去掉最后一个点后不存在非平凡(长度大于1)的连续区间。
我们发现这个方案数和不存在不经过最大(小)值的非平凡连续区间的排列数是等价的。
于是我们考虑$f[n]$为长度为$n+1$的答案，我们考虑去掉最小值。
如果合法，那么...]]></description><category></category></item><item><title><![CDATA[uoj123 【NOI2013】小Q的修炼]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986063</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986063</guid><author>aida9573</author><pubDate>Wed, 02 May 2018 19:37:00 +0800</pubDate><description><![CDATA[搞了一下午+半晚上。其实不是很难。
提答题重要的是要发现数据的特殊性质，然后根据不同数据写出不同的算法获得其对应的分数。
首先前两个测试点我们发现可以直接暴搜通过，事实上对于每个数据都暴搜加上一定的次数限制，都可以获得两分的好成绩。


 1 #include &lt;cstdio&gt;
 2 #include &lt;cstring&gt;
 3 #include &l...]]></description><category></category></item><item><title><![CDATA[loj548 「LibreOJ β Round #7」某少女附中的体育课]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986062</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986062</guid><author>aida9573</author><pubDate>Mon, 23 Apr 2018 21:36:00 +0800</pubDate><description><![CDATA[这道题好神啊！！！
发现这题就是定义了一种新的卷积，然后做k+1次卷积。
这里我们就考虑构造一个变换T，使得$T(a) \cdot T(b) =T(a∘b)$，这里是让向量右乘这个转移矩阵。
于是我们可以得到
$$\sum_{j=0}^{m-1}{T_{j,i} \sum{[k∘ l =j] a_{k} b_{l}} } = (\sum_{j=0}^{m-1}{T_{j...]]></description><category></category></item><item><title><![CDATA[loj6271「长乐集训 2017 Day10」生成树求和 加强版]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986061</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986061</guid><author>aida9573</author><pubDate>Sat, 21 Apr 2018 07:46:00 +0800</pubDate><description><![CDATA[又是一个矩阵树套多项式的好题。
这里我们可以对每一位单独做矩阵树，但是矩阵树求的是边权积的和，而这里我们是要求加法，于是我们i将加法转化为多项式的乘法，其实这里相当于一个生成函数？之后如果我们暴力做的话，就是强行带入x插值，复杂度$O(8*2n*n^{3})$，还不够优秀，于是我们考虑用$dft$优化这个过程，这里我们需要找到一个三次单位根，于是我们考虑扩域的思想，我们把数表示为$(a...]]></description><category></category></item><item><title><![CDATA[省选前的考试日志]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986060</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986060</guid><author>aida9573</author><pubDate>Thu, 19 Apr 2018 17:05:00 +0800</pubDate><description><![CDATA[1.30
先看了T3，发现是插头DP，码完发现n的范围1e18，发现有效状态数只有21，如果两行都没有东西的话，可以矩阵快速幂转移，打了两个多小时，之后一直在调，还剩90min左右时调完了，把前两题暴力打上了。之后看了看T1发现貌似是原来看过的一种高级线段树，不会，又想分块，不太清楚怎么维护。又看T2，好像也是矩阵快速幂，但是只有不到40min了，就没打，又看了看三道题就完了。T3数组...]]></description><category></category></item><item><title><![CDATA[loj553 「LibreOJ Round #8」MINIM]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986058</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986058</guid><author>aida9573</author><pubDate>Wed, 18 Apr 2018 21:51:00 +0800</pubDate><description><![CDATA[最简单的暴力dp就是f[i][j]表示到i异或和为j的最小花费。
然后我们发现两堆大小为i,j的石子合并，可以更新到一堆大小为k=i,j最高公共的1以下都是1，以上是i|j，权值为v1+v2的石子。
我们可以打表发现这个段数其实很小，其实也可以严谨的证明或者感性理解，但是我不会。。
所以我们记录当前的所有f值以及端点然后暴力转移就可以了。


 1 #include &lt;...]]></description><category></category></item><item><title><![CDATA[bzoj5153&uoj348 【WC2018】州区划分]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986059</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986059</guid><author>aida9573</author><pubDate>Wed, 18 Apr 2018 21:44:00 +0800</pubDate><description><![CDATA[五十分就是裸的O(3^n)子集dp。
$$f[S]*{w[S]^{p}}=\sum_{T \in S}{f[T]*{w[S-T]^{p}}}$$
然后我们考虑优化这个dp，我们发现这是子集卷积的形式，于是我们就可以用fwt来优化这个dp。
具体的，f[i][S]表示的是S的f值，当且仅当S中1的个数为i，别的f[i][S1]不正确也没有问题，因为我们转移时枚举的是1的个数，所以只...]]></description><category></category></item><item><title><![CDATA[bzoj3812&uoj37 主旋律]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101985870</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101985870</guid><author>aida9573</author><pubDate>Mon, 16 Apr 2018 18:06:00 +0800</pubDate><description><![CDATA[正着做不好做，于是我们考虑反着来，如何计算一个点集s的答案呢，一定是所有的方案减去不合法的方案，不合法的方案一定是缩完点后是一个DAG，那么就一定有度数为0的scc，于是我们枚举s的子集，就是说这些点构成的scc的度数为0，这里我们就需要容斥了，容斥的目的是算出s集组成不合法的DAG的方案数，因为我们没有办法确定这里有几个scc。于是我们提前处理出g[s]表示这里面的每种不同scc的方案...]]></description><category></category></item><item><title><![CDATA[bzoj4067 [Ctsc2015]gender]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986057</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986057</guid><author>aida9573</author><pubDate>Fri, 13 Apr 2018 21:32:00 +0800</pubDate><description><![CDATA[好神的一道题啊！
我们发现题目中的ln的贡献非常傻逼，但是我们可以发现这个东西的取值只有40个左右，于是我们可以枚举他！
枚举完了对于题里的贡献就是一个普通的最小割，采用的是文理分科的思想，与S连代表不改，与T连代表改，然后流量凑一下就可以了。
那么我们怎么判断我们枚举的值和算出来的方案是否对应呢？我们发现K很小，于是我们可以对于每一层都状压状态，然后通过上面的网络流来计算当这层状...]]></description><category></category></item><item><title><![CDATA[loj6045 「雅礼集训 2017 Day8」价]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986056</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986056</guid><author>aida9573</author><pubDate>Thu, 12 Apr 2018 09:17:00 +0800</pubDate><description><![CDATA[我们考虑最小割。
我一开始觉得是裸的最小割，就直接S到每个减肥药连up+p[i]的边，减肥药到药材连inf边，药材到T连up，然后得到了40分的好成绩。
之后我发现这是一个假的最小割，最小割割的是代价或者得不到的收益，上面说的这种建图左边割掉的是收益，右边割掉的是代价，然后当然就gg了。
所以我们把p取相反数，因为有负权，我们在给所有边加上一个UP，之后就可以直接建图最小割了。
...]]></description><category></category></item><item><title><![CDATA[bzoj4904 [Ctsc2017]最长上升子序列]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986055</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986055</guid><author>aida9573</author><pubDate>Thu, 12 Apr 2018 07:17:00 +0800</pubDate><description><![CDATA[我们发现他让求的东西很奇怪，于是通过某D开头定理，我们转化为前m位的序列用k个不上升子序列最多能覆盖多少。数据范围小的时候可以网络流做，但是这道题显然不支持网络流的复杂度。然后有一个奇怪的东西叫杨氏矩阵，详见acdreamers acdreamers。但是我们又不能每次O(k)来扫，之后又有一个神奇的性质就是对于反串建的这个矩阵的形状和原矩阵转置的形状是一样的，于是我们可以在原矩阵...]]></description><category></category></item><item><title><![CDATA[loj536 「LibreOJ Round #6」花札]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986054</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986054</guid><author>aida9573</author><pubDate>Wed, 11 Apr 2018 21:31:00 +0800</pubDate><description><![CDATA[一眼二分图博弈，于是我们可以拿到69分的好成绩。
二分图暴力加边的数目是O(n^2)的，于是我们考虑网络流优化建图，将alice的每个牌向其的颜色和编号节点连边，bob的每个牌由其颜色和编号节点向其连边，之后在分别和源汇连边，我们发现我们现在是要找哪些点在所有最大流的方案中都有流量流入，我们发现这样的点在跑完最大流后的残留网络上一定是源点所不能到达的，因为否则我们可以通过把这条路径以及...]]></description><category></category></item><item><title><![CDATA[bzoj5252 [2018多省省队联测]林克卡特树]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986051</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986051</guid><author>aida9573</author><pubDate>Tue, 10 Apr 2018 20:14:00 +0800</pubDate><description><![CDATA[斜率优化树形dp？？
我们先将问题转化成在树上选K+1条互不相交路径，使其权值和最大。
然后我们考虑60分的dp，直接维护每个点子树内选了几条路径，然后该点和0/1/2条路径相连
然后我们会发现最后的答案关于割的边数是一个单峰的函数，这时候事情就变得明朗起来个p
我们考虑拿一条斜率为k的直线去切这个函数，切到的点是什么？是每选一条路径额外付出k点代价时的最优解，于是我们二分这个斜...]]></description><category></category></item><item><title><![CDATA[bzoj5251 [2018多省省队联测]劈配]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986052</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986052</guid><author>aida9573</author><pubDate>Tue, 10 Apr 2018 20:04:00 +0800</pubDate><description><![CDATA[直接网络流模拟即可AC。
可持久化+暴力=90分，
可持久化+二分=30分，
暴力加边+二分=100分。
我也很无奈啊。
Ivan便涨红了脸，额上的青筋条条绽出，争辩道，“memcpy也是可持久化……memcpy！……OIer的事，当然是可持久化！”接连便是难懂的话，什么“可持久化无旋Treap套线段树启发式合并”，什么“暴力踩正解”之类，引得众人都哄笑起来。


  1...]]></description><category></category></item><item><title><![CDATA[bzoj5250 [2018多省省队联测]秘密袭击]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986050</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986050</guid><author>aida9573</author><pubDate>Tue, 10 Apr 2018 19:58:00 +0800</pubDate><description><![CDATA[博主蒟蒻，目前还不会动态dp，所以下面说的是一个并不优秀的暴力，我会补的！
我们考虑按权值从大到小依次点亮每个点，相同权值可以同时点亮，每次点亮后，我们进行一次树形背包。
处理出$f[i][j]$表示i的子树中有j个亮点的方案数，然后就AC了。
有两个小优化，一个是将背包的枚举上限设为min(size[x],K)，此处size[x]为子树中点亮的点的的个数。
还有就是我们可以把大...]]></description><category></category></item><item><title><![CDATA[bzoj5253 [2018多省省队联测]制胡窜]]></title><link>https://blog.youkuaiyun.com/aida9573/article/details/101986049</link><guid>https://blog.youkuaiyun.com/aida9573/article/details/101986049</guid><author>aida9573</author><pubDate>Tue, 10 Apr 2018 19:49:00 +0800</pubDate><description><![CDATA[后缀自动机挺好毒瘤的题。
我们考虑哪些切点是不合法的。肯定是所有的匹配串都被切了。
我们考虑第一个切口的位置。
当第一个切口在第一个出现位置前时，第二个切口必须切掉所有的串。
当第一个切口在$l_{i}$和$l_{i+1}$间的时候(此时必须保证切掉第一个串)，第二个切口必须切掉$s_{i+1}$到$s_{cnt}$这些串
当第一个切口在$l_{cnt}$后时(此时依旧需要保证...]]></description><category></category></item></channel></rss>