2021-11-11NOIP模拟赛总结

1.时间安排

审题:7:50—8:23

  T1转化之后就是求二元一次方程最优解,exgcd可解,但我不会
  T2似乎是个DP,还是比较好想的
  T3又是树上问题,还不好处理,lca,deep,还有前缀和思想的实现,一个比一个难搞

T1:8:23—9:33

  手推了半天exgcd的写法,推不出来,只算出来,a,b,c都要除以gcd(a,b,c)
每 一 次 在 赛 场 上 发 现 知 识 盲 点 都 是 一 次 掉 分 的 注 定 \color{white}{每一次在赛场上发现知识盲点都是一次掉分的注定}

T2:9:33—10:12

  DP式子很好推,设f[i][j][k]为前i个敌人攻击j次与k结盟的最小代价,转移式为
f [ i ] [ j ] [ k ] = m i n ( f [ i − 1 ] [ j ] [ k ] + d e f [ i ] , f [ i − 1 ] [ j − 1 ] [ k ] + a t k [ i ] ) f[i][j][k] = min(f[i-1][j][k]+def[i],f[i-1][j-1][k]+atk[i]) f[i][j][k]=min(f[i1][j][k]+def[i],f[i1][j1][k]+atk[i])
而当决定与i结盟时,转移式为 f [ i ] [ j ] [ i ] = f [ i − 1 ] [ j ] [ 0 ] f[i][j][i] = f[i-1][j][0] f[i][j][i]=f[i1][j][0],
但是三维DP过不了4000;
自 闭 开 始 . . . \color{white}{自闭开始...} ...

T3:10:12—10:34

  先是一个dfs求深度和父节点,再是倍增求lca,结果求ans不会运用前缀和思想转化答案得出方式,只能O(n^2log(n))求,实在拉胯
结 果 d f s 就 炸 了 更 加 拉 胯 \color{white}{结果dfs就炸了更加拉胯} dfs

T2:10:34—11:11

  我在T3自闭完之后又回来了! 第二维可以通过sort解决,把每个敌人DEF和ATK的差算出,与DEF和ATK以及位置一起存入struct结构体里,并按照差值从大到小排序,可以保证所有能够减少最多代价的ATK都使用了;
重新定义f, f[i][j]为sort后前i个敌人与第j个敌人结盟的最小代价,可得出转移式
   f [ i ] [ j ] = m i n ( f [ i − 1 ] [ j − 1 ] + a t k [ i ] ( c n t [ i − 1 ] [ j − 1 ] < k ) , f [ i − 1 ] [ j ] + d e f [ i ] ( c n t [ i − 1 ] [ j − 1 ] = = k ) ) f[i][j] = min(f[i-1][j-1]+atk[i] (cnt[i-1][j-1]<k),f[i-1][j]+def[i] (cnt[i-1][j-1]==k)) f[i][j]=min(f[i1][j1]+atk[i](cnt[i1][j1]<k),f[i1][j]+def[i](cnt[i1][j1]==k))
至于答案,由于DP是在sort过后生成的序列中进行的,所以第一次sort后记录所在位置,再按照原来位置复原,输出f[n][sort后的位置]
挂 的 只 剩 30 了 哇 呜 呜 \color{white}{挂的只剩30了哇呜呜} 30

T4:11:11—11:55

  感觉可以状压(点只有17),思路是把每个点有几率到达的点也状压到to[i]里,枚举当前图上状态,把当前图拓展,由原有点可以走到的点算其贡献,加到拓展图里,但是贡献的计算不好处理,就只写了去到未去过节点时可能增加的连通块个数,大概率是炸了
T 4 就 炸 得 心 安 理 得 了 T T ∣ ∣ \color{white}{T4就炸得心安理得了TT||} T4TT

2.总结

  1. exgcd复习,只记得能用来求二元一次方程了,求通解和无解情况全判断了,但是炸掉了,只有零分,大佬AC签到题
  2. DP过不去,贪心拿满分,分治感觉不懂,还是需要复习一下
  3. 虚树的建立方式写,但是不会写虚树,听完gzx讲完后好像懂了,把序列中相邻两个的lca求出来所生成的序列中包含所有区间内点的lca,这个性质十分重要,根据这个性质可以求出答案
  4. 看不懂,概率的东西总是不知道怎么转化为等价的模型,它的转化…

3.对比

  1. 暴力分都没拿,挂分严重,暴力分拿得多的排名都比较高
  2. T2改了sort排序方式变成七十分了,当时没写对拍,A掉的大佬应该都写了
  3. T3没算时间,n2logn其实已经炸了,但是当时没算写了很久,在不正确的方向走了太久,以后要在写之前算一下时间复杂度,0分
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值