四 25
明年将是省选的日子,转眼又是一年。与上次不同,这次省选过后,我的OI生涯就只剩下区区3个月了(也可能会立即彻底结束)。
这一年过来,我的水平没有达到我期望的高度,总结一下原因,关键在于这几点:
- 浮躁的学习态度,对于各种算法浅尝辄止,尤其表现在高一初次学习的时候;
- 不合理的时间安排,对文化课和竞赛的学习不能有机调和,总是顾此失彼;
- 过于功利化地看待OI,认为OI是一条通往理想大学的捷径,忽略了全面发展;
- 总是被一点小小的失败困扰,为一些小小的成绩骄傲,心浮气躁。
冲击NOI和文化课的努力学习是存在着某种冲突的,至少在我的能力范围之内是如此。我已经清楚地认识到了这一点,该如何选择?高翔在OI前途一片大好的时候,突然选择了放弃冲击NOI,要去好好准备保送生考试了,尽管还有半年。我非常佩服他激流勇退的精神,只是常人罕见的胸怀才能接受的。
在这次省选之前,我还在犹豫,我想明天过后结果就会出来了。我要准备好接受现实。我想,我应该彻底抛弃心理负担。毕竟我有很多机会,省选不成,还有夏令营;NOI不成,还有NOIP的保送;保送不成,还有高考;高考不成,还可以考虑出国……总之,天无绝人之路。
不可改变的是时光荏苒,可以改变的是我的心态。我究竟能不能走通NOI这条路,还看我自己。从现在开始,我要改变我自己。
赐予我力量,去改变我所能改变的;赐予我勇气,去接受我不能改变的;并赐予我智慧,去分辨这两者。
标签:
2009,
HAOI,
NOI2009,
分辨,
心态,
省选,
转折
四 20
首先求出每个A*B的矩阵的数值和,以及每个C*D的矩阵的数值和,用递推的方法可以达到O(N*M)。
接下来,求出每个(A-2)*(B-2)范围内最小的C*D的矩阵(因为花坛不能建在绿化带边缘),可以用单调队列的方法递推,时间复杂度为O(N*M)。最后对于每个A*B的局限,求出其范围内最小的花坛,时间复杂度为O(N*M),总的时间复杂度就是O(N*M)。
这道题本身不难,关键在仔细处理好递推的边界。
Read the rest of this entry »
标签:
HAOI,
单调队列,
递推
四 20
这是一个动态规划可行性判定问题。
设玩具名字的字符串为A,状态 F[i,j,k] 表示A中,从第i位到第j位,是否可以变换成字符k。
状态转移方程
F[i,j,k] = Or{F[i,l,k1] And F[l+1,j,k2] | i<=l<=j-1 且字符[k1k2]可以变换成k }
边界条件
F[i,i,A[i]]=true
目标结果
F[1,N,k]
Read the rest of this entry »
标签:
HAOI,
动态规划,
可行性
四 15
原来背包问题还有这种解法,动态规划+容斥原理。由于有tot次询问,如果对每次询问单独都做一次多重背包问题,会超时。有一种一次预处理,每次询问只有O(1)的神奇解法:容斥原理。
设F[i]为不考虑每种硬币的数量限制的情况下,得到面值i的方案数。则状态转移方程为
F[i]=Sum{F[i-C[k]] | i-C[k]>=0 且 k=1..4}
为避免方案重复,要以k为阶段递推,边界条件为F[0]=1,这样预处理的时间复杂度就是O(S)。
接下来对于每次询问,奇妙的解法如下:根据容斥原理,答案为 得到面值S的超过限制的方案数 – 第1种硬币超过限制的方案数 – 第2种硬币超过限制的方案数 – 第3种硬币超过限制的方案数 – 第4种硬币超过限制的方案数 + 第1,2种硬币同时超过限制的方案数 + 第1,3种硬币同时超过限制的方案数 + …… + 第1,2,3,4种硬币全部同时超过限制的方案数。
当第1种硬币超过限制时,只要要用到D[1]+1枚硬币,剩余的硬币可以任意分配,所以方案数为 F[ S - (D[1]+1)*C[1] ],当且仅当(S – (D[1]+1)*C[1])>=0,否则方案数为0。其余情况类似,每次询问只用问16次,所以询问的时间复杂度为O(1)。
Read the rest of this entry »
标签:
HAOI,
动态规划,
容斥原理,
背包问题
四 14
前两问是最短路,第三问是标准的次短路径。求法是先求出最短路径,然后枚举每条从S到T的最短路径上的边,删除以后再求一次最短路径,保留最小值就是次短路径。
Read the rest of this entry »
标签:
HAOI,
最短路径,
次短路径
Recent Comments