[AtCoder ARC077 .E] [扫描线] [乱搞]guruguru

思科路由器IPv6各种路由协议配置 思科路由器IPv6路由协议配置:1、静态路由配置;2、默认路由配置;3、RIPng路由配置;4、OSPFv3路由配置。 阅读详情

一次从a到b的变化可以看成一个(a,b)(a< b),或(a,m),(0,b)(a>b)的线段
可以枚举favorite值,用扫描线记录穿过了多少线段,那么从左端点到favorite值的部分就可以省去,注意a>b的情况,当穿过(0,b)的线段时,还要把(a,m)的部分删去

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#define fi first
#define se second

using namespace std;

const int N=200010;

typedef long long ll;

int n,m,cnt,a[N];
struct stp{
  int fi,se,lk;
  stp(int x=0,int y=0,int z=0):fi(x),se(y),lk(z){}
  friend bool operator <(stp a,stp b){
    return a.fi>b.fi;
  }
}p[N];

priority_queue<stp> Q;

inline char nc(){
  static char buf[100000],*p1=buf,*p2=buf;
  return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}

inline void rea(int &x){
  char c=nc(); x=0;
  for(;c>'9'||c<'0';c=nc());for(;c>='0'&&c<='9';x=x*10+c-'0',c=nc());
}

inline int cmp(stp a,stp b){ return a.fi<b.fi; }

int main(){
  rea(n); rea(m);
  for(int i=1;i<=n;i++) rea(a[i]);
  for(int i=1;i<n;i++){
    if(a[i]<a[i+1]) p[++cnt]=stp(a[i],a[i+1]);
    else p[++cnt]=stp(a[i],m),p[++cnt]=stp(0,a[i+1],m-a[i]);
  }
  ll ans=1LL<<60,cur=0;
  for(int i=1;i<=cnt;i++) cur+=p[i].se-p[i].fi;
  sort(p+1,p+1+cnt,cmp); int q=1;
  for(int i=1;i<=m;i++){
    while(!Q.empty()&&Q.top().fi<i)
      cur+=Q.top().fi-Q.top().se-1+Q.top().lk,Q.pop();
    cur-=Q.size();
    while(q<=cnt&&p[q].fi<i)
      cur-=i-p[q].fi+p[q].lk-1,Q.push(stp(p[q].se,p[q].fi,p[q].lk)),q++;
    if(cur<ans) ans=cur;
  }
  cout<<ans<<endl;
  return 0;
}
从零构建:用Arduino和MCP2515模块搭建你的第一个CAN Bus网络 本文详细介绍了如何使用Arduino和MCP2515模块从零搭建CAN Bus网络,实现温湿度数据的传输与显示。涵盖硬件连接、软件配置、发送端与接收端代码实现,以及系统调试和进阶应用,帮助初学者快速掌握CAN总线通信技术。 阅读详情

相关推荐

基于Openrouter的API调用免费大模型

Openrouter 是一个 AI 模型聚合平台,整合了全球 200 多种主流 AI 模型,包括 GPT-4、Claude、Gemini 等,以及国产通义千问、DeepSeek 等。其核心优势是统一的 API 设计,开发者仅需少量代码即可与多个模型交互,还支持自动路由与回退机制。用户可通过 OpenAI SDK 或 LangChain 调用 Openrouter 中的模型。

MurphyStar的博客 6200

[arc077e]guruguru

题目大意有一个台灯,等级为1~m的一个整数。 有一个喜爱等级x,你每次操作可以让台灯等级+1(m+1会变成1)或变成x。 现在你要完成台灯等级从ai变成ai+1这n-1个操作。 如何选择x能使操作次数最小。做法每次可以讨论出某些区间需要变成x然后到达ai+1比较优还是直接加到ai+1比较优。 然后打上对应前缀tag,最后顺序扫一遍找一个最小的。#include<cstdio> #includ

不来也不去的一只失忆蝴蝶 839

Rocky Linux 9.2:利用LVM动态调整/home与/根分区空间分配

本文详细介绍了在Rocky Linux 9.2系统中,如何利用LVM(逻辑卷管理器)动态调整/home与根分区(/)的空间分配。针对根分区空间不足而/home分区闲置的常见问题,文章提供了从检查磁盘布局、备份数据、卸载分区、调整逻辑卷大小到重建文件系统的完整操作步骤,并重点说明了XFS与EXT4文件系统在缩容时的不同处理方法,帮助系统管理员安全、在线地实现存储空间的灵活调配。

weixin_29271263的博客 177

ARC 077 E guruguru - 差分

题目大意:走n-1步每次从a_i走到a_{i+1},每次位置+1(循环意义下)或者位置=x。求最小的x使得步数之和最小。1e5。 题解:显然直接维护a[i]为x取i时能够节省的答案,相当于是等差数列加法,差分差分然后前缀和前缀和即可。 #include&lt;bits/stdc++.h&gt; #define gc getchar() #define rep(i,a,b) for(int i=a;...

Mys_C_K的博客 278

Python+Tableau 全流程数据分析实战:从数据清洗到商业洞察可视化

本文通过Python+Tableau完整演示电商销售数据分析流程。首先使用Python进行数据清洗(缺失值处理、异常值过滤等)和探索性分析(商品类别、时间趋势等),然后导入Tableau创建交互式可视化仪表盘。分析发现电子产品销售额最高但利润率低,美妆类利润率最优,东部地区销售表现最好。最终提出优化供应链、加强美妆推广等商业建议,展示了Python数据处理与Tableau可视化的高效配合。所有代码可直接运行,适合数据分析初学者和从业者实战参考。

weixin_44520581的博客 337

如何理解反步法设计控制器?

假设以二阶系统为例,被控对象的系统状态方程为: 基于反步控制的具体方法如下: 1.1步骤一 定义期望状态为xd,状态误差e1,为: e1=x1-xd; 则e1的导数为: 1.2步骤二 定义虚拟控制量为: e2定义为: 1.3步骤三 定义Lyapunov能量函数为: 1.4步骤四 定义总Lyapunov能量函数为: 因此设计的控制律为: 设计c>0,则: 满足Lyapunov的稳定性判定条件...

weixin_42736130的博客 2万+

ARC077E - guruguru(差分)

ARC077E - guruguru Solution 考虑每一次改动对于每一个xxx的影响。 设我们要从aaa变到bbb。 当a−>x−>ba->x->ba−>x−>b时,该次对xxx的贡献为Da,b−Da,x+1D_{a,b}-D_{a,x}+1Da,b​−Da,x​+1,即一个公差为111的递减序列,差分维护ci,dic_i,d_ici​,di​分别表示当前位置新增的序列个数和这个位置新增序列的aaa的贡献,从前往后递推即可。 当a−>b−>xa-&gt

xmr_pursue_dreams的博客 269

KITTI数据集下载及解析

KITTI数据集下载及解析 版本 更新时间 更新内容 作者 1 V 1.0 xxx 完成主体内容 W. Xiao 2 文章目录KITTI Dataset1 简介1.1 数据采集平台1.2 坐标系2 数据解析2.1 image文件2.2 velodyne文件2.3 calib文件2.4 label文件3 KITTI可视...

u013086672的博客 5万+

(AtCoder Beginner Contest 346) (G 扫描线+数组转化成二维)

那么就变成一个矩阵,左下角是(l,i)右上角是(i,r)对于矩阵每个点都是合法的,所以变成扫描线求不重复的点对。正常是 两个区间长度相乘,但是这个题目会重复。所以问题转化成一个二维坐标。如果左边区间是[l,i]右边区间是[i,r]

qq_61657632的博客 356

从零到一:RF-DETR如何通过神经架构搜索重塑实时目标检测的边界

RF-DETR通过创新的权重共享神经架构搜索(NAS)机制,重新定义了实时目标检测的技术边界。这项技术在COCO等基准测试中表现卓越,成为首个AP超过60的实时检测器,同时保持跨领域稳定性和高效推理速度。RF-DETR的动态架构调整能力使其能够适应从嵌入式设备到云端服务器的各种硬件环境,为工业质检、自动驾驶等场景提供灵活解决方案。

weixin_29061531的博客 469

1 电科院FTU检测标准学习笔记-外观检查

作者简介:本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验。

sixtome 1849

AtCoder Beginner Contest 186F Rook on Grid | 扫描线、树状数组

本来ak完这场atcoder想写个全部题解,但是前面的题实在没意思.. 就只写一下这个题吧. 题目大意: 现在有一个n*m的矩阵,在(1,1)位置机器人,它每次可以向右移动任意格或者向下移动任意格(在没有障碍物的情况下)。 现在给出k个障碍物,询问有多少点机器人可以通过最多移动两次到达 题目思路: 题意明确以后,自然会快就会出现一个思路: 对于每一个点只有两个状态: 1.先向上移动到第一行,之后向左移动到第一列 2.先向左移动到第一列,之后向上移动到第一行 由于n和m的范围太大,所以

一只酷酷光儿的博客 637

在移动固态上安装ubuntu系统,重启后卡住报错:blk_update_request: I/O error, dev sda, sector ... op 0x0 (READ)如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1798

atcoder库中的网络流用法

【代码】atcoder中的网络流库用法。

zhangtingxiqwq的博客 464

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Atcoder - 091C 扫描线 and Atcoder - 062D 优先队列 + 前后缀和

<Atcoder - 091C> 扫描线 https://atcoder.jp/contests/abc091/tasks/arc092_a 题意: 有n个红点,n个蓝点,所选的红点和蓝点能够成友好的条件是:红点的横纵坐标分别小于蓝点的横纵坐标。取过的点不能重复取,问最多能构成几对友好。 思路: 定义结构体,将所有红点蓝点统一按照x升序排列。然从后往前扫,碰到蓝点就传入set...

FrozenAllen的博客 836

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

AtCoder Beginner Contest 205F题Grid and Tokens(网络流)

题目链接 大概意思是一个H*W的网格中,有N个点,坐标待取值,坐标有如下N个范围 现在每个点不能有行相同或者列相同的,问最多能放多少个点上去。 emmm 这个显然是网络流 建模大概长这样子 #include <bits/stdc++.h> #include <stdlib.h> #include <algorithm> #include <stdio.h> #include <string.h> #include <queue>

weixin_45948940的博客 346

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

AtCoder Beginner Contest 355 D - Intersecting Intervals 一维扫描线,有多少对相交线段

来了新边,算他此刻与多少条边相交,加到总数中。从左往右扫描,记录当前边数。

JK01WYX的博客 451

AtCoder Beginner Contest 263 G.Erasing Prime Pairs(二分图最大匹配-网络流)

LINE Verda Programming Contest(AtCoder Beginner Contest 263)D.Erasing Prime Pairs(二分图最大匹配-网络流)

小衣同学的博客 618

Atcoder ARC 077 E - guruguru 差分

题意: 你有一个遥控器用来控制电视亮度m,遥控器上有两个按键,现在要确定一个“喜欢”亮度,使得操作次数最少。 按键: 每次把亮度+1,当亮度等于m时,按下按键亮度会变成1。 按下按键会直接将亮度调整的你最初设定的“喜欢”亮度。 数据范围: 2≤n,m≤1052≤n,m≤10^5 1≤ai≤m1≤ai≤m ai≠ai+1ai≠ai+1 算法: 开一

Cherries 1186

AtCoder Regular Contest 077 E - guruguru(贪心+差分标记)

题目链接http://arc077.contest.atcoder.jp/tasks/arc077_c题目大意有一个m级调光的灯,他有两个键,一个可以使亮度+1, 一个可以使灯到指定亮度, 如果亮度为m时再按第一个键,亮度会变为1 给你n个亮度,问你从亮度1开始模拟n个亮度最小按键次数是多少思路设cnt[i]表示第二个键设在i位置能比按第一个键节省的按键次数设l = op[i], r = op[i

lin的博客 705

AtCoder4505 [AGC029F] Construction of a tree(二分图+网络流+dfs+构造)

神仙构造完全不是吾等凡人能懂。

1065

AtCoder Regular Contest 107 F - Sum of Abs(网络流最小割)

题目链接 题意就是给定一个无向图,每个点有权值ai,bia_i,b_iai​,bi​,现在需要删去其中的一些点,其中删去一个点的花费为aia_iai​,删点后的图的分数为每一个联通块的分数之和,一个联通块的分数是这个联通块的点的bib_ibi​的和的绝对值。要求删点后的图的分数减去删点的花费的最大值(n,m<=300n,m<=300n,m<=300) 很妙的最小割题 对于一个联通块,取绝对值之后就是这个联通块内的所有点的和乘上+1或者-1 这样我们就可以考虑给每一个没有删去的点赋上一个额外

一个蒟蒻的博客 630

AtCoder AGC034D Manhattan Max Matching (网络流)

题目链接 https://atcoder.jp/contests/agc034/tasks/agc034_d 题解 降智了没想出来建图……(不过这场是真的DE放反了) 注意到曼哈顿距离有一个重要的性质: 合法的最大,也就是对于任意维数两个点的曼哈顿距离而言,假设我们把每个绝对值符号任意地改变成正号或者负号,那么合法的(实际的)曼哈顿距离是这所有值里最大的。证明显然。 那么既然我们求的是最...

suncongbo's blog 423

AtCoder Regular Contest 061 E - Snuke‘s Subway Trip(建图 + dijkstra最短路 / 0/1bfs / 并查集)

这个建图啊啊啊,差一点点就那么一点点!!

294

【ARC106E】 Medals 【网络流】【最小割】【FWT】

题意 有NNN个人(N≤18N\leq 18N≤18),第iii个人出现AiA_iAi​天然后消失AiA_iAi​天(Ai≤105A_i\leq 10^5Ai​≤105),循环下去。每天可以给某一个出现的人发一块奖牌,问最少要多少天才能让任意一个人都有至少KKK块奖牌(K≤105K\leq 10^5K≤105)。 分析 首先二分答案,这样就转化为了一个判定性问题。 考虑一个简单的网络流建模,SSS向每个人连一条容量为KKK的边,每个人向他出现的一天连一条容量为111的边,每一天向TTT连一条容量为111的边

2016gdgzoi471 387
上一篇: [BZOJ4923][Lydsy六月份月赛 .G][平衡树]K小值查询
下一篇: [AtCoder ARC077 .F] [字符串] [乱搞] SS
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值