首页 > 其他分享 >NOI2019 Day1

NOI2019 Day1

时间:2024-06-20 20:20:53浏览次数:21  
标签:暴力 读题 Day1 mathcal NOI2019 dp

就准备这样面对你的 NOI 吗?

问题:

  • 对拍,极限数据,构造数据。不要老觉得过了大洋里就可以万事大吉跑路了。
  • 自己觉得写不完的东西,一定不要上来就写。
  • 读题。读题。读题。实在改不了就每题都先写个暴力验证题意。
  • 学会放题。一个题实在想不明白就退而求其次。保持冷静。
  • 尽量一遍写对。

分数:\(55 + 0 + 0=0\),原因如上。

题解:

T1

考虑按时间顺序 dp。将边按开始时间加入,设 \(f_i\) 为经过第 \(i\) 条边的最小花费,转移是一个斜率优化的形式。

T2

尝试转化题中条件,猜出来几个零星的必要条件,但是并没有什么用。那么直接考虑序列的生成过程。

考虑最值分治,最大值钦定为最右端的那个,设 \(f_{l,r,k}\) 表示 \([l,r]\) 最大值为 \(k\) 的方案数,转移 \(f_{l,r,k}=\sum_{p} f(l,p-1,k)\times f(p+1,r,k-1)[\mathrm{区间 [l,p-1],[p+1,r] 均合法}]\)。

注意到 \(p\) 只在区间中点附近有 \(\mathcal O(1)\) 种有效取值,猜想有用的区间并不会太多,打个暴力发现就 \(2500\) 个左右。

然后考虑优化,这样的 dp 贡献形式是经典的,可以使用拉格朗日插值优化。分段 \(\mathcal O(n)\) 插值即可做到 \(\mathcal O(Sn^2)\),但是有点卡不过去。

为啥是 0 分?因为我向右走的条件读错了,写了 7k 代码调不出来,打暴力发现还不对,睡一觉起来发现读错题了,删了几个无用分讨就过了 /qd。

T3

模拟费用流,我觉得我讲不明白,cmd 写的很好。

标签:暴力,读题,Day1,mathcal,NOI2019,dp
From: https://www.cnblogs.com/663B/p/18259464

相关文章

  • 持续性学习-Day19(MyBatis)
    MyBatis参考:https://www.w3cschool.cn/mybatis3/mybatis3-rhna3ndr.html环境:JDKMySQLMavenIDEA1、简介1.1什么是MyBatisMyBatis是一款优秀的持久层框架它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获......
  • 代码随想录 算法训练营day11 Leetcode150 逆波兰表达式求值 Leetcode239 滑动窗口最大
    Leetcode150逆波兰表达式求值题目链接栈classSolution{publicintevalRPN(String[]tokens){Deque<Integer>stack=newLinkedList();for(Strings:tokens){if("+".equals(s)){//leetcode内置jdk的问题,不能使用==......
  • NOI2021 Day1
    轻重边把询问和修改都转到点上考虑。相当于给某些路径上的点都染上一种未出现过的颜色,然后查询某些路径上颜色相同的相邻点对数。注意初始时所有点的颜色应该互不相同树剖+线段树就做完了。需要特别注意的是树剖跳链时也会产生贡献。时间复杂度\(\mathcalO(n\log^2n)\)......
  • 机器学习day1
    机器学习day11.环境准备pythonPython是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991年。像Perl语言一样,Python源代码同样遵循GPL(GNUGeneralPublicLicense)协议。pycharm......
  • 使用Jupyter(python+opencv)实现很难的脚本-Day1
    由于xx西游没办法自动挖图,于是懒狗的我只能自己写一段脚本来实现挖土自由。首先介绍几个比较重要的库都需要自行install。fromPILimportImage#用于计算图片大小的库importpyautogui#用于抓取目标位置的库importpygetwindowasgw#用于得到窗口大小的库......
  • 持续性学习-Day18(JavaWeb)
    JavaWeb1、基本概念web开发:web,表示可以从互联网上拿到一定的资源静态webhtml、css提供给所有人看的数据,始终不会发生变化动态web每个人在不同时间、不同地点,看到的信息各不相同技术栈:servlet/JSP、ASP、PHP在Java中,动态web资源开发的计数统称为Java......
  • 代码随想录 算法训练营 day10 leetcode232 用栈实现队列 Leetcode225 用队列实现栈 Le
    Leetcode232用栈实现队列题目链接讲解用两个栈实现队列每次需要出队列或者查看队头元素时,将输入栈的所有元素放到输出栈classMyQueue{Stack<Integer>stackIn;Stack<Integer>stackOut;publicMyQueue(){stackIn=newStack<>();//负责进......
  • Day18 | 513. 找树左下角的值 | 112.路径总和、113.路径总和ii
    513.找树左下角的值本题递归偏难,反而迭代简单属于模板题,两种方法掌握一下题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.找树左下角的值.html思考层序遍历秒了#Definitionforabinarytreenode.#classTreeNode:#def__init__(self,val=0,left......
  • P10432 [JOISC 2024 Day1] 滑雪 2
    MyBlogsP10432[JOISC2024Day1]滑雪2感觉是挺好的观察性质题,vp的时候场切了。首先酒店一定是建在最低的某一个点。把高度离散化之后,把点扔到对应的位置。可以发现高度为\(i\)的层的所有点,如果能接上一层的连接器那一定会尽量接上(因为到了下一层它本身也可以贡献一个空......
  • day10
    今天是day10题目一:滑动窗口最大值,要求从一个大小为k的滑动窗口从数组的最左端移动到数组的最右侧最终返回窗口中的最大值fromcollectionsimportdequeclassMyQueue:  def__init__(self):    "双端队列"    self.queue=deque()  defpop(sel......