随笔分类 -  题解

摘要:给你一个 $1$ 到 $n$ 的排列。 定义```特殊交换```为:选择一段区间$[l,r]$ ,使得此段区间上的数交换后都不在原来的位置。 问最少多少次可以将此排列变成升序的。 阅读全文
posted @ 2020-07-12 10:14 Werner_Yin 阅读(145) 评论(0) 推荐(0) 编辑
摘要:给出 $n$,输出 $a$ ,$b$ ($0 < a \leq b < n$),使$a+b=n$且 $\operatorname{lcm}(a,b)$ 最小。 阅读全文
posted @ 2020-07-12 08:47 Werner_Yin 阅读(217) 评论(0) 推荐(0) 编辑
摘要:构造一个长度为```n```的数组,对于数组中的元素```a```,```b```,```c```,满足$a+b\neq c$。 阅读全文
posted @ 2020-07-12 06:51 Werner_Yin 阅读(95) 评论(0) 推荐(0) 编辑
摘要:原题 PDF OJ 思路 分析 因为半径d已经确定,所以对于每个点,我们可以算出它在x 轴上的覆盖位置线段LR,如图。 此问题便转为: 对于 n 个区间,每个区间内至少有1个点,求最少点数。 算法 我们可以将所有转化后的区间按左端点大小排序,然后记录上个点位置 las,对于每个点,有两种情况: la 阅读全文
posted @ 2020-07-10 20:34 Werner_Yin 阅读(171) 评论(0) 推荐(0) 编辑
摘要:有C个奶牛去晒太阳 (1 <=C & <= 2500),每个奶牛各自能够忍受的阳光强度有一个最小值和一个最大值(minSPFi and maxSPFi),太大就晒伤了,太小奶牛没感觉。 而刚开始的阳光的强度非常大,奶牛都承受不住,然后奶牛就得涂抹防晒霜,防晒霜的作用是让阳光照在身上的阳光强度固定为某个值。 那么为了不让奶牛烫伤,又不会没有效果。 给出了L种防晒霜。每种的数量和固定的阳光强度(coveri and SPFi)也给出来了 每个奶牛只能抹一瓶防晒霜,最后问能够享受晒太阳的奶牛有几个。 阅读全文
posted @ 2020-07-10 17:27 Werner_Yin 阅读(170) 评论(0) 推荐(0) 编辑
摘要:恰逢 H国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。 国王不希望某一个大臣获得特别多的奖赏,所以他想请你帮他重新安排一下队伍的顺序,使得获得奖赏最多的大臣,所获奖赏尽可能的少。注意,国王的位置始终在队伍的最前面。 阅读全文
posted @ 2020-07-09 22:18 Werner_Yin 阅读(252) 评论(0) 推荐(0) 编辑
摘要:原题 原题 思路 考场想复杂了,搞到自闭…… 实际上,因为差值不变,我们可以先差分,求$\gcd$,便得到答案(考场时想多了,想到了负数、正数各种复杂的处理,但是不需要),最后处理一下即可 代码 #include <cstdio> #include <cmath> #include <algorit 阅读全文
posted @ 2020-06-27 08:49 Werner_Yin 阅读(136) 评论(0) 推荐(0) 编辑
摘要:前言 当初思路 开始没想到异或这么多的性质,于是认为对于每个点$u$,可以和它连边的点$v$的点权 \(a_v=a_u \oplus k\)(证明:\(\because\) \(a_u\oplus a_v =k\) \(\therefore\) \(a_u\oplus a_v \oplus a_u= 阅读全文
posted @ 2020-06-27 07:37 Werner_Yin 阅读(113) 评论(0) 推荐(0) 编辑
摘要:思路 令 \(sq=\sqrt x\) ,则答案必然在 $ sq^2$ 和 \((sq+1)^2\) 之间,两者比较一下谁离 \(x\) 最近,就是答案了。 代码 #include <bits/stdc++.h> using namespace std; long long x,ans1,ans2, 阅读全文
posted @ 2020-06-27 07:34 Werner_Yin 阅读(133) 评论(0) 推荐(0) 编辑
摘要:考试拿到题,一看,这不是权值线段树吗? 思路 使用线段树每个节点维护该区间内元素出现次数。 根据题目,对于加入、删除元素,我们可以单点修改(\(+1\)、\(-1\)),对于输出,我们可 随便 遍历找一个出现次数为 $1$ 的元素即可。 代码 具体解释见注释 #include<bits/stdc++ 阅读全文
posted @ 2020-06-07 09:12 Werner_Yin 阅读(109) 评论(0) 推荐(0) 编辑
摘要:题意 给出一个字符串,只包含 \({1,2}\) 或 \({3}\) 。从中找出一个长度最短的子串,要求至少包含 \({1,2,3}\) 各一次,并输出其长度。 输入格式 本题有多组测试数据 第一行一个整数 \(t\) ,表示数据组数 接下来 \({t}\) 行,每行一个字符串 \(s\) ,它的每 阅读全文
posted @ 2020-06-07 09:11 Werner_Yin 阅读(213) 评论(0) 推荐(0) 编辑
摘要:题意 给出 \(n,m,k\) ,表示 \(k\) 名玩家打牌,共 \(n\) 张牌,\(m\) 张王,保证 \(k|n\) ,记得分为 拿到最多王的玩家手中王数 $-$拿到第二多王的玩家手中的王数,求得分最大值 思路 首先,每人有 \(n/k\) 张牌, 假设有玩家手气特好,抽一张一个王,那他最多 阅读全文
posted @ 2020-06-07 09:09 Werner_Yin 阅读(142) 评论(0) 推荐(0) 编辑
摘要:题意 有一个 n×m 的广场,其中一部分要铺地砖,地砖有两种, 1 × 1 和 1×2 的,后者只能横着铺,其中, 1 × 1的单价为 x , 1 × 2 的单价为 y , 输入这个广场,"."表示要铺地砖,求最少花费。注意,地砖不可重合,也不可覆盖在已铺地砖区域。 思路 这显然是贪心,分别计算全铺 阅读全文
posted @ 2020-06-07 09:07 Werner_Yin 阅读(217) 评论(0) 推荐(1) 编辑