摘要: 1101模拟题解 T1 贪心: 将物品按$a_i$降序排序,如果有$a_i$相同的情况则按升序排序。 显然小A每次会选择排序后未被选取的最靠前的一项。 两个人轮流取,小B在任意前$i$件物品中最多能选取$\lfloor \frac{i+k}{2} \rfloor$件物品。 在此约束下的目标是求出所取 阅读全文
posted @ 2020-11-02 09:28 Luo_Feng_Han 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 万恶的模拟 D1T1 题目要求比较给出的字符串无限循环的大小。 转化为:比较$a+b$和$b+a$的大小 D1T2 将式子两边平方后转化为: \[ \sum^n_{i=1}\sum^n_{j=1}\sqrt{x_i}\sqrt{x_j}=m \] 发现$x_i$、$x_j$包含2个不同的质数它们相乘 阅读全文
posted @ 2020-10-30 07:19 Luo_Feng_Han 阅读(38) 评论(0) 推荐(0) 编辑
摘要: T1 惊了…… 非常简单的一道题。 嘶,好吧其实也不算特别简单。 因为要考虑最长公共子序列并排序。 考虑一颗Trie树。 然后按照字典序排序即可。 交换的过程就是将$1,2\cdots n$ 排序成排序的过程。 T2 贪心思路:每次选择最大的减少 实现方法:线段树上二分 T3 没图,略。 阅读全文
posted @ 2020-10-29 07:49 Luo_Feng_Han 阅读(45) 评论(0) 推荐(0) 编辑
摘要: ![](https://img2020.cnblogs.com/blog/2155851/202010/2155851-20201025135443214-1275704590.png) 阅读全文
posted @ 2020-10-25 13:57 Luo_Feng_Han 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 数据结构 栈 栈是$OI$中常用的一种线性数据结构,请注意,本文主要讲的是栈这种数据结构,而非程序运行时的系统栈/栈空间。 栈的修改是按照后进先出的原则进行的,因此栈通常被称为是后进先出$(last~ in first ~out)$表,简称 LIFO 表。 元素访问: s.top()返回栈顶 容量: 阅读全文
posted @ 2020-10-12 20:31 Luo_Feng_Han 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 博弈论 一、博弈树 在组合游戏论中,博弈树是每个节点都表示一个游戏状态的有向图,图中的有向边是游戏中的某一步。 一颗完整的博弈树,包含了从雏实游戏状态开始以及所有可达状态的所有可能的移动。 终止状态 博弈树中的叶子结点是指没有后继状态的结点(表示游戏结束时的游戏状态)。 在叶子结点对应的状态中,由于 阅读全文
posted @ 2020-10-11 22:20 Luo_Feng_Han 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 差分 定义 差分十一种和前缀和相对的策略,可以当作是求和的逆运算。 这种策略的定义是令 $ \begin a_i-a_i\in[2,n]\ a_1~~~~~~~~~~~i=1 \end $ 简单性质: $a_i$的值是$b_i$的前缀和,即$a_n=\sum^n_b_i$ 计算$a_i$的前缀和$s 阅读全文
posted @ 2020-10-10 14:07 Luo_Feng_Han 阅读(234) 评论(0) 推荐(0) 编辑
摘要: update 1009睡觉前,更新了多维前缀和和树上前缀和 前缀和 前缀和 定义 前缀和是一种重要的预处理,能大大降低查询的时间复杂度。 可以简单理解为“数列的前$n$项的和”。 实现非常简单。 开两个数组$A[n],B[n]$。 然后把$A$数组前$n$项累加放入$B$数组。 代码实现: B[i] 阅读全文
posted @ 2020-10-09 16:14 Luo_Feng_Han 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 快读和快写 快读 inline int read(){ int s=0,w=1; char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();} while(ch>='0'&&ch<='9') s=s*10+ch-'0' 阅读全文
posted @ 2020-10-09 16:04 Luo_Feng_Han 阅读(100) 评论(0) 推荐(0) 编辑
摘要: Floyd Floyd 弗洛伊德算法 用来求图中所有点的最短路径。 使用邻接矩阵进行存图。 时间复杂度$O(n^3)$ 基本思想: 找一个点 找出最短距离 找下一个点qwq 代码实现: for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1 阅读全文
posted @ 2020-10-09 16:02 Luo_Feng_Han 阅读(79) 评论(0) 推荐(0) 编辑