zoukankan      html  css  js  c++  java
  • NOI模拟赛 7.9

    赛时时间安排

    发现发题了,读题 9:20-9:40

    第一感觉:

    A.为什么是奇环?

    B.感觉和那次知乎上看到的趣味算法有点像,真有人把这出成题了???不过好像变难了

    C.感觉是一个偏贪心的DP或者干脆就是DP

    T3 9:40-10:40

    首先有一个最直观的背包,f(i)表示代价为i时的最大价值,可以过前两档分,时间复杂度为(O(nm))

    然后这个背包已经没有办法再优化了,只能重新设计状态。

    这道题里有一个很重要的条件:(a_i imes i leq m),这个条件可以联想到调和级数。

    考虑设计f(i)表示价值为i时的最小代价。

    随后一些时间通过数学推导证明了在倒序选择的情况下已选择的总价值和(leq frac{m}{i}),于是这道题的复杂度真成了调和级数,为(O(mlog m)),于是就打了。

    T1 10:40-12:40

    想到前几天做题时用到的结论——图是二分图等价于没有奇环,于是就考虑先判断有没有奇环。

    因为要保证删去环后图联通,于是就将图分成树+其它,在其它部分中找环。

    思考过程中一开始陷入了一个误区——如果生成的树不太对劲导致一个有奇环的图现在找不到了怎么办?

    浪费了了一番功夫后发现根本不需要考虑这个,因为当找不到奇环时,树和其余部分都为二分图,虽然在只用两种颜色染色的情况下它们可能会有冲突,但在四种颜色的情况下根本不需要考虑这个问题,直接把每个颜色当作二进制的一位就行了,于是就打了。

    T2 12:40-1:40

    用之前在知乎上看到的进位思想可以解决前三个子任务(50pts),后50pts思考未果。

    赛后总结反思

    在T1这种一道题中需要考虑多个算法的题目中,需要考虑阈值在哪儿,要注意一个算法并不需要解决整个问题,要避免陷入这种思维误区。

  • 相关阅读:
    互联网秒杀设计
    生产者消费者模式实现
    Ping CAP CTO、Codis作者谈redis分布式解决方案和分布式KV存储
    VIM使用学习笔记 : 按键说明
    Cookie的有效访问路径
    简单的Cookie记录浏览记录案例
    认识Cookie和状态管理
    Java异常
    Java接口基础
    String常用方法
  • 原文地址:https://www.cnblogs.com/Robert-JYH/p/14992739.html
Copyright © 2011-2022 走看看