转载请注明出处,谢谢 http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove
仅仅是CXLOVE弱菜的个人见解,并非官方题解,有错误请指出。
http://icpc.ahu.edu.cn 558-574
网络赛
A:窃取任务
数据结构堆栈。如果当前位置的塔比栈顶的要低,意味着当前塔会把信息传到栈顶的塔,则次数+1,而当前塔入栈(比前一个低,还有利用价值),如果比栈顶塔要高,意味着之后的塔不可能把信息传到栈顶的塔,信息会被当前塔拦截,则栈顶弹出,直至空栈或者情况1。那么两个方向扫描一遍即可。b
B:丢失的数字
水题,排序后扫描一遍,相邻差是否为1即可。
C:取石子
博弈DP。能通过取一次石子到达必败态,则当前为必胜态,能通过取一次石子到达必胜态,则当前为必败态,递归。
D:俄罗斯长条塔
DP,最长递增子序列。当时CXLOVE竟然建图+最长路,弱爆了。貌似有大神直接搜索过了。
E:丢失的文字
水题,纸上画画便知。O(n)求出相同前缀长度和相同后缀长度即可。
F:绩点换算
不解释
G:乘的更快
快速幂乘,注意中间的乘法用32位会溢出。
H:鼠标移动
水题
现场赛:
A:切水果
注意各种细节就行了,看清题意。
B:三次幂分解
转换成三进制,0的情况不解释,1的情况就是加上3的幂,2的情况得想想,2*3^n,可以表示为3^(n+1)-3^n,即高位+1,当前位为-1,3的情况便是当前位置0,高位+1。复杂度O(log3n)?
C:方和圆
比赛的时候各种悲剧。注意精度问题,譬如pi=acos(-1)即方便,而且保证精度,double的输出为%f,各种坑
D:命令提示
暴力?
E:凯旋
递推式无压力,但是范围很大,递推必然TLE,显然矩阵快速幂乘。像CXLOVE这样的弱菜想不到矩阵快速幂,就只有计算通项,结果悲剧的算错了,解K阶常系数齐次方程后,快速幂乘。
F:爱就大声说出来
O(n^3)会TLE,貌似有大神,优化到800ms+过的,O(n^2),O(n)无压力,要使最后的结果最大,显然头尾可确定。
G:排地雷
状态DP。由于影响当前位置的地雷摆放的是之前最多6个位置的地雷情况,地雷情况也就是放和不放两种,2进制状态压缩,7个格子。dp[1001][1<<7],时间和空间都可以接受。dp[i][j]表示在i个位置,前7个位置的地雷状态为j(包括第i个位置)时的摆放总数。由于区间是相交的,cxlove选择使用vector存储会影响当前格子的区间,依次处理。状态DP中有许多细节应当注意,譬如说位运算的优先级,以及左移时应去除无效高位,以免溢出。
H:寻找罗恩和赫敏
水题,1/C(n,2)