线段 区间usaco hotel
线段树练习
# Ⅰ.差分与前缀和 ## P2184 贪婪大陆 **题意** :给定防线长度 $n$ 和操作次数 $m$, 每次在 [$l$ ,$r$] 内布下一种雷,查询区间雷的种类数。 **分析** : 用线段的方式表示区间布的雷 : ![](https://cdn.luogu.com.cn/upload/i ......
【LeetCode 2494. 合并在同一个大厅重叠的活动】MySQL用户变量编程解决区间合并问题
题目地址 https://leetcode.cn/problems/merge-overlapping-events-in-the-same-hall/ 代码 # Write your MySQL query statement below with t2 as( select * # 只需要改动这 ......
USACO23023DEC 题解
LG LG9979 [USACO23DEC] Target Practice S code LG9980 [USACO23DEC] Flight Routes G sol 1 已知邻接矩阵求路径数奇偶性是容易的,倒着做即可 bitset 实现。时间复杂度 \(O(\frac{n^{3}}{\omeg ......
P8649 [蓝桥杯 2017 省 B] k 倍区间
注意要把map[0]设置为1,因为根据题意,长度为1 的区间也要算进来 完整代码: #include <iostream> #include <map> #define int long long using namespace std; map <int, int> mp; //记录每个余数出现个 ......
李超线段树
李超线段树 李超线段树是一种求函数定点最值的线段树,思路高妙,用处也很广。 以模板题为例。 P4097 [HEOI2013] Segment 有 \(n\) 个操作,操作分两种。 在平面上加入一条线段,两端端点为 \((x_0,y_0)\) 和 \((x_1,y_1)\),第 \(i\) 条被插入的 ......
区间合并
区间合并 区间合并(模板) 题目 给定 n 个闭区间 [ai; bi],其中i=1,2,...,n。任意两个相邻或相交的闭区间可以合并为一个闭区间。例如,[1;2] 和 [2;3] 可以合并为 [1;3],[1;3] 和 [2;4] 可以合并为 [1;4],但是[1;2] 和 [3;4] 不可以合并 ......
R语言无套利区间模型:正向套利和反向套利次数、收益率分析华泰柏瑞300ETF可视化
全文链接:http://tecdat.cn/?p=31973 原文出处:拓端数据部落公众号 股指期货的套利交易有助于股指期货实现其价格发现以及风险规避的功能,因此提高套利交易的效率,对于发挥股指期货在经济发展中的作用有着重要的意义。 本文帮助客户对期货期现套利的研究。研究中主要以期货及其现货指数的数 ......
数据结构 - 线段树学习笔记
前言 果果终于讲线段树了 线段树太 TM 好用啦! But,强大的功能是需要码量来实现的。 定义 线段树是一种储存了一个序列的区间信息,并在各个区间中建立了关联的数据结构。 对于任意一个序列都可以建出它的线段树。 它是一颗完全二叉树,它的每一个节点都是一个区间。 对于每一个节点,其左儿子节点为这段区 ......
POJ3667 Hotel 题解
Question POJ3667 Hotel 旅店有 \(n\) 间连续的房间,操作有两种 D 入住,查询数量为 \(D\) 的连续房间,并且要最靠左,若能找到,则返回这个区间的左端点并占用这些房间,找不到则返回 \(0\) X D 退房,从房间 \(X\) 开始,退出连续长度为 \(D\) 的房间 ......
贪心区间覆盖
贪心区间覆盖 算法分析 #include<iostream> #include<algorithm> using namespace std; const int N = 100010; int n; struct Range { int l, r; bool operator< (const Ra ......
浅谈几类线段树、树状数组优化 DP
本文主要介绍几类线段树和树状数组优化动态规划的方法。 本文的理论部分比较简单,所以主要以题目讲解为主。 这是本蒟蒻的第一篇日报,如有问题,请指出,感谢。 Part 0. 前置知识 动态规划 线段树 Part 1. 属性在一个区间的进行转移 这是讨论的是形如 \(f_i=Y(i)+\max\limit ......
P9194 [USACO23OPEN] Triples of Cows P 题解
直接建边边数过多,不好处理。我们可以考虑建一些虚点,让 \(u_i\) 和 \(n+i\) 连边,\(v_i\) 和 \(n+i\) 连边。设这些新连的点为白点,与白点有连边的点在原图中一定相连,并且一定是一棵树。删除操作相当于把 \(u\) 的子白点连到他的父白点上,使用并查集维护即可。 这时再考 ......
线段树
线段树 引入 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。 线段树可以在 \(O(\log N)\) 的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。 线段树 线段树的基本结构与建树 过程 线段树将每个长度不为 \(1\) 的区间划分成左右两 ......
USACO23DEC Pt T1
想不到一点/ll 想不到一点/ll 首先考虑全是 1 的情况,不难想出一个贪心策略,每次选择深度最深的需要被覆盖的节点,然后倍增找到他的 $d$ 级祖先,记 $d$ 级祖先为 $p$,操作一次 $p$。容易发现这样一定不劣,因为这个节点一定要被干掉,操作 $p$ 的后代显然不如操作 $p$ 能处理的 ......
USACO 选做
\(\text{Permutation G}\) 题目描述 思路点拨 再开始的局面显然是一个三角形 \((A_i,A_j,A_k)\) ,考虑新增一个节点在什么情况下合法,这里分两类讨论: 新增节点 \(A_l\) ,满足 \(A_l\) 在三角形 \((A_i,A_j,A_k)\) 的内部。 新增 ......
P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G(memset用法)
P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G memset函数(引用知乎上的一篇文章) (更详细内容点击跳转) memset简介 memset是一个初始化函数,作用是将某一块内存中的全部设置为指定的值。 void *memset(vo ......
USACO23DEC Pt T3
首先要把 A 和 B 分别按顺序排序,然后有一个显然的思路是记录 $dp_{i,j,k,l,0/1,0/1}$ 表示 A 做到 $i$,B 做到 $j$,当前时刻是 $a_k+l\times T$,是 $a_k$ 还是 $b_k$,上一个走的 A 还是 B 的最小答案,转移比较简单,复杂度 $O(n ......
js约束区间的简单方法
这里不是使用Math.random()生成一个区间值,而是将一个变量约束在某一个区间,具体代码如下: const getRange = (value, max, min) => Math.max(Math.min(value, max), min) getRange(-100, 90, -90) / ......
USACO23DEC P
A. Cowntact Tracing 设病牛集合为 \(S\)。首先用多源 BFS 可以求出哪些位置可能初始有病,即满足 \(S_k(u) = \{v | d(v,u) \le k\} \in S\) 的所有 \(u\)。有解当且仅当这些位置全染上之后合法,这个可以再跑一次多源 BFS 看看是不是 ......
P2911 [USACO08OCT] Bovine Bones G
原题链接 题解,\(O(1)\)做法 简述 先从两个骰子入手,得出\([b+1,a+1]\)内的数出现次数最多 然后再加一个骰子相当于把分布图向右平移c个单位的过程中,每平移一个单位的长度累加和,也就是以c为宽的矩形方框的截面积 然后分类讨论,一定是把方框放在中间偏左位置是最优解 code #inc ......
Unity简单湖面水特效——(通过修改网格顶点,在一定区间内波动)
using UnityEngine; public class OceanWave : MonoBehaviour { //海浪的速度 public float waveSpeed = 1f; //海浪的大小 public float waveScale = 0.5f; //海浪的高度 public ......
[USACO11OPEN] Corn Maze S
[[USACO11OPEN] Corn Maze S](https://www.luogu.com.cn/training/311806#problems)# 这道题就是一个BFS的题,因为他要求最短路径而不是方案数,还行吧,想明白了就不难。这道题如果去掉了传送门的话就太简单了,但是又了这个传送门就 ......
[USACO1.5]八皇后 Checker Challenge
这道题很明显就是用深度优先搜索,也就是DFS 那到底要怎么去DFS呢? 它说行,列,两条对角线不能在一起。所以DFS的行参就可以是行,再用一个数组存列,两个数组去存放两条对角线。(注:存两个对角线的要是行的2倍,要不然会数组越界 ) 那么还有一个问题,就是每一种方法存的答案。 可以用一个a数组去存放 ......
P3372 【模板】线段树 1
原题链接 题后感 码量也太大了吧 小记 题解网上有,但是有关这个lazytag我要提一嘴,我建议不要记它,你只需知道修改的区间没有整体破坏时,其内部的元素内容暂不做修改 code 码量真大 #include<bits/stdc++.h> #define ll long long using name ......
P10009 [集训队互测 2022] 线段树 题解
题目链接:P10009 [集训队互测 2022] 线段树 神仙分块题,先给一下出题人的神仙官解:官解 前面还看得懂。后面是啥?这不是 ds 题咋和 dp、轮廓线扯上关系了。看了半天,还是这个启发了我: 其手玩下,在 Excel 里写一下,可以理解到这里其实是想表达的一个核心意思是啥:对于一组序列而言 ......
Rust实现线段树和懒标记
参考各家代码,用Rust实现了线段树和懒标记。 由于使用了泛型,很多操作都要用闭包自定义实现。 看代码。 // 线段树定义 pub struct SegmentTree<T: Clone> { pub data: Vec<T>, tree: Vec<Option<T>>, marker: Vec<T ......
线段树笔记
例\(1\) 题目描述 给定一个长为\(n\)的序列,有\(m\)次操作,每次操作为以下三种之一。 修改序列中的一个数 求序列中某连续一段所有数的两两乘积的和\(\text{mod} 1000000007\)。 求序列中某连续一段所有相邻两数乘积的和\(\text{mod} 1000000007\) ......
P2898 [USACO08JAN] Haybale Guessing G 题解
题目传送门 前置知识 二分答案 | 并查集 解法 对条件的合法性判断其他题解已经讲得很明白了,这里不再赘述。这里主要讲一下用并查集实现黑白染色问题。 以下内容称被覆盖为黑色,不被覆盖为白色。 本题因为是单向染色,即从白到黑,故可类似 luogu P1840 Color the Axis 和 D 的并 ......
动态区间第K小数
![](https://img2023.cnblogs.com/blog/2490134/202312/2490134-20231230165425357-841554125.png) ![](https://img2023.cnblogs.com/blog/2490134/202312/24901... ......
[USACO07DEC] Sightseeing Cows G
[USACO07DEC] Sightseeing Cows G 题目描述 Farmer John has decided to reward his cows for their hard work by taking them on a tour of the big city! The cows ......