【水】 【SDOI】 极精简题解

记一下做过的SDOI题目,也不算什么题解,就是整理一下


 

2009 最优图像

         费用流,注意是积不是和,所以要取对数。

2009 地图复原

         乱搞

2009学校食堂

         状态压缩DP,注意小数据的范围

2009虔诚的墓主人 +

         BIT,前缀和思想的运用

2009细胞探索

         Floodfill

2009 E&D

         组合游戏。打表找规律+SG定理

         SG定理:组合游戏的结果=各独立游戏的SG函数的nim和。

   SG函数:其子状态的SG函数集合中第一个没出现的自然数。

   SG函数=0为必输态,否则必赢。

   组合游戏题多半有规律,而且常常分形。

2009 SuperGCD

   高精度除法


 

2010 大陆争霸

         最短路变形

2010 外星千足虫

         解方程,高斯消元

2010 所驼门王的宝藏

         构图,SCC最长路

2010地精部落

   DP,据说叫什么欧拉序列。推出一个关系式。用上升和下降表示状态。

2010粟粟的书架

   显然分两种情况。只有一行时,用划分树;是矩阵时,用前缀和预处理

2010星际竞速

   最小费用流 要用zkw费用流。Zkw费用流多用于二分图。

2010 古代猪文

   好题,数论经典。基本上数论里常用的算法都包括了。


 

2011 打地鼠

         二分验证,暴力剪枝

2011 计算器

         快速幂,扩展欧几里得,离散对数。

2011 【染色】

         树链剖分?(不会。。。

2011工作安排

         裸的费用流


 

2012 Longge的问题

         积性函数,欧拉函数

2012 棋盘覆盖

         A:匹配 B:n*m/3 C:?


 

2013随机数生成器

         求数列通项,离散对数

2013 【森林】

         树上两点间路径中的k大边。看题解说主席树可做,也有说划分树可做?不懂求解。。。

2013 直径

    只求直径的话可以树形DP然后枚举根,20%。

   给出官方题解:

   对于一棵树,重心一定被所有直径经过。以重心为根建树,考虑所有能成为直径一端的点。

   如果,所有点到根的距离都是直径长度/2,答案是0;

   否则这些点一定可以划分成两个集合S1,S2,满足

   (1) 对于任意x1, x2∈S1,d(x1, x2)<直径长度。

   (2) 对于任意y1, y2∈S2,d(y1, y2)<直径长度。

   (3) 对于任意x∈S1,y∈S2,d(x, y)=直径长度。

   同时可以发现,S1集合中所有点的lca P1,和S2集合中所有点的lca P2。P1和P2之间的路径即为答案。

你可能感兴趣的:(题解)