线段 区间usaco hotel
Git-统计每天特定时间区间代码提交次数-非上班时间代码提交
git-code-specific-time-of-day.sh #!/bin/bash total_count=0 # 获取最早的提交日期 first_commit_date=$(git log --pretty=format:'%ad' --date=format:'%Y-%m-%d' | so ......
【模板】李超线段树 / [HEOI2013] Segment
李超线段树是一种用于维护平面直角坐标系内线段关系的数据结构,插入直线/线段,支持查询单点极值 李超树的经典应用是斜率优化,可以看下这篇文章 李超线段树没有用懒标记实现区间修改,而用的是标记永久化 其实标记永久化与我们对lazy标记的理解非常相同,可以看看LYD蓝书上对标记永久化的解释,都是累积某个节 ......
反转链表指定区间
描述 将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n),空间复杂度 O(1)。 例如: 给出的链表为 1→2→3→4→5→NULL, m=2,n=4, 返回 1→4→3→2→5→NULL. 数据范围: 链表长度 0<size≤1000,0<m≤n≤size ......
USACO 2023DEC Bronze
http://www.usaco.org/index.php?page=dec23results 摆了一晚上,十点多才开,以为都是 sb 题,结果我是 sb T1 交了个暴力过了才意识到复杂度是对的 T2 奇偶长度没判清楚 WA 了一发 T3 不知道为啥排好序后非要比 \(O(n^{2})\) 对, ......
P2865 [USACO06NOV] Roadblocks G
原题链接 题解 1.在处理最短路的时候,我们采用优先队列的方法,即第一个出现的点一定是最小的,之后出现的点都是在其他点的基础上叠加的值,肯定不小于第一个。那么依然是这个思路,第二个出现的点一定是次短的。 代码 #include<bits/stdc++.h> using namespace std; ......
P1339 [USACO09OCT] Heat Wave G 最短路入门题 Dijkstra/SPFA/Dijkstra+优先队列优化
目录朴素的 Dijkstra 算法SPFA 算法Dijkstra + 优先队列优化 题目链接:https://www.luogu.com.cn/problem/P1339 题目大意:无向图有单源最短路。 朴素的 Dijkstra 算法 时间复杂度 \(O(n^2)\)。 #include <bits ......
lazy线段树模板
import java.io.*; import java.util.*; public class Main { static int N = (int)1e5+10; static long[] arr = new long[N]; static long[] sum = new long[N< ......
USACO 2023 Pt T2
有趣的小清新数据结构题。 首先考虑这个合并每次找到最小的边的过程很类似于 Kruskal 最小生成树的合并过程,只不过每次是钦定了合并一个大联通块和一个点。由于需要从不同的起点开始考虑,也就是需要多次处理这个类似 Kruskal 的过程,自然想到 Kruskal 重构树。我们考虑建出 Kruskal ......
线段树板子
package ICPC; import java.util.*; import java.math.*; import java.io.*; import java.text.DecimalFormat; import java.text.NumberFormat; class node{ int ......
区间估计(一个参数&两个参数的区间估计)
一个参数的估计 估计均值 def mean_interval(mean=None,std=None,n=None,confidence=0.95): """ """ alpha=1-confidence z_score=ss.norm.isf(alpha/2) me=z_score*std/np.s ......
背包+区间总结
背包 DP http://oi.nks.edu.cn/zh/Contest/Details/2519 背包和其他 DP 的不同在于,背包将物体的“代价”加入了状态,以此更好地转移 背包中最典型的的模型是 \(01\) 背包和完全背包,更难的需要用玄学做法和数据结构进行优化 单调队列优化多重背包 将背 ......
P3612 [USACO17JAN] Secret Cow Code S
P3612 [USACO17JAN] Secret Cow Code S 自我感想 哎,又是一道写不出来的。 完全没有这样的思路,只会笨b模拟只能得40. 解题前应该的思考 通过题目给的数据可以知道纯暴力模拟肯定爆空间。(基本否定正推) 这里根据题目所说的,其实可以知道是一个初字符串通过固定的规律形 ......
线段树 2
由于有两个操作,我们要对乘法和加法设置一个优先级 我们来看看先乘后加,lazy2表示乘数,lazy1表示加数(前者初始值为\(1\),后者初始值为\(0\)) 根据我们对lazy的理解,一个节点的和的真实值,为这个节点到根节点的路径中,对每一个节点依次先乘lazy2再加lazy1得到的最终结果 假设 ......
SDUT OJ——基于hh的项链的维护区间种类数
hh的项链:不带修改维护区间种类数 https://www.luogu.com.cn/problem/P1972#submit 山东理工大学系列赛 https://acm.sdut.edu.cn/onlinejudge3/contests/4125/problems/D Description 给定 ......
【每周例题】蓝桥杯 C++ 区间最大和
区间最大和 题目 蓝桥杯 区间最大和 题目分析 这道题涉及到了区间问题,我们首先要了解规定的该区间范围:1<p且p+k 一1 <n,我们将其转化:1<p<n-k+1,当我们得到这个区间的时候,需要求该区间的最大和可以用双重for循环搞定。 代码 #include <iostream> using n ......
线段树例题
目录线段树例题P3372 【模板】线段树 1题目描述解题思路CodeP3373 【模板】线段树 2题目描述解题思路CodeP6492 [COCI2010-2011#6] STEP题目描述解题思路CodeP2184 贪婪大陆题目描述解题思路CodeP4588 [TJOI2018] 数学计算题目描述解题 ......
线段上离p最近的点 - 投影方式
判断依据 1) 投影结果<0,则线段端点a离p最近 2) 投影结果>线段ab的长度,则线段端点b离p最近 3) 否则p在线段上的垂点为最近点 p与ab不共线时 1) p在线段两侧 2-a) p在线段内侧 2-b) p在线段内侧2 p与ab共线时 1) p在线段两侧 2-a) p在线段内侧 2-b) ......
动态开点线段树如何开空间
昨天模拟赛开小了导致 \(100\to 70\) 沦为暴力同分。遂记之。 单点修改 \(m(\log V+\delta)\)。 区间修改 \(2m(\log V+\delta)\)。注意这个 \(2\),就很灵性啊。(欸真的是 \(2\) 嘛) 关键在于 1G 空间用了 200M 还乱开小空间的行为 ......
区间连续值
![](https://img2023.cnblogs.com/blog/2490134/202312/2490134-20231221221411670-592967635.png) ![](https://img2023.cnblogs.com/blog/2490134/202312/24901... ......
吉司机线段树
\(mxb\) 为历史最大值,\(tg1,tg2,tg3,tg4\) 分别对应最大值真实 \(tag\) ,其他值真实 \(tag\) ,最大值最大 \(tag\) ,其它值最大 \(tag\) #include<bits/stdc++.h> using namespace std; #define ......
线段树与历史最值和区间最值问题
线段树与历史最值问题 P4314 CPU 监控 Description 给定数组 \(\{a_i\}\),维护以下操作。定义一个辅助数组 \(\{b_i\}\),每次操作完后令 \(b_i=\max(a_i,b_i)\)。 查询 \(\max_{i=l}^{r} a_i\)(区间最值) 查询 \(\ ......
区间区间并
区间区间并 对于区间区间并这类问题,可以枚举某个段看是否被统计 但存在类问题不好统计 我们考虑转化为求和形式: 即** 在范围内包含这个段的区间个数-相邻两个都在范围内且包含这个区间的个数** ,这样可以用类似扫描线、差分的方式来统计 几道类似题: 差分+双指针维护 扫描线+树状数组 ......
USACO P 记录
2022 December Contest T2 Making Friends 答案是最后的总边数减去 \(m\)。 连边常用的优化方法是两两之间互相连边只连到一个点上去。这边尝试连到最小的点上。 考虑正确性。假设 \(i\) 删掉了,那么他现在相邻的点数要加入答案。设它相邻的最小点为 \(j\)。 ......
USACO2023 Cu,Ag,Au 题解
晚上没事干,于是写了。 Cu:1 h 25 min Ag:2 h 40 min Au:2 h 15 min 做最久的竟然是 Ag T1。 Cu T1 诈骗题,做了 50 min。考虑如果越过了 \(a_i\) 往后走,那么 \(a_i\) 的高度至少翻了一倍。 直接模拟即可。 #include<bi ......
syoj.1827. 线段传送带题解
前情提要-三分 1827. 线段传送带 P2571 [SCOI2010] 传送带 省流:三分套三分。 在二维平面上有两个传送带,一个从 A 点到 B 点,一个从 C 点到 D 点,速度分别是 p 和 q,在平面内其他点的速度为 r。求 A 点到 D 点的最小速度。 考虑从 A 到 D 的路程一定是 ......
[USACO2021JAN] Minimum Cost Paths P
[USACO21JAN] Minimum Cost Paths P 题目描述 Farmer John 的牧草地可以看作是一个\(N×M\)(\(2≤N≤10^9, 2≤M≤2⋅10^5\))的正方形方格组成的二维方阵(想象一个巨大的棋盘)。对于 \(x∈[1,N],y∈[1,M]\),从上往下第 \ ......
P3071 [USACO13JAN] Seating G 题解
题意:维护两个操作,区间推平,求连续 \(0\) 的个数为 \(x\) 的最前位置。 线段树。 因为需要求连续 \(0\) 的个数,所以维护区间左边连续 \(0\) 的最大个数,区间右边连续 \(0\) 的最大个数以及区间连续 \(0\) 的最大个数。 注意修改的时候要看是修改为 \(1\) 还是修 ......
P7532 [USACO21OPEN] Balanced Subsets P 题解
原题链接:P7532 前言 这道题是今天 NOIP 模拟赛的 T1,赛时只有 5 分。 题意 简化一下题意,即在一个 \(n\times n\) 的方阵中,求出有多少个满足条件的连通块,使得: 同一行或列的两点中间没有空 连通块内全是草 可以发现,其实连通块就是一个凸多边形。 思路 很显然,这道题是 ......
线段树详解
定义 什么是线段树 线段树是一种二叉搜索树,每个节点都存储了一个区间的问题。 能够解决的问题 序列维护修改以及查询区间上的最值、求和等,修改和查询的时间复杂度为 \(O\)(\(log\) \(n\))。 与其他 RMQ 算法的区别 算法 适用范围 优点 缺点 线段树 动态 可执行的操作多 常数大 ......