<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[SSOI_HTA的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/SSOI_HTA</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; SSOI_HTA]]></copyright><item><title><![CDATA[BZOJ2159 Crash 的文明世界 题解]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/28901231</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/28901231</guid><author>SSOI_HTA</author><pubDate>Fri, 06 Jun 2014 17:14:31 +0800</pubDate><description><![CDATA[题目大意：给一棵N个节点的树及正整数K，对每一个节点i求Σdist(i,j)^K。N。
O(NK^2)，O(NKlogK)的做法都可以在贾志鹏2011年的集训队作业里看到。下面介绍一种O((N+K)K)的做法。
首先讲讲第二类斯特林数。S(N,K)表示将N个元素划分成K个非空子集的方案数。S(N,K)可以表示成递推形式：S(N,K)=S(N-1,K-1)+K*S(N-1,K)。N的斯特林数大概]]></description><category></category></item><item><title><![CDATA[COCI2013 HIPERPROSTOR]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/9064755</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/9064755</guid><author>SSOI_HTA</author><pubDate>Sun, 09 Jun 2013 15:21:53 +0800</pubDate><description><![CDATA[题目大意：
给定一张有向图，n，其中有一些特殊边，长度相同是一个正整数但是未知，设为X。给出Q个询问S,T，输出当x取遍所有正整数的时候，S到T的最短路的所有可能值的个数以及总和。
分析：每一条S到T的路径，设路径上x的条数有k个，其余的和为b，那么路径总长就是kx+b。对于相同的k我们只关心最小的b。于是我们可以设状态f[i][j]，表示从S走到j，经过i条x的边的最小b值。最短路的边数最多]]></description><category></category></item><item><title><![CDATA[[Sdoi2013]城市规划]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8994714</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8994714</guid><author>SSOI_HTA</author><pubDate>Thu, 30 May 2013 14:58:58 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3204
解法：题目有个条件，就是m
稍加思考发现线段树是可行的。
维护行与行之间的关系也很简单，只要通过并查集来实现，如果不会可以去做做[wc2005]双面棋盘这道题。
这题的一个细节是，如果只有道路的连通块是不能算进答案的，所以实现时加一个布尔数组判断这个连通块内是否有‘O’。]]></description><category></category></item><item><title><![CDATA[[Sdoi2013]保护出题人]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8994560</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8994560</guid><author>SSOI_HTA</author><pubDate>Thu, 30 May 2013 14:46:58 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3203
解法：
本题读完题目，我们可以很快知道，对于第i轮，yi的最小值就是max(sum[i]-sum[j-1])/(xi+(i-j)*d),1
这样我们可以得到一个n^2的算法。
观察式子，我们可以发现，它的集合意义就是P(sum[i],x[i]+i*d)到所有Q(sum[j-1]]></description><category></category></item><item><title><![CDATA[[Sdoi2013]项链]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8994242</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8994242</guid><author>SSOI_HTA</author><pubDate>Thu, 30 May 2013 14:25:00 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3202
解法：读完题目，很明显我们有两个任务：（1）计算符合提交的颜色数目；（2）计算有m种颜色，长度为n相邻两个颜色不相同的本质不同项链数目（旋转相同被认为是本质相同。）
Part 1：
我们设c2,c3分别为gcd=1的有序整数对以及有序三元组的数目。
那么我们可以得出答案即为m]]></description><category></category></item><item><title><![CDATA[[Sdoi2013]escape]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8986104</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8986104</guid><author>SSOI_HTA</author><pubDate>Tue, 28 May 2013 19:00:35 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3199
题解：这题的关键在于怎么求出每个家长的监视范围呢？。其实很简单。对于第i个家长，向每个家长j连线作中垂线，每条线对应一个朝向i的半平面，这些半平面的交就是第i个家长的监视范围。然后半平面交出来的多边形每条变对应的家长j，与i连边，最后bfs一下求出起始多边形到界外的最短路就好了。时]]></description><category></category></item><item><title><![CDATA[[Sdoi2013]spring]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8986076</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8986076</guid><author>SSOI_HTA</author><pubDate>Tue, 28 May 2013 18:51:40 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3198
题意不赘述了，很好懂吧。。这题应该算是送分题了。解法大概就是容斥+哈希。
具体来说，就是2^6枚举至少对应位相同的方案，假如枚举了101100，表示至少第1，2，4相同的方案，设其中1的个数为m。那么对答案的贡献就是（-1）^(k-m)*方案数*C(k,m)，这其实就是容斥。]]></description><category></category></item><item><title><![CDATA[[Sdoi2013]assassin]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8986037</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8986037</guid><author>SSOI_HTA</author><pubDate>Tue, 28 May 2013 18:37:22 +0800</pubDate><description><![CDATA[题目链接：http://www.lydsy.com/JudgeOnline/problem.php?id=3197
题解：本题是给定两棵树，每个节点给定初始黑白染色，问在某颗树上最少改变染色次数，使得两数同构（黑白要对应）。
解法：其实如果做过树同构，很容易想到，枚举T2中的节点i为根，与T1的1对应，使两树同构的最小代价。
于是我们可以设状态f[a][b]表示T1中以a为根的子树与T2中以]]></description><category></category></item><item><title><![CDATA[组合数求模总结]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8469013</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8469013</guid><author>SSOI_HTA</author><pubDate>Sat, 05 Jan 2013 15:40:26 +0800</pubDate><description><![CDATA[本文对C(N,M) mod P介绍三种针对不同数据范围的算法。
例一：FZU2020
数据范围n, m, p (1 
C(N,M)=N*(N-1)*(N-2)*...*(N-M+1)/M!
注意到m非常小，分子分母都有m项于是可以O(m)暴力求出分子分母mod p的值。
又因为m
时间复杂度O(m+log2p)，空间复杂度O(1)。
code：

#include 
#inclu]]></description><category></category></item><item><title><![CDATA[旋转卡壳小结]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8452177</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8452177</guid><author>SSOI_HTA</author><pubDate>Sun, 30 Dec 2012 09:47:37 +0800</pubDate><description><![CDATA[这几天做了两道旋转卡壳题，做个小结。
第一题POJ2187
本题求n个点的最远点对。
首先n^2枚举肯定TLE。
考虑其他方法。
应当注意到最远点对必然在凸包上，所以首先做凸包。
接着枚举每条边，可以利用高单峰的性质，维护一个指针。然后就可以求离每条边最远的点对了。
虽然很简单，但是未能1A。
2个错误：
凸包第二个for要从n-1到1.不能到2.
取最大值手滑。

/*]]></description><category></category></item><item><title><![CDATA[直线求交点两种方法]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8451580</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/8451580</guid><author>SSOI_HTA</author><pubDate>Sat, 29 Dec 2012 21:05:58 +0800</pubDate><description><![CDATA[方法一：代数法。

对于l1,l2求出方程ax+by+c=0

解方程求交点。



方法二：几何法。

利用面积比值推出线段比值

再用相似三角形，进行向量放缩就可以了。

#include 
#include 
using namespace std;
const double eps=1e-8;
struct Tpoint
{
    double x,y;]]></description><category></category></item><item><title><![CDATA[[HNOI2009]有趣的数列]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/6219269</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/6219269</guid><author>SSOI_HTA</author><pubDate>Wed, 02 Mar 2011 21:57:00 +0800</pubDate><description><![CDATA[题目传送：衡阳八中http://61.187.179.132:8080/JudgeOnline/showproblem?problem_id=1485[HNOI2009]有趣的数列Time Limit:10000MS  Memory Limit:65536KTotal Submit:56 Accepted:31 Case Time Limit:1000MS   Description我们称一个长度为2n的数列是有趣的。当且仅当该数列潲足以下三个条件： (1)它是从1到2n共2n个整数的一个排列{ai}： (]]></description><category></category></item><item><title><![CDATA[班级聚会(reunion)]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/6214340</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/6214340</guid><author>SSOI_HTA</author><pubDate>Mon, 28 Feb 2011 22:54:00 +0800</pubDate><description><![CDATA[本题连接 http://59.61.75.5:8888/JudgeOnline/showproblem?problem_id=1589班级聚会 2010-10-31普及模拟赛(reunion)Time Limit:1000MS  Memory Limit:65536KTotal Submit:77 Accepted:22 Description毕业25年以后，我们的主人公开始准备同学聚会。打了无数电话后他终于搞到了所有同学的地址。 他们有些人仍在本城市，但大多数人分散在其他的城市。 不过，他发现一个巧合，所]]></description><category></category></item><item><title><![CDATA[usaco-2007-Dec-Gold: 队列变换 (bclgold)]]></title><link>https://blog.youkuaiyun.com/SSOI_HTA/article/details/6214328</link><guid>https://blog.youkuaiyun.com/SSOI_HTA/article/details/6214328</guid><author>SSOI_HTA</author><pubDate>Mon, 28 Feb 2011 22:48:00 +0800</pubDate><description><![CDATA[贪心，弱，不解释#include 
#include 

using namespace std;

int n;
char a[30001];

void init()
{
     scanf("%d/n",&n);
     for (int i=1; i]]></description><category></category></item></channel></rss>