2.5闲话 & solution 『那是万物伊始的来途/或百川竞流的归处』
哈哈哈我垫底了,为啥数据这么水啊哈哈
我似乎发现很多人当OIer之前都没有一个稳定的网名
solution - 初三年前模拟测试3
初三年前模拟测试3
《普及难度》指T4动态开点李超线段树/凸壳
又是一坨史,那场ABC是史莱姆王,今天是史莱姆皇后,还是肉后boss比ABC好点,至少题还行,数据就是史
-
『夕景昨日』
-
题面
\(\text{Shintaro}\) 制作了 \(n\) 个开关,每个开关的状态可被设置为 \(+\) 或 \(-\)。
现在你有一个数列 \(A=(a_1,⋯,a_n)\) ,和一个初始值为 \(0\) 的变量 \(v\) 。你可以自由地操纵开关,当第\(i\) 个开关被设置为 \(+\) 状态时, \(v\) 会加上 \(a_i\) ,被设置为 \(-\) 状态时, \(v\) 会减去 \(a_i\)。
请你判断是否有两种及以上不同的方式操纵开关,使得最后得到的 \(v\) 值相等。
-
简要题意:
有\(n\)个数,每个数可以从正数变成负数,能不能存在至少两种把所有数加到一起相同的结果
-
思路
首先看部分分,直接DFS可以处理\(n\le 20\)的数据直接
puts(dfs(0)?"Yes":"No")
即可那么大于\(20\)的呢?我们发现大于20的一定存在至少两种,构造不出来不存在的数据,直接
puts("No")
即可然后分讨就过了
特殊的,输出
Yes
有 \(90pts\) 😅😅😅
-
-
『透明答案』
-
题面
\(\text{Ayano}\) 和 \(\text{Bob}\) 在玩简单的取石子游戏。最初有 \(n\) 堆石子,每堆有 2 块。
\(\text{Ayano}\) 和 \(\text{Bob}\) 轮流取石子(从 \(\text{Ayano}\) 开始)。每一次取石子时当前玩家可以任选一堆,如果还剩下 \(k\) 块石子,则可以从这堆中取出 1 到 \(k\) 之间的任意数量的石子。
此外,每 3 回合他们会添加一堆石子(含 2 块石子)。换句话说,在第 \(t\) 次操作(两个人操作的总次数)之后,如果 \(t\) 可以被 3 整除,则添加一堆 2 块石子的石子堆(即使在第 \(t\) 次操作中取完了所有石子,如果 \(t\) 可被 3 整除,也会添加新石子堆并继续游戏。)
双方都采取最优策略,无法操作的玩家输掉游戏。请你判断哪个玩家获胜。
-
题意
题面已经很明确了,就不写了
-
思路
发现当 \(a \bmod 3=2\) 时
Bob
获胜,否则Ayano
获胜官方题解是找规律过的,不敢评价
下面是我的思路(可能不对
当
Bob
获胜时(假设不会加石子),我们随便都能发现有且只有当\(n \bmod 2 \ne 1\)也就是 \(n|2\)如果加石子呢?
加石子的话假设 \(n \bmod 3=1\),那么一定会补上至少一个导致
Bob
趋势比如
4
会补上一个导致变成5
,此时Bob
就数码了\(n \bmod 3=0\) 时候补完之后因为是最优策略所以一定不会是\(2\)的倍数(可以手模一下
\(n \bmod 3=2\) 补完了还是\(2\)的倍数,所以
Bob
赢吗了注:直接输出\(\text{ayano}\)可以拿到\(70pts\)
本题把搜索放过去了
-
-
『界外科学』
-
题面
\(\text{ENE}\) 是一位电脑少女,这天她在帮 \(\text{Shintaro}\) 网上购物。网店一共有 \(n\) 件物品,第 \(i\) 件物品有 \(a_i\) 的价格,并且购买这件物品会给 \(\text{Shintaro}\) 带来 \(b_i\) 的满足度,不同的物品获得的满足度会累加。
\(\text{Shintaro}\) 最多只能支付 \(m\) 元。由于他资金有限,\(\text{ENE}\) 黑入了网店的支付系统。在
她操作之后,总价格的计算方式是将所有物品的价格给 \(\text{xor}\) (异或运算)起来。
如 \(\text{Shintaro}\) 现在买了价格为 \(1\) 、\(2\) 、\(4\) 、\(7\) 的四件物品,总价格为\(1\oplus 2\oplus 4 \oplus 7=0\)。
\(\text{Shintaro}\) 现在想知道在足够支付所买的物品的前提下,他最多能获得多少满足度。 -
题意
懒得翻译了www
-
思路
-
\(20pts\)
大力搜索即可
-
\(50pts\)
大力搜索即可
-
\(100pts\)
建立\(\text{01-Trie}\)去跑
meet in middle
搜索,复杂度\(O(2^{\frac{n}{2}})\)但是
minecraft666
的神级剪枝剪成了\(O(n \log n)\),惊!
特殊的,由于数据出的太好了,直接输出所有满意度的总和即可通过此题
-
-
-
回忆补时
-
题面
\(\text{Shintaro}\) 有 \(n\) 条直线,第 \(i\) 条直线 \(l_i\) 可以被描述为 \(k_ix+b_i\)。这天 \(\text{Ayano}\) 和 \(\text{Shintaro}\) 在一起玩游戏。每局游戏 \(\text{Ayano}\) 会给出一个整数\(x\),然后让 \(\text{Shintaro}\) 选两条不同的直线 \(l_i,l_j\),得到 \(y=k_j\times (k_i\times x+ b_i)+b_j\)
作为他的得分。作为游戏中级高手,\(\text{Shintaro}\) 觉得得分肯定是越大越好,然而他不知道自己的得分是否达到了最大。
所以对于每局游戏里 \(\text{Ayano}\) 给出的整数 \(x\) ,请你告诉 \(\text{Shintaro}\) 可能得分的最大值
-
思路
李超线段树,不敢评价,也不会写
-