IDI Open 2007解题报告
2010-08-22 22:44
274 查看
1 A Help Chelsea! Easy 输出一串数的最大值。。这个题目也太无聊了点吧。。
2 G Fridge of Your Dreams Easy 这个题目更无聊,把24位的二进制转化为十进制。。
3 B Virus Medium
先前想法:
可以很容易的想到这个问题是没有数学解的。。因为你必须在前n步中查询才能够获得我下一步的前进方向。只有这些值得到了才能够获得数学解
此时优化的余地就不是很大了。。所以我们采用模拟的解法,保存两个数组,一个是数量数组,一个是病毒量数组,然后依次模拟,判断现有的量是否已经超过了L,复杂度是O(NL)这个复杂度还是可以接受的吧。。虽然N<=10^9。。。
很容易看出来这个是肯定超时的啦。。
采用行列式来优化求解的技术是很值的借鉴的。
有状态转移的时候,采用矩阵求解是具有很大优势的!与此同时,能够采用矩阵快速求幂的方法来求解。。
但是没有想到怎么把二分加入到这当中去。。这还是一个问题!!
4 C Frogger Hard
真是一个非常强大的题目。。首先我们需要通过题目的定义,提出一个势能函数,此函数的值是坐标面中所有青蛙的和。当然在最优移动的过程中,这个势能函数的值是不变的。换句话说就是从位置-3,0 移动到-1,0 扩过了-2,0 在这个过程中 k(-3,0)+k(-2.0)=k(-1,0)这个函数必须满足,而且
k(0,3)+k(0,2)=k(0,1) 且k(0,-3)+k(0,-2)=k(0,-1)此时为我们提出了一个势能函数总体的形状。这个函数是一个凸函数,而且具有对称性。所以
很容易构造出来k^(d(x,y)) d(x,y)=|x-X|+|y| d(x,y)代表此点到X,0点的曼哈顿距离。。然后我们列方程得到k=(sqrt(5)-1)/2注意到负值为什么
舍掉的原因是非凸性。所以下面开始求一下吧。。当我们把左半平面都摆上青蛙,结果是多少呢? 比较简单的等比数列就可以得到当X=5的时候,我们的sum=1...所以当X=5的时候,我们就不可能有青蛙能够达到X=5这一点,此时k^0=1...所以当X>=5的时候,都是impossible。。当X=4的时候,我们可以得到至少要19个最大势能值的青蛙才能够达到1。。但是19个是不行的。。然后当X=4的时候,得到的解答时20。。。OK了。。至于为什么19个不行。。可以用根铅笔搞出来也可以编程搞定。。
5 D Conquistador Easy
比较简单的一个题目,首先找到分隔点,然后依次分隔。。
6 E Party Medium
最大流问题。。也是比较简单的,。。建图,然后不断增加源点与女孩的那个分支的流量,可以使用binary Search。。
7 F Save the Computer
看到了第一句。。Life as a computer sicence student is hard!内牛满面。。
说实话,没词典。。这个题目没看懂。。。。
8 H Scorched Earth Easy
不得不感叹啊。。国外的物理题真简单。。。
X轴Y轴两个方程联立搞定。。真没劲。。可以换另一种解法是将 重力加速度与w结合起来,然后在一个重力场中算轨迹
可以求的是一个从当前重力场到参考重力场的一个变换,然后是已知两点和在一点出切线方向。。。当然可以求。。不过貌似更麻烦来着。。
既然已经分解好了。。就借借东风好了。。
9 I Free Willy
这套题里面的状态转移的题目还真是挺多的。。。
首先给定一个初始状态,和一个目标状态。然后给出了最多10个变换的规则。求从初始状态到达目标状态所需要经历的最少的状态转移次数。
熟悉线性代数的话,可以很容易的写出转移矩阵,而此时的转移矩阵求逆仍为其本身。所以我们考虑的思路就是从双向进行搜索。
这样子的时间复杂度是2*10^5 而不是之前的10^10这么多。。。
总结一下这套IDI 2007的题目。。
简单题目: A D G H
好题:
B 考察矩阵快速乘法与二分
C 考察数学直觉与推理
E 最大流的题目
F 一个比较好的数学背景,然后需要DP
I 状态转移题目,需要一些YY能力
BCEFI的代码需要好好搞一下。。。。欧洲人出的题目,代码质量一向非常高,既有Java也有C++,质量都不错。。
自己这个周,需要好好看一下最大流的题目。。
2 G Fridge of Your Dreams Easy 这个题目更无聊,把24位的二进制转化为十进制。。
3 B Virus Medium
先前想法:
可以很容易的想到这个问题是没有数学解的。。因为你必须在前n步中查询才能够获得我下一步的前进方向。只有这些值得到了才能够获得数学解
此时优化的余地就不是很大了。。所以我们采用模拟的解法,保存两个数组,一个是数量数组,一个是病毒量数组,然后依次模拟,判断现有的量是否已经超过了L,复杂度是O(NL)这个复杂度还是可以接受的吧。。虽然N<=10^9。。。
很容易看出来这个是肯定超时的啦。。
采用行列式来优化求解的技术是很值的借鉴的。
有状态转移的时候,采用矩阵求解是具有很大优势的!与此同时,能够采用矩阵快速求幂的方法来求解。。
但是没有想到怎么把二分加入到这当中去。。这还是一个问题!!
4 C Frogger Hard
真是一个非常强大的题目。。首先我们需要通过题目的定义,提出一个势能函数,此函数的值是坐标面中所有青蛙的和。当然在最优移动的过程中,这个势能函数的值是不变的。换句话说就是从位置-3,0 移动到-1,0 扩过了-2,0 在这个过程中 k(-3,0)+k(-2.0)=k(-1,0)这个函数必须满足,而且
k(0,3)+k(0,2)=k(0,1) 且k(0,-3)+k(0,-2)=k(0,-1)此时为我们提出了一个势能函数总体的形状。这个函数是一个凸函数,而且具有对称性。所以
很容易构造出来k^(d(x,y)) d(x,y)=|x-X|+|y| d(x,y)代表此点到X,0点的曼哈顿距离。。然后我们列方程得到k=(sqrt(5)-1)/2注意到负值为什么
舍掉的原因是非凸性。所以下面开始求一下吧。。当我们把左半平面都摆上青蛙,结果是多少呢? 比较简单的等比数列就可以得到当X=5的时候,我们的sum=1...所以当X=5的时候,我们就不可能有青蛙能够达到X=5这一点,此时k^0=1...所以当X>=5的时候,都是impossible。。当X=4的时候,我们可以得到至少要19个最大势能值的青蛙才能够达到1。。但是19个是不行的。。然后当X=4的时候,得到的解答时20。。。OK了。。至于为什么19个不行。。可以用根铅笔搞出来也可以编程搞定。。
5 D Conquistador Easy
比较简单的一个题目,首先找到分隔点,然后依次分隔。。
6 E Party Medium
最大流问题。。也是比较简单的,。。建图,然后不断增加源点与女孩的那个分支的流量,可以使用binary Search。。
7 F Save the Computer
看到了第一句。。Life as a computer sicence student is hard!内牛满面。。
说实话,没词典。。这个题目没看懂。。。。
8 H Scorched Earth Easy
不得不感叹啊。。国外的物理题真简单。。。
X轴Y轴两个方程联立搞定。。真没劲。。可以换另一种解法是将 重力加速度与w结合起来,然后在一个重力场中算轨迹
可以求的是一个从当前重力场到参考重力场的一个变换,然后是已知两点和在一点出切线方向。。。当然可以求。。不过貌似更麻烦来着。。
既然已经分解好了。。就借借东风好了。。
9 I Free Willy
这套题里面的状态转移的题目还真是挺多的。。。
首先给定一个初始状态,和一个目标状态。然后给出了最多10个变换的规则。求从初始状态到达目标状态所需要经历的最少的状态转移次数。
熟悉线性代数的话,可以很容易的写出转移矩阵,而此时的转移矩阵求逆仍为其本身。所以我们考虑的思路就是从双向进行搜索。
这样子的时间复杂度是2*10^5 而不是之前的10^10这么多。。。
总结一下这套IDI 2007的题目。。
简单题目: A D G H
好题:
B 考察矩阵快速乘法与二分
C 考察数学直觉与推理
E 最大流的题目
F 一个比较好的数学背景,然后需要DP
I 状态转移题目,需要一些YY能力
BCEFI的代码需要好好搞一下。。。。欧洲人出的题目,代码质量一向非常高,既有Java也有C++,质量都不错。。
自己这个周,需要好好看一下最大流的题目。。
相关文章推荐
- [ZJOI2007]报表统计 解题报告
- HDU 2007 平方和与立方和 解题报告
- BZOJ 1072 [SCOI 2007] 状压DP 解题报告
- [CTSC2007]挂缀 解题报告
- [NOIP2007] 字符串的展开-解题报告
- haoi2007理想的正方形解题报告
- COGS 25. [NOIP2007] 守望者的逃离 解题报告
- NOIP 2007矩阵取数游戏 解题报告(区间型DP)
- [ZJOI2007]棋盘制作 解题报告(最大连续同色子矩阵)
- LuoguP1131[ZJOI2007] 时态同步 解题报告【树形DP(?)】
- NOIP2007 T1奖学金 解题报告-S.B.S.
- BZOJ 1093 [ZJOI 2007] Tarjan+DAG拓扑排序DP 解题报告
- bzoj 1631: [Usaco2007 Feb]Cow Party 解题报告
- BZOJ 2007 对偶图 解题报告
- 【解题报告】poj openjudge 拼写检查 pku数算mooc 检索
- NOIP 2007 普及组解题报告
- NOIP2007 T2纪念品分组 解题报告-S.B.S.
- bzoj3376&&poj1988 [Usaco2004 Open]Cube Stacking 方块游戏 解题报告
- [BZOJ1031][JSOI2007]字符加密Cipher 解题报告
- 【解题报告】openjudge Freda的越野跑 数据结构与算法mooc 内排序