摘要: AT原题 以前做过,现在来整理思路 因为白球是一种特殊的球只会存在于一种颜色所有球的最前面,所以我们考虑把白球和其他球分开来 $dp[i][j]$表示我们已经放置了$i$个白球和$j$种颜色的球的方案数,显然必须满足$j \leq i$ 转移有两种 1.上一次放了一个白球 2.上一次放了一种颜色的球 阅读全文
posted @ 2020-07-20 13:29 zhuzihan 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 有n种物品,并且知道每种物品的数量。要求从中选出m件物品的排列数。例如有两种物品A,B,并且数量都是1,从中选2件物品,则排列有"AB","BA"两种。 每组输入数据有两行,第一行是二个数n,m(1<=m,n<=10),表示物品数,第二行有n个数,分别表示这n件物品的数量。 对应每组数据输出排列数。 阅读全文
posted @ 2020-07-20 10:41 zhuzihan 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 求第n个质数 \(n<= 1e9\) 首先在$0~1e7$范围内的质数我们可以直接欧拉筛解决 但是第$1e9$个的质数是$2e10$级别的 我们考虑二分答案 然后我们要实现的操作就是求$1~n$之间有多少质数,然后二分。 接着我们想一想,一个质数$x$,它的判定就是不能被$2 - \sqrt(x)$ 阅读全文
posted @ 2020-07-20 09:48 zhuzihan 阅读(214) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 0x00 朴素DP 对于第一问,我们求最长不上升子序列,因为 高度不超过 对于第二问,我们求最长上升子序列。证明: 见 "百度百科 狄尔沃斯定理 Dilworth定理" 解释一下反链: 假设原偏序集合任意两相邻元素的偏序关系为P,反链的相邻元素偏序关系为!P. 最长上升 最长不上升 最 阅读全文
posted @ 2020-03-28 10:54 zhuzihan 阅读(97) 评论(0) 推荐(0) 编辑
摘要: T1 做任务 题目描述 现有一款游戏,你作为玩家,拥有k种物品。开始时,每种物品有1000件。 现在,在你面前有n个任务,每种任务都可能消耗一些物品,也可能得到一些物品。做第i个任务的物品得失情况用一个包含k个字母的字符串Si表示,其中每个字母都是+, ,/中的一种,第j个字母表示该任务对物品j的数 阅读全文
posted @ 2020-02-02 21:11 zhuzihan 阅读(296) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 哇塞,大毒瘤题! 0x00 思路 首先你得先过了 "这道题" , "题解" 我们继续维护和之前一样的:区间和/区间最大前缀和/区间最大后缀和/区间最大子段和 然后我们分类讨论~~秒切~~这题 查询区间不相交(y1 = x2) 我们把查询区间分成三块$[x1,x2 1] \ [x2,y1 阅读全文
posted @ 2020-01-29 16:58 zhuzihan 阅读(186) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 话说真的和GSS1有什么区别,除了一个修改操作... 0x00 思路 最大子段和是区间内 一段连续元素 的和,不妨 当成一段区间 来看,那么对于一段区间$[l,r]$的最大子段和,有存在三种情况 定义$mid = (l + r) / 2$ 1. 完全位于$[l,mid]$中 2. 完全 阅读全文
posted @ 2020-01-29 16:28 zhuzihan 阅读(131) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 0x00 思路 题面告诉我们答案就是每种数数量的平方和,因此每种数可以单独计算,用$cnt$数组统计每种数的数量 考虑维护平方和$sum$,如果每种数每次增加/减少整数个,则可以用数学方法维护$sum$ 我们不能暴力枚举区间内所有的数,复杂度不行 区间问题利器线段树又不能用,因为不符合 阅读全文
posted @ 2020-01-29 15:58 zhuzihan 阅读(88) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 0x00 思路 我们考虑统计区间内相同颜色的袜子的个数,设$S_i$表示第$i$种颜色的袜子数,则这种颜色袜子对方案数的贡献就是$S_i (S_i 1)$ 长度为$S$的区间,其总方案数为$S (S 1)$ 最后答案约分即可,如果概率为0,输出 0x01 莫队维护 我们只要维护区间的相 阅读全文
posted @ 2020-01-29 15:31 zhuzihan 阅读(88) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 话说分块的坑点好多啊,一不小心就会越界什么的真是麻烦QWQ 0x00 思路 面对区间修改区间查询,我们有两种基本思路:线段树和分块 可是很明显我们查询的东西不满足区间加法的性质,而且每次查询的标准在变,我们考虑直接上分块暴力维护 0x01 分块思路 定义块大小为$size = sqrt 阅读全文
posted @ 2020-01-29 12:41 zhuzihan 阅读(88) 评论(0) 推荐(0) 编辑