摘要: [TJOI2018]数学计算 洛谷题目链接 题解 这道题有很多做法,可以求逆元,高精,不过用线段树会简单很多,首先我们要求得一个乘积,并且需要步步取模,我们用线段树维护乘积,建一颗大小为询问次数的线段树,每一个叶子节点存储每一次询问的数,初始化为$1$,一号节点即为当前的乘积,每次对于操作$1$,进 阅读全文
posted @ 2021-08-15 15:05 fanner_rick 阅读(68) 评论(0) 推荐(1)
摘要: [TJOI2016 & HEOI2016] 游戏 洛谷题目链接 本来以为是算法写错了,最后居然发现是读入错了。。。 题解 我们先假设没有硬石头,也就是说在图上的一些位置可以放炸弹,我们要求的就是最多的个数,我们以每行只能放一个,每列只能放一个为限制条件建二分图,即当当一个点放下时行列都无法在放其他点 阅读全文
posted @ 2021-08-12 19:29 fanner_rick 阅读(35) 评论(0) 推荐(0)
摘要: [HEOI2016/TJOI2016]排序 洛谷题目链接 这道题不难,但是挺有意思的。 题解 先讲一些思路: 令$l=1,r=n$​​​​​二分答案,将所有大于$mid$​​​​​的序列修改为$1$​​​​​,其余就修改为$0$​​​​​,然后对其进行局部排序,升序排序将局部中所有的$1$​​​​​ 阅读全文
posted @ 2021-08-11 17:23 fanner_rick 阅读(51) 评论(0) 推荐(0)
摘要: [HEOI2016/TJOI2016]树 这是一道树剖板子题,所以我们没什么讲的 洛谷题目链接 题解 我们用线段树维护树剖序上的$sum$值,即为染色的数量的$sum$,当$sum=0$时,从$x$节点向上爬树,当我们查询到这条链的$sum>=1$​​时二分答案即可。 #include<bits/s 阅读全文
posted @ 2021-08-11 17:23 fanner_rick 阅读(41) 评论(0) 推荐(0)
摘要: [TJOI2015]组合数学 洛谷题目链接 这道题的码量不大,代码没什么难度,但是思维难度会比较大。 注意,有T组数据,每次都需要初始化,并且需要开long long 解释 我们有一个神奇的定理叫做Dilworth定理。 即:最长反链=最小链覆盖=最大独立集。 这道题其实就是求最小链覆盖。 **最小 阅读全文
posted @ 2021-08-08 18:21 fanner_rick 阅读(89) 评论(0) 推荐(0)
摘要: 关于矩阵的学习 本文通过oiwiki的知识点进行总结,oiwiki矩阵链接 矩阵加减法 对于矩阵$A+B$,就是将每个位上的数相加减。 $\begin{bmatrix}1 & 0 \ 0&1\end{bmatrix}+\begin{bmatrix}0&1\1&0\end{bmatrix}=\begi 阅读全文
posted @ 2021-08-07 19:44 fanner_rick 阅读(221) 评论(0) 推荐(0)
摘要: [TJOI2017]城市 洛谷题目链接 明明上课听过一模一样的题,不知道为啥第一次写错了,我还是太废了 题解 很容易想到暴力枚举每条边在枚举每个点,O(\(n^3\)),肯定会T,然后我们 想一想如何优化,在改造后直径分为两种情况。(换根dp) 直径在被删除的边的两颗子树内。 直径经过新连成的边。 阅读全文
posted @ 2021-08-06 17:36 fanner_rick 阅读(65) 评论(0) 推荐(0)
摘要: [Lydsy2017年4月月赛]打牌 题目描述 小 Q 同学正在和糖老师一起打(d)牌(p)。这个游戏需要 525252 张牌,分为四种花色(H 表示红心,S 表示黑桃,C 表示梅花 ,D 表示方块),每种花色有 A,K,Q,J,10,9,8,7,6,5,4,3,2 这么多张牌,其中 A 是最大的, 阅读全文
posted @ 2021-08-06 17:35 fanner_rick 阅读(82) 评论(0) 推荐(0)
摘要: 华丽的序列题解 题目描述 给定一个长度为 nn 的序列,序列上第 ii 个数为 aiai,有 QQ 次操作: 1.给定l,r,x,ai修改为min(ai,x),i∈[l,r]给定l,r,x,ai修改为min(ai,x),i∈[l,r] 2.给定l,r,询问max(ai),i∈[l,r]给定l,r,询 阅读全文
posted @ 2021-08-04 17:56 fanner_rick 阅读(70) 评论(0) 推荐(0)
摘要: [HAOI2015]树上操作题解 洛谷题目链接 一句话题意 在有权值得树上实现单点修改,和某个子树所有点修改,加上路径权值和的查询 基本上看到题就能想出怎么做的了,很明显的树剖加线段树维护,再求个lca即可,甚至一个端点都确定了。 题解 先进行两次dfs,对树进行重链剖分,这样可以使树在各个小区间上 阅读全文
posted @ 2021-08-03 16:43 fanner_rick 阅读(76) 评论(0) 推荐(0)