<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TA]]></title><description><![CDATA[A Lannister always pays his debts]]></description><link>https://blog.youkuaiyun.com/TA201314</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TA201314]]></copyright><item><title><![CDATA[再见优快云]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/85097383</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/85097383</guid><author>TA201314</author><pubDate>Wed, 19 Dec 2018 15:01:33 +0800</pubDate><description><![CDATA[迁至这里.

]]></description><category></category></item><item><title><![CDATA[[code+月赛]Yazid的新生舞会]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/78948477</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/78948477</guid><author>TA201314</author><pubDate>Tue, 02 Jan 2018 02:43:44 +0800</pubDate><description><![CDATA[用很有趣的方法做了这道题。标算非常厉害，并没有想到。。 
考虑求众数为x的区间数量，由序列a构造序列b，bx(i)=−1+2∗[a(i)==x]b_x(i)=-1+2*[a(i)==x]，作前缀和sx(i)=sx(i−1)+b(i)s_x(i)=s_x(i-1)+b(i)。 
ans=∑x=0n−1∑1≤j<i≤n[sx(i)>sx(j)]ans=\sum_{x=0}^{n-1}\sum_{1\le]]></description><category></category></item><item><title><![CDATA[51nod算法马拉松32]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/78945265</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/78945265</guid><author>TA201314</author><pubDate>Mon, 01 Jan 2018 13:19:14 +0800</pubDate><description><![CDATA[好像已经一年没更新这个blog了。。 
临近期末，无心预习。。就打了场51nod。。感觉要退学了。。A. 
先把A和B的特殊表示法加起来，从前到后处理每一位，需要维护一个向前延伸的最长的01间隔的序列。 
复杂度O(n)O(n).调了一晚上+一上午被告知数据错了。。为什么题解说直接模拟就可以了呀？？怎么模拟啊？？ 
B. 
想了一天，Google了一发才发现原来有个叫Prüfer编码的东西。。（bz]]></description><category></category></item><item><title><![CDATA[tc-srm704-div1-1000 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/54016798</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/54016798</guid><author>TA201314</author><pubDate>Wed, 04 Jan 2017 10:48:43 +0800</pubDate><description><![CDATA[题意：构造一个点数不超过20无重边无自环的有向图，节点编号从0到n-1，使得从0到n-1的哈密顿路径数量恰好为k。感觉完全没有思路。。不知道怎么构造。 
去看了下别人的代码，原来可以做成1<-2<-…<-18一条路径，然后1-18都向编号比它大的节点连边。这样的话往回走就只有唯一的路径，所以假如说我当前在i，走到了j，j>i，那么就需要立刻从j到j-1直到i+1，然后再往后走。这样就相当于每个节点有]]></description><category></category></item><item><title><![CDATA[tc-srm704-div1-500 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/53975943</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/53975943</guid><author>TA201314</author><pubDate>Mon, 02 Jan 2017 09:59:00 +0800</pubDate><description><![CDATA[题意： 
给定n,K。有q组询问，第i组询问是求∏nj=1xj(0≤xj<K)=vi\prod_{j=1}^nx_j(0\le x_ j<K)=v_i的解的数量。 
1≤n≤50,1≤K≤109,1≤q≤100001\le n \le 50,1\le K \le 10^9,1\le q \le 10000我本来是这样想的： 
显然最终答案只与gcd(v,K)有关。 
那么令f(i,j)为前i个数乘积]]></description><category></category></item><item><title><![CDATA[总结一下。]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/53098577</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/53098577</guid><author>TA201314</author><pubDate>Wed, 09 Nov 2016 12:47:28 +0800</pubDate><description><![CDATA[上午跟学弟考了一次noip模拟赛。。。 
跪成狗了。最近状态好烂！T1：少考虑了一种情况，只有40分。 
T2：题目里明明写着k≥1，结果第一个点k=0。只有90分。 
T3：写出来以后发现想错了。。于是又写了一遍，最后10min终于过了样例。结果数组开小了。。只有50分。总结： 
①一定要仔细考虑清楚每种情况再写！ 
②如何做一道题？ 
仔细读题=>模拟一下样例/看看样例解释看看有没有读错题=>想]]></description><category></category></item><item><title><![CDATA[[hackerrank w25]DAG Queries 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/53088715</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/53088715</guid><author>TA201314</author><pubDate>Tue, 08 Nov 2016 21:32:44 +0800</pubDate><description><![CDATA[又用bitset强上了一道题好开心啊~（然而这题标算似乎就是bitset？）如果暴力的话，可以用bitset，但是空间爆炸；所以我们先解决一下空间问题。 
如果考虑对操作分块的话，我们可以只用处理所有节点能否由块内的操作节点抵达，这样首先就可以解决bitset的空间问题！然后一开始我是这样想的： 
如果我们可以O(n)O(n)处理出每一个块的操作结束后的aia_i的话，那么就好办了！而这个似乎很容易]]></description><category></category></item><item><title><![CDATA[[51nod]矩阵中不重复的元素]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/53070808</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/53070808</guid><author>TA201314</author><pubDate>Mon, 07 Nov 2016 20:45:05 +0800</pubDate><description><![CDATA[如果我们将每个数a分解质因式：a=∏∞i=1pkiia=\prod_{i=1}^{\infty}p_i^{k_i}，那么任意一个数a都可以看作一个无穷维的向量(k1,k2,...)(k_1,k_2,...)，其中第i维的系数表示从小到大第i个质数在a中的指数。这样的话aba^b就可以看作是向量的数乘，所以如果有ab11=ab22a_1^{b_1}=a_2^{b_2}，就必然有a1,a2a_1,a_2]]></description><category></category></item><item><title><![CDATA[一道奇怪的题]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/53026344</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/53026344</guid><author>TA201314</author><pubDate>Thu, 03 Nov 2016 21:34:48 +0800</pubDate><description><![CDATA[今天reflash给我出了一道题： 
∑∏ki=1xi[xi≥1][∑ki=1xi≤S]modpk,S≤1018,p≤107\sum \prod_{i=1}^kx_i[x_i\ge 1][\sum_{i=1}^kx_i\le S] \mod p \\ k,S\le 10^{18},p\le 10^7 
我一开始是这样想的：如果F(x)=∑∞i=0ixiF(x)=\sum_{i=0}^\infty i]]></description><category></category></item><item><title><![CDATA[[HNOI2012]矿场搭建 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/53010637</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/53010637</guid><author>TA201314</author><pubDate>Wed, 02 Nov 2016 18:53:29 +0800</pubDate><description><![CDATA[第一次听说点双连通分量这个概念。。 
点双连通分量是说这个连通分量中任意两个点之间都存在两条不经过同一个点的路径。 
点双连通分量比边双连通分量要麻烦很多的问题在于不能缩点，因为两个点双连通分量可能会由一个割点连起来，当然也可能由一条桥边连起来，这样的话就比较麻烦。这个题的话，假如不存在没有割点的点双连通分量。对于那种只有1个割点的点双连通分量，假如我把这个割点删掉，那么它必须是要从内部找一个点的；]]></description><category></category></item><item><title><![CDATA[[codeforces704B]ant man 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52875877</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52875877</guid><author>TA201314</author><pubDate>Fri, 21 Oct 2016 10:02:00 +0800</pubDate><description><![CDATA[题意 
求1~n的排列中∑n−1i=1∣∣xpi−xpi+1∣∣+[pi<pi+1](dpi+api+1)+[pi>pi+1](cpi+bpi+1)\sum_{i=1}^{n-1} \big|x_{p_i}-x_{p_{i+1}} \big|+[p_i<p_{i+1}](d_{p_i}+a_{p_{i+1}})+[p_i>p_{i+1}](c_{p_i}+b_{p_{i+1}})的最大值，要求p1=]]></description><category></category></item><item><title><![CDATA[[bzoj4643]卡常大水题 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52781125</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52781125</guid><author>TA201314</author><pubDate>Mon, 10 Oct 2016 19:54:03 +0800</pubDate><description><![CDATA[我们考虑从小到大枚举A的最大值，那么B的最大值必然是不升的，这样我们才能得到更优的解。我们便可以对B维护一个指针。那么就是考虑插入一条边、删除一条边，求整个图是否是一个强连通分量。 
本来是想用什么别的方法求一下。。但是实在是不会做了，所以就只好每次都暴力tarjan试一下。结果竟然就这么a了。。 
时间复杂度O(n4)≈5∗108O(n^4)≈5*10^8。代码：#include<cstdio>]]></description><category></category></item><item><title><![CDATA[[codeforces724e]Goods transportation 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52780989</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52780989</guid><author>TA201314</author><pubDate>Mon, 10 Oct 2016 19:35:34 +0800</pubDate><description><![CDATA[这题好神呀。首先这是一个网络流模型，考虑每个点都向编号比它大的点连一条容量为c的边，然后如果pi≥sip_i\ge s_i，就从source向i连一条容量为pi−sip_i-s_i的边，否则就从i向sink连一条容量为si−pis_i-p_i的边，这样的话最大流就是答案。 
但是这个图太大了，不能直接跑最大流，也无法优化。 
所以我们可以转而考虑最小割，我们发现如果我们知道了割中的点是哪些，其实是可]]></description><category></category></item><item><title><![CDATA[calc(陈立杰) 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52753481</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52753481</guid><author>TA201314</author><pubDate>Sat, 08 Oct 2016 07:01:11 +0800</pubDate><description><![CDATA[感觉最近状态真是烂到爆。。首先不妨令序列有序，然后再乘n！即可。一上来先想到可以倍增，设f[i][j]表示在1~j中选i个数，那么有j->2j，便可以通过枚举一边选了几个得到。但是算错了复杂度以为是O(n3logn)O(n^3\log n)的。。（矩阵乘习惯了一倍增就感觉是三方挂logn。。）（没想到看了题解以后这竟然就是标算。。）然后又想，既然倍增是三次方的。。。那只能看看暴力转移了。f(i,j)]]></description><category></category></item><item><title><![CDATA[[51nod]算法马拉松18 总结]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52650814</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52650814</guid><author>TA201314</author><pubDate>Sat, 24 Sep 2016 15:20:51 +0800</pubDate><description><![CDATA[第一次打马拉松。。 
a 
一看题。。什么鬼。。 
n=4竟然是无解，第一个点给了一个n=5的，好像是构造的挺有规律的样子。。 
那就偶数无解，奇数照着他的构造方法写一发吧。。 
怎么a了？不管了。。既然结束了还是要回来好好想一下是什么情况的。 
偶数肯定是无解的，因为一共有n(n−1)2n(n-1)\over 2条边，那么每种颜色的边出现次数相等的话，就意味着每条边应该出现n−12n-1\over]]></description><category></category></item><item><title><![CDATA[[bzoj4621] Tc605 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52633802</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52633802</guid><author>TA201314</author><pubDate>Fri, 23 Sep 2016 08:24:07 +0800</pubDate><description><![CDATA[。。感觉这题跟zj的那题好像。。然后就在想区间dp什么的。。然后突然发现顺着dp就可以了。。 
f(i,j,k)表示位置i最终变成了位置j上的数操作了k次的方案数，那么转移就是f(i,j,k)−>f(i+1,j,k)[aj>ai+1]−>f(i+1,j′,k+1)[j′>j][aj′≥max{amin(j′,i+1) max(j′,i+1)}]f(i,j,k)\\->f(i+1,j,k)[a_j>a]]></description><category></category></item><item><title><![CDATA[[ZJOI2016]线段树 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52593707</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52593707</guid><author>TA201314</author><pubDate>Tue, 20 Sep 2016 10:48:38 +0800</pubDate><description><![CDATA[。。很久以前看过题面然后没有仔细想，再做的时候忘了序列是随机的了。。然后怎么搞都是O(n4)O(n^4)的。 
我们可以将状态设为f(x,i,l,r)，表示在i次操作后，[l,r]＜x，l-1和r+1大于等于x的方案数。（不妨认为a[0]=a[n+1]=∞a[0]=a[n+1]=\infty）这样的话假如说有跨越区间端点的操作，那么就一定会使操作中的数≥x。然后令g(x,j)表示让位置j最终＜x的方]]></description><category></category></item><item><title><![CDATA[[bzoj4664] Count 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52506505</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52506505</guid><author>TA201314</author><pubDate>Sun, 11 Sep 2016 21:18:14 +0800</pubDate><description><![CDATA[第一眼看就感觉这题好像bzoj4498魔法的碰撞，但想了很久感觉用我那个题的做法好像并不能做。。结果最后发现好像还是可以做哒！首先按h排序，然后设f(i,j,k,o)表示前i个数，在最后的排列中被分成了j段，当前的混乱度是k，目前已经有o个边界（o∈[0,2]o\in [0,2]）。 
那么f(i,j,k,o)−∗(2−o)−>f(i+1,j,k+(hi+1−hi)(2j−o),o+1),o<2−∗]]></description><category></category></item><item><title><![CDATA[[Jsoi2013]游戏中的学问 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52506262</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52506262</guid><author>TA201314</author><pubDate>Sun, 11 Sep 2016 20:43:52 +0800</pubDate><description><![CDATA[其实是很简单的题，一开始想的有点麻烦了。。一开始是这么想的。。： 
f(k,n)=∑i=3n(n−1i−1)(i−1)!f(k−1,n−i)=∑i=3n(n−1)!(n−i)!f(k−1,n−i)f(k,n)=\sum_{i=3}^n\binom{n-1}{i-1}(i-1)!f(k-1,n-i)\\=\sum_{i=3}^n{(n-1)!\over (n-i)!}f(k-1,n-i)f(k,n)n]]></description><category></category></item><item><title><![CDATA[[bzoj2861] 双向边定向为单向边 解题报告]]></title><link>https://blog.youkuaiyun.com/TA201314/article/details/52506172</link><guid>https://blog.youkuaiyun.com/TA201314/article/details/52506172</guid><author>TA201314</author><pubDate>Sun, 11 Sep 2016 20:28:53 +0800</pubDate><description><![CDATA[这题搞了好久。。首先一条双向边(u,v)可以变成单向边的条件是存在一个经过这条边的环，只需要按这个环的方向把这个环上的所有双向边变成单向就可以了，如果这个环上都是双向边，就随便定一个方向就可以了。所以我们考虑将双向边拆成两条单向边dfs，这样树边至少存在一个向下的方向，但也有可能是向下的单向边。 
但是考虑非树边的时候首先注意到一件事情，就是两条非树边之间可能互相影响，就是说一条非树边可能不能与树边]]></description><category></category></item></channel></rss>