摘要: zoj 上次的月赛题,相当牛的题目啊,根本想不到是状态压缩好吧有个预先要知道的,即500个16相加那也是不会超过8192,即,合并最多合并到4096,只有2的12次方所以用状态压缩表示前面有的序列组合,找到了符合的,就往上累加合并生成新状态,否则就添加到前面的状态的后面构成新状态,因为每一个的状态都... 阅读全文
posted @ 2014-08-31 10:42 KRisen 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 本以为是个树形DP,按照树形DP的方法在那里dfs,结果WA到死,因为它存在有向环,不是树,凡是存在环的情况切记不要用树形的方法去做题目的突破点在于将边排完序之后,用点表示以该点为边结尾的最大长度,因为是按边排序从小到大加边,所以后面加的边肯定比前面的小。要注意相同边的情况,要搞个缓冲,因为相同边的... 阅读全文
posted @ 2014-08-31 10:10 KRisen 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 首先要记得黑白染色原理,题目里要求矩阵里的两个点,两个点对应的对角线不能有重合点,其实就是黑白染色嘛,找坐标相加为奇数和坐标相加为偶数的点即可然后就是题目要求的和值最大,暴力不行,所以预处理出来每个对角线的和值,发现其实每个对角线要么是 y=x+b或者y=-x+b,b是独一无二的,所以以b为特征点来... 阅读全文
posted @ 2014-08-31 09:44 KRisen 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 还是五月湘潭赛的题目,当时就是因为我坑。。。连个银牌都没拿到,擦。这个题目枚举区间是不可能的,明显是要考虑每个数对全局的影响,即找到每个数最左和最右能满足是最大的位置 以及 最小的时候,相乘即为该数字影响的区间总数。当时想到的是用线段树,建树的时候求出最大和最小值,然后在每个数往里面搜索,比赛的时候... 阅读全文
posted @ 2014-08-31 08:56 KRisen 阅读(236) 评论(0) 推荐(0) 编辑