摘要: 题目传送门 题目大意: 给定一个长度为 \(n\) 的序列,\(q\) 次询问区间 \([l, r]\) 内只出现过一次的数有多少个。 思路: 很明显带修莫队可以做。 复习一下,带修莫队就是在普通莫队的基础上加上了时间轴,把操作分为询问操作和修改操作两种分别存下来。 因为修改是有顺序的,每次修改只会 阅读全文
posted @ 2024-09-04 20:34 Brilliant11001 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意: 给定一个长度为 \(m\) 且只含 \(0\sim 9\) 的字符串 \(s\),求出所有长度为 \(n\) 的,只含 \(0\sim 9\) 且不含 \(s\) 字符串的数量,结果对 \(mod\) 取模。 数据范围:\(n\le 10^9,m\le 20,k\le 100 阅读全文
posted @ 2024-09-02 16:36 Brilliant11001 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 这道题也可以用贪心来做,这里讲一下差分约束的做法。 看到题中给出了 \(m\) 条限制性的语句就联想到差分约束(差分约束的题还是很显眼的)。 做差分约束的题首先得把题面抽象成很多个不等式,所以我们先来转化一下题意。 首先发现求最小值,那么先确定转化方向:将所有条件转换成大于或大于等于,然 阅读全文
posted @ 2024-09-01 21:08 Brilliant11001 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 这道题很有意思,(看上去像数据结构似的),考察的就是差分约束的掌握熟练程度和 Tarjan 算法的灵活变通。 首先发现要求最小值,所以跑最长路,并将所有关系都转化成大于或大于等于。 设 \(x_i\) 表示第 \(i\) 颗恒星的亮度值。 一共有五种关系,分类讨论: 第一种操作:\(x_ 阅读全文
posted @ 2024-09-01 20:35 Brilliant11001 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 更好的阅读体验 用记忆化搜索写数位 dp 真的很好写! 题目传送门 题目大意: \(T\) 组数据,每次询问第 \(x\) 个含有至少 \(3\) 个连续 \(6\) 的数是什么。 思路: 考虑数位 dp。 一般数位 dp 问题有两种常见形式: 询问 \([l, r]\) 内有多少个符合条件的数; 阅读全文
posted @ 2024-09-01 11:39 Brilliant11001 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 简介 数位 dp 解决的是与数字有关的一类计数问题,在求解过程中常把一个数字的每一位都拆开来看,比如十进制下就是把千位、百位、十位、个位上的数字都拆开来看,其他进制类比十进制。 数位 dp 的问题一般比较显眼,有几个常见形式: 要求统计满足一定条件的数的数量(即,最终目的为计数); 这些条件经过转化 阅读全文
posted @ 2024-08-31 09:29 Brilliant11001 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题目大意 给定一个 \(N\times M\) 的网格,求用 \(1\times 2\) 和 \(2\times 1\) 的长方形去铺满它有多少种方案。 数据范围:\(N,M\le 11\)。 思路: 考虑怎么放才能刚好填满网格。 可以想到,如果先放横着的,再放竖着的,那么当我们将横着的 阅读全文
posted @ 2024-08-29 14:28 Brilliant11001 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题目大意 求 \([1, N]\) 中有多少个数在十进制表示下数码和是 \(D\) 的倍数。 数据范围:\(1\le N\le 10^{10000},1\le D\le 100\)。 思路 很明显的数位 dp。 这里采用了记忆化搜索来实现数位 dp。 记忆化搜索实现比较板子,不光写起来比较简单,而且 阅读全文
posted @ 2024-08-28 21:33 Brilliant11001 阅读(1) 评论(0) 推荐(0) 编辑
摘要: \(\texttt{0x00:}\) 前言 在此之前只对模拟退火的大名有所耳闻,但并未在我的认知上激起太大的风浪,直到…… 在外培的一场模拟赛上,队内大佬 yyc 在丝毫没有思路的情况下用 SA 骗了 70pts,赛后使得给我们上课的清华姚班老师惊掉下巴。 至此,在感叹 SA 的神力的同时,它也进入 阅读全文
posted @ 2024-08-27 21:28 Brilliant11001 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一棵 \(n\) 个节点的树,现在要添加一些边,使它成为一个完全图,并且满足图的唯一最小生成树仍然是原树,求增加的边的最小边权和。 思路: 考虑 kruskal 算法的过程:将边从小到大排序,依次扫描每条边,然后考虑合并边两端的集合。 设这两端的集合为 \(S_x,S_y\),这条边 阅读全文
posted @ 2024-08-27 08:42 Brilliant11001 阅读(17) 评论(0) 推荐(0) 编辑