Loading

摘要: 非常有意思的交互题。 隐藏一个常数 \(C\),每次可以查询一个在范围 \([1,n]\) 中的位置,取这个位置和上次查询的位置的差,如果差 \(\ge C\) 返回 \(1\),否则返回 \(0\)。每个位置只能查询一次。要在 \(64\) 次询问内求出答案,\(1\le C\le N\le 10 阅读全文
posted @ 2021-07-15 22:48 7KByte 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 几何 + DS神题。 开始看非常没有思路,但是根据样例我们可以猜到答案一定很小,事实上答案 \(\le 3\)。 我们不妨先考虑二维的情况,如果我们只有两种调料如何处理。 我们用二元组 \((P,Q)\) 描述一个瓶子,不难发现我们只关心这个比值 \(\frac{P}{Q}\) 。而最终我们需要调出 阅读全文
posted @ 2021-07-15 21:30 7KByte 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 2021/7/15 T1 :Bridž 水,略 T2 :Kartomat 建个 Trie 树跑一波,不过这么小的数据范围貌似不用 T3:Kas 不难发现就是将 \(N\) 个数分成 \(3\) 堆,前两堆大小相同,使得第三堆最小。 定义状态 \(f[i][j][k]\) 表示前面 \(i\) 个数, 阅读全文
posted @ 2021-07-15 11:53 7KByte 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 2020/7/14 T1 : Bold 一眼模拟,略 T2 : Alias 大概是个最短路板子,字符串直接 map 处理 T3 : Anagramistica 不难看出相似的定义就是将字符串的字符从小到大排序后相等即为相似。 然后哈希一下,对于哈希值相同的我们称为一组。 显然只有一组内能对 \(k\ 阅读全文
posted @ 2021-07-14 11:20 7KByte 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 2021/7/13 T1 : 括号 第一眼看没有思路,打个暴力。 我们定义 \(f[l][r]\) 表示区间 \([l, r]\) 中的方案数,枚举 \(k\in [l+1, r]\) 表示和第 \(l\) 个括号匹配的位置,得到 \(f[l][r] = \sum f[l + 1][k - 1]\t 阅读全文
posted @ 2021-07-13 11:40 7KByte 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 一般化,有若干个物品,若干个属性,每个物品有若干个属性(可能没有)。现在要求有属性的物品的总数。 我们要求的,就是拥有某一个属性的总数,减去拥有某两个属性的总数,加上拥有某三个属性的总数,依次类推。 应用 直接容斥 固定什么是物品,什么是属性,然后直接根据定义直接容斥。 硬币购物 一种付款方案是物品 阅读全文
posted @ 2021-07-08 11:54 7KByte 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 数数好题。 求二元组 \((p,q)\) 的数量使得 \(p,q\) 是长度为 \(n\) 排列,其中 \(p\) 的字典序更小,逆序对更多。 需要比字典序,我们枚举第一个不相同的的位置 \(i\) 。那么 \(i\) 前面的方案是 \(i!\binom{n}{i}\)。 我们枚举第 \(i\) 位 阅读全文
posted @ 2021-07-04 09:40 7KByte 阅读(158) 评论(0) 推荐(0) 编辑
摘要: *3100 的思维题果然可怕。 我们用长度为 \(n\) 的序列 \(a\) 表示选择的集合。如果集合中包含数 \(i\) ,那么 \(a_i=1\) ,否则 \(a_i=0\) 。 那么我们需要找出包含 \(1\) 最多的长度为 \(n\) 的 \(0/1\) 序列,使得任意两个 \(1\) 的间 阅读全文
posted @ 2021-06-26 10:29 7KByte 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 比 D 题的阴间欧拉路径好想多了( 首先如果 \(n=0\) 就是 nim 游戏,当且仅当 \(x=y\) 时先手必败。 我们定义先手必胜为 \(1\) ,先手必败为 \(0\) ,那么我们可以画出一个 \(0/1\) 表格,格子 \((x,y)\) 上的数表示对应状态先手的胜负。 如果 \(n=0 阅读全文
posted @ 2021-06-25 17:44 7KByte 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 做过最神的数数题之一。 先考虑如果给定 \(h\) ,如何求出 \(A\) 。 首先最后一个数一定会留下,倒数第二个数如果和最后一个数相等,则减一,否则一直保留下去。 所以模拟一下我们发现,从后向前扫一遍,如果后面没有出现 \(h_i\) ,则 \(h_i\) 就是当前位置的最终值,否则 \(h_i 阅读全文
posted @ 2021-06-25 09:12 7KByte 阅读(91) 评论(0) 推荐(0) 编辑