• 2024-07-13[ZJOI2006] 三色二叉树 题解
    [ZJOI2006]三色二叉树题解link趣题。首先我们把题目分成两部分:建树和dp求解。建树:观察发现,字符串中的第\(i\)个字符就代表图中的第\(i\)个节点。如果\(S_i=0\),直接跳过;如果\(S_i=1\),那么\(i+1\)是\(i\)唯一的子节点,在两点之间连边,然后继续递归建树即可。
  • 2024-07-07[lnsyoj285/luoguP2596/ZJOI2006]书架
    题意维护一个长度为\(n\)的序列\(a\),进行\(m\)次操作,操作包括:将\(x\)放置于序列开头;将\(x\)放置于序列末尾;将\(x\)与其前驱/后继交换;查询\(x\)的下标\(-1\);查询下标为\(x\)的数sol维护序列,可以使用线段树或平衡树,本题使用平衡树更为简便。介于已经学习
  • 2024-02-07P2585 [ZJOI2006] 三色二叉树
    原题链接总结1.要学会动态规划这种思维方式,即定义状态和状态之间的转移2.本题的难点在于如何将抽象的输入数据转换成树状结构处理和定义状态,这个定义状态让我想到了初中添加几何线,可能要多做题才能有感觉吧3.有一定模拟的部分,这一部分要细心\(Code\)#include<bits/stdc++.h>
  • 2023-06-22P2596 [ZJOI2006]书架 题解
    题目传送门:link。FHQ-Treap解题的关键在于如何来求出一本书上面有多少本书,但考虑到我们里面没有像权值一样的东西来让我们用按值分裂来完成这个操作,所以考虑用按排名分裂来实现。我们按照先后顺序把所有的书都给插入到平衡树里面,根据二叉搜索树的性质,当前结点的所有左子树的结
  • 2023-05-06Luogu1772 [ZJOI2006] 物流运输
    传送门简化题意给你$m$个码头,码头之间有双向边连接,$n$天,其中一些码头在某些天会不可用,这$n$天都要有一条从$1$到$m$的路,每一次更换道路会需要$k$的代价,求这$n$天每天从$1$到$m$的距离之和与更改道路的价值之和的最小值。Solution首先我们能想到一个贪心的策
  • 2023-05-02P2596 [ZJOI2006]书架
    \(\color{purple}\text{P2596[ZJOI2006]书架}\)解题方法考虑使用\(\text{FHQ}\)平衡树,我们只使用编号,而不使用权值,平衡树上的先序遍历即为书的放置顺序。\(\text{Query}\):这是最简单的操作,直接查询即可。\(\text{Ask}\):本题的核心,我们知道编号,因为没有权值,没法从根往下
  • 2023-01-16周报三
    2023/1/15周报大主题:字符串&动态规划&数论本周总结:本周主要是对Treap的学习。Treap学习笔记:C.C--/Treap.mdatmaster·JoshuaZhengsurp/C.C--(github.com)之
  • 2022-12-25P1772 [ZJOI2006] 物流运输
    P1772[ZJOI2006]物流运输题意:需要将物品从\(A\)移动到\(B\),需要\(n\)天才能运输完成,运输过程中需要转停很多个码头。求指定一个\(n\)天的运输计划,使得总成本
  • 2022-10-25Luogu P1772 [ZJOI2006]物流运输
    题目链接:​​传送门​​很麻烦也很难想的一道题数据很小大胆yy详细解释在代码里#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<co
  • 2022-09-29做题记录整理dp15 P1772. [ZJOI2006] 物流运输(2022/9/28)
    P3648[APIO2014]序列分割第一次做斜率优化的题题解看懂了,但没有完全看懂等以后得回来看一次#include<bits/stdc++.h>#definefor1(i,a,b)for(inti=a;i<=b;i++)
  • 2022-09-29P1772 [ZJOI2006] 物流运输
    #include<bits/stdc++.h>usingnamespacestd;constintMAXN=1e8;classsolve{ public: intn,m,k,E; priority_queue<pair<int,int>>q; structnode{
  • 2022-09-28做题记录整理dp15 P1772. [ZJOI2006] 物流运输(2022/9/28)
    P1772.[ZJOI2006]物流运输图论+dp首先看数据范围这么小,其实就可以猜到很可能是先把i到j天的最短路都求出来然后就会发现dp方程很简单了dp[i]=min(dp[j]+最短路[j+1][
  • 2022-09-26luogu P1772 [ZJOI2006] 物流运输 (dp, 最短路)
    https://www.luogu.com.cn/problem/P1772虽然是图论背景,但是1-n天之间是线性关系。没法贪心决策,考虑dp:我本来写的dp是i-1转移到i,但是这样没法处理哪一天能走哪些最短路