首页 > 其他 > 详细

csp-s模拟测试53

时间:2019-09-28 18:07:55      阅读:84      评论:0      收藏:0      [点我收藏+]

  有时间就多写两篇。。。

  T1:对于一个矩阵,每次给一个下三角(半个正方形)的矩阵加上s,求最终元素。

  这个题是差分方面的,最终一次询问,那么我们就可以搞,一开始没思路。

  后来想了想序列上差分是什么?就是代表一个点比前一个多多少,所以修改l,r就是l+s,(r+1)-s,这样最终一求前缀和就知道了原序列。

  在想一想如果是矩阵怎么做,把左上角+1,右上角-1,左下角-1,右下角+1,然后横向求前缀和就出来了向下两条横线,上边数值都是1,下边数值都是-1,然后从上往下求前缀和,整个矩阵就是1,

  就是卡线。

  然后这个三角是一个道理,把左上角+1,右下角-1,斜向求前缀和,然后在从上往下推,但此时下边还没堵口,需要现将右下角的-1推到左侧,推成一根线,然后从上往下退的时候就截住了。

  T2:DP很好想,就是状态数不确定,直接可以枚举每次怎么打,$f(i,s)$表示剩余i次,字符串为s的期望个数,

  $f(i,s)=max(f(i+1,s1)+w1,f(i+1,s2)+w2)$两个选择,这个记忆化搜索即可,

  因为状态数最多是$\sum_limit_{i=1}^{n} min(2^{i},C_{n}^{i})$发现没多少,所以直接开hash表就行了。

  另:这个题可以把第一维省掉,但是要区别01101和1101的区别,参考yzh大神可以在所有状态前面加一个1<<30,这样就能区别了,然后就愉快的压掉第一维。

  T3:被虎卡掉了思路。。。那个题只有第一问,然后第二问打贪心我发现。。。。。他无法决策是否反转父亲边。

  所以这个题要打DP,dp[i][0/1]表示是否反转的最优解,都要存下来。

  转移很特殊。。。。。。先古着

csp-s模拟测试53

原文:https://www.cnblogs.com/starsing/p/11604140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!