2014-2015 ACM-ICPC, Asia Tokyo Regional Contest C題:Shopping [贪心+并查集]

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest 文章目录2014-2015 ACM-ICPC, Asia Tokyo Regional ContestA.Bit String ReorderingB.MiscalculationC.ShoppingD.Space GolfF.There is No AlternativeG.Flipping Parentheses 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest A.Bit String Reordering B.Miscalculation C.S 阅读详情

题意:给出N+2个点,每个点的编号为0...N+1,每一对点之间有一条长度为两者编号差的边,问走遍所有点且满足一些约束条件下,从0号点到N+1号点的最短路是多少。约束条件有M个,每一个约束条件给出一个X,Y,表示走X点之前必须先走Y点。(X可能对应多个Y,X<Y)

范围:N<=1000,M<=500 

解法:首先贪心发现,如果有一对点X,Y,那么必然要先从X点走到Y点,那么这之间的点为何不都直接走呢?然后从Y再走到X点,这时候因为下标递减,所以这些点大部分都会被满足,假设不满足的点是X2,Y2,那么Y2必然大于Y,这时候只要一开始走到Y2,然后再走到X就好啦,而且这样是更优的,因为X2到Y1这段路走的次数减少了。所以只要建立并茶集,对于每对点X,Y,把X至Y这些点都并到一个集合里,并且记录这个集合里的最大值Max和最小值Min,因为要满足约束条件,所以再往回走一遍,多走的路程为2*(Max-Min),累加起来,再加上N+1就是答案啦。(N+1是原本就要走的路程...)

代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<iostream>
#include<stdlib.h>
#include<set>
#include<map>
#include<queue>
#include<vector>
#include<bitset>
#pragma comment(linker, "/STACK:1024000000,1024000000")
template <class T>
bool scanff(T &ret){ //Faster Input
    char c; int sgn; T bit=0.1;
    if(c=getchar(),c==EOF) return 0;
    while(c!='-'&&c!='.'&&(c<'0'||c>'9')) c=getchar();
    sgn=(c=='-')?-1:1;
    ret=(c=='-')?0:(c-'0');
    while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
    if(c==' '||c=='\n'){ ret*=sgn; return 1; }
    while(c=getchar(),c>='0'&&c<='9') ret+=(c-'0')*bit,bit/=10;
    ret*=sgn;
    return 1;
}
#define inf 1073741823
#define llinf 4611686018427387903LL
#define PI acos(-1.0)
#define lth (th<<1)
#define rth (th<<1|1)
#define rep(i,a,b) for(int i=int(a);i<=int(b);i++)
#define drep(i,a,b) for(int i=int(a);i>=int(b);i--)
#define gson(i,root) for(int i=ptx[root];~i;i=ed[i].next)
#define tdata int testnum;scanff(testnum);for(int cas=1;cas<=testnum;cas++)
#define mem(x,val) memset(x,val,sizeof(x))
#define mkp(a,b) make_pair(a,b)
#define findx(x) lower_bound(b+1,b+1+bn,x)-b
#define pb(x) push_back(x)
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;


#define NN 100100
int a[NN],n,m;
int f[NN],minv[NN],maxv[NN];
int find(int x){
    while(x!=f[x]){
        f[x]=f[f[x]];
        x=f[x];
    }
    return x;
}
void connec(int x,int y){
    int i=find(x);
    int j=find(y);
    if(i==j)return;
    minv[j]=min(minv[i],minv[j]);
    maxv[j]=max(maxv[i],maxv[j]);
    f[i]=j;
}
bool vis[NN];
int main(){
    scanff(n);scanff(m);
    rep(i,1,n){
        f[i]=i;
        minv[i]=i;
        maxv[i]=i;
    }
    rep(i,1,m){
        int l,r;
        scanff(l);
        scanff(r);
        rep(i,l,r-1)connec(i,i+1);
    }
    int ans=n+1;
    rep(i,1,n)vis[find(i)]=1;
    rep(i,1,n){
        if(vis[i])ans+=2*(maxv[i]-minv[i]);
    }
    printf("%d\n",ans);
    return 0;
}


Netapp FAS2750更换磁盘后不同步问题处理 netapp fas2750磁盘更换后不同步问题处理 阅读详情

相关推荐

抖音X-Medusa风控逆向:unidbg环境重建与魔改AES还原

X-Medusa并非传统加密算法,而是深度耦合运行时环境的动态混淆系统,其核心是硬件指纹感知、线程上下文绑定与非标AES变异。理解其原理需跳出‘找密钥’思维,转向对CPU型号、系统属性、微秒级时间及内存布局的综合建模。技术价值在于将不可控的客户端风控,转化为可复现、可配置、可运维的服务化能力;典型应用场景包括合规数据采集、API协议适配与移动安全研究。本文聚焦Android native层逆向实践,基于unidbg实现高保真环境模拟,并完整还原S-Box动态生成、MixColumns矩阵变异与轮密钥XOR扰

weixin_33783283的博客 685

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest D題:Space Golf [二分+三分+基础数学]

一个球想从0弹到d,中间有n个木板在Pos i,高度为Height i ,问在至多落下Bn次的情况下(不包括首尾),最小初始速度是多少。

Asuna_acmer 1123

手把手教你用运放和基准源,把±10V信号变成ADC能吃的0-4V(附完整计算过程)

本文详细介绍了如何利用OP07运放和REF5040基准源设计工业级信号调理电路,将±10V传感器信号转换为0-4V ADC可接受范围。通过七步流程,包括需求分析、元器件选型、电路设计、理论计算、PCB布局、实测验证与性能优化,帮助工程师解决信号不匹配问题,提升系统精度与稳定性。

weixin_28731223的博客 467

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest F題:There is No Alternative [最小生成树]

N个点,M条边,问最小生成树的必须边的条数和权值和,必须边是去掉后最小生成树会扩大的边。

Asuna_acmer 985

《大明王朝1566》中,朝廷财政危机无法解决的根源分析

财政困局中的财富最终流向三重黑洞:​皇室挥霍​(如嘉靖炼丹修殿)、特权阶层贪腐​(严党年入百万两盐税)、制度性损耗​(宗室供养、低效官僚)。更深层的“钱”其实是被禁锢在道德化治理的牢笼中——当国家用“黄河长江皆可为用”的权术思维替代制度性改革时,财政危机便成为帝制王朝无法逃脱的宿命。

为了小家奋斗 1968

k-shape时间序列聚类实战:从理论到tslearn实现

本文深入探讨了k-shape时间序列聚类算法,从核心原理到tslearn库的实战应用。k-shape通过标准化互相关系数衡量序列形状相似性,专注于识别波动模式而非绝对数值。文章详细介绍了算法流程、Python环境搭建、数据预处理、最佳K值确定方法,并通过完整代码示例展示了模型训练与结果可视化,帮助读者掌握这一强大的“形状捕手”工具。

weixin_29061465的博客 172

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest A题 Bit String Reordering(暴力)

题目大意: 给出一串0/1序列,连续的几个0或者1可以计数相加,比如0 0 1 1 1 0,就是2 3 1。相邻的数之间可以交换,现在通过一系列变换以后可以达到某一种情况,比如例子里面:如果要求变成3 3,那就是把最后那个0放到前面和前面两个0相邻。问最少需要几步。 思路: 题目范围比较小,N 我们可以自己构造出所要求的序列,无非就是两种情况。然后去一位位 比较,如果当前位不同,则往后寻找

hahahaha 1078

中科蓝讯蓝牙耳机SDK实战:从目录解析到消息处理框架

本文深入解析中科蓝讯蓝牙耳机SDK的目录结构与消息处理框架,提供从硬件驱动到蓝牙功能定制的实战指南。重点剖析SDK核心模块如消息队列机制、按键事件处理及电量报告优化,并分享二次开发中的调试技巧与避坑经验,助力开发者高效完成TWS耳机功能定制。

weixin_30335575的博客 387

[ACM]Shopping

题目描述 Saya and Kudo go shopping together. You can assume the street as a straight line, while the shops are some points on the line. They park their car at the leftmost shop, visit a...

weixin_33912246的博客 223

一文搞定 GitHub SSH Key:生成、配置、好处全攻略

本文详细介绍了如何配置GitHub SSH Key,实现免密安全认证。主要内容包括:SSH协议的四大优势(免密登录、安全性高、稳定省心、支持自动化);Git身份配置步骤;检查本地SSH Key;生成RSA密钥对;添加密钥到SSH代理;复制公钥到GitHub;测试连接。配置完成后,开发者可通过SSH地址克隆仓库,实现push/pull全程免密操作。该方案显著提升Git使用效率,同时保障安全性,是开发者必备技能。

qq_62904883的博客 958

10、使用Ray Serve实现微服务与模型部署

本文深入介绍了如何使用Ray Serve实现微服务与机器学习模型的高效部署。从基础的部署定义到复杂的模型服务场景,涵盖部署架构、HTTP与Python调用、资源配置、FastAPI集成、金丝雀发布策略及实际应用流程。文章还探讨了模型服务的关键需求如灵活性、批处理、硬件优化和可扩展性,并展示了Ray Serve如何满足这些要求。最后提供了常见问题解决方案与未来发展方向,帮助开发者构建高性能、易维护的模型服务平台。

blue42的博客 174

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest B題:Miscalculation [简单模拟]

给出一个等式,一堆数相乘或者相加,问给出的一个答案是否满足先乘后加或者先左后右的运算规则,如果都满足输出U,都不满足输出I,只满足乘法优先输出M,只满足左边优先输出L。

Asuna_acmer 920

解决Home Assistant中安装的Advanced SSH & Web Terminal插件打开提示“502 Bad Gateway” 且弹窗提示“加载项似乎尚未准备就绪,它可能仍在启动中“问题

  在HomeAssistant的应用商店安装了【AdvancedSSH&WebTerminal】插件,但是打开这个终端连接到HomeAssistant的时候却提示“502BadGateway”且弹窗提示“加载项似乎尚未准备就绪,它可能仍在启动中,您想重试吗?”一直无法进入HomeAssistant的系统中

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 2832

2012-2013 ACM-ICPC, Asia Tokyo Regional Contest Beautiful Spacing 二分 + dp + 双指针扫描

题意 : 给你一个含n个单词的文本,按照一些规则放入宽度为w的矩形中,怎样使最大的空格最小。 题解 : 首先我们可以发现答案是满足二分性质的,如果少的空格可以那么多的也一定可以,这样的话我们就可以对答案进行二分,判断一个mid 是否可以成为答案。我们定义dp[i]表示第i个单词能不能当某一行的末尾,这样的话,我们可以定义dp[0] = 1 认为一开始的满足的 (这就是边界条件),dp[i] 肯定

Glory 的 博客 558

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest G題 (线段树区间更新)

题目大意: 给一个括号序列,刚开始一定是平衡的(也就是括号都匹配)。现在改变其中某一个括号,然后需要再改变一个括号(可以是自己)使得序列依旧保持平衡。问改变哪个括号可以达到目的,当然改变的括号越左边越好。 思路: 对于这个括号序列,我们可以将'('设为1,')'设为0,那么就能算出他们的前缀和。 比如序列()(()),前缀和就是1,0,1,2,1,0。可以发现如果是平衡的序列,所有的前缀和

hahahaha 798

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest A題:Bit String Reordering [bfs]

題意:給出N個0/1,以及M個數Ai,表示目標狀態從左至右每Ai個數是相同的,每次可以交換相鄰兩個0/1,問最少幾步可以達到目標狀態。

Asuna_acmer 666

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

2014-2015 ACM-ICPC, Asia Tokyo Regional Contest G題:Flipping Parentheses [线段树]

给出N个括号,一开始是匹配的,然后M次操作,每次操作会把某个位置Pi的括号换个方向,这样就不合法了,我们需要把它再变得合法,输出一个最左边的需要翻转的括号的位置,每一个操作都是在上一个操作基础上进行的。

Asuna_acmer 880

Shopping 倍增

The sale bin of Big Box Bargains contains n products in a row. The ith item has price ai per unit.There is no limit to the quantity of any item. There are q customers who will enter the store to

ACM交流帖 382

Asia Regional Contest, Tokyo, 2014 Shopping

文章转载自:xuanqis.com 题目链接:点击打开链接 Description Your friend will enjoy shopping. She will walk through a mall along a straight street, where N individual shops (numbered from 1 to N) are aligned at re...

yangpancheng的博客 290

TS2007FC与MK64FX512VDC12构建高效嵌入式音频系统

D类音频放大器以其高效率(可达90%以上)和低功耗特性,成为便携式音频设备的核心组件。其工作原理是通过PWM调制将音频信号转换为高频开关信号,再经功率放大后通过LC滤波器还原为模拟信号。TS2007FC作为典型的无滤波D类放大器,省去了传统LC滤波电路,显著减小了PCB面积和系统成本。结合MK64FX512VDC12微控制器的强大DSP处理能力(120MHz主频,带FPU和DSP指令集),可构建从数字信号处理到功率放大的完整音频链路。这种组合特别适合需要实时音频处理(如均衡器、混响效果)的嵌入式应用,在智能

weixin_34343000的博客 363

2014-2015 ACM-ICPC, Asia Xian Regional Contest G

Problem G. The Problem to Slow Down You Description After finishing his homework, our problem setter Federmann decided to kill time by hanging around online. He found a cool chat room that discusse

CRZbulabula的博客 1089

2014-2015 ACM-ICPC Tokyo Region Miscalculation

#include #include #include #include #include using namespace std; char in[500],op[100]; int num[100]; int main() { int out,ans1=0,ans2=0,tem=1; int ncnt=0,ocnt=0; //freopen("test.txt","r",

已作废 342

GYM - 101201J Shopping(线段树求不比C大的第一个数)

The sale bin of Big Box Bargains contains n products in a row. The ith item has price ai per unit.There is no limit to the quantity of any item.There are q customers who will enter the store to buy it

LP_Cong 701

2014-2015 ACM-ICPC, Asia Xian Regional Contest F Color

Color         有n朵花排成一列,m种颜色,给这些花染色,使得恰好有k种颜色,且相邻的花颜色不同,问有多少种染色法。         首先必须从m种颜色中选出k种,这部分有C(m,k)种选法。然后第一朵花可以染成k种颜色,后面的所有花都能染成k-1种颜色,也就是k*(k-1)*...*(k-1)。但是这样不能保证整个过程中k种颜色全部用到了。于是需要根据容斥原理做一

A Cube Master 1099

ICPC 6834 Shopping

题意:有一个人去市场上买东西,他要穿越整个市场。市场是一条直线,线上有N家店。一般这个人不会去买东西,但是会有一个限制条件,比如C1,D1;意思是,想要路过D1店,必须返回C1店买东西,然后再回来。。所以最短的路线就是,直接穿越整个市场的路程加上重复的区间 。 #include #include using namespace std; typedef struct pp{ int first

浮生匆忙,与君同往 546

The 2014 ACM-ICPC Asia Anshan Regional Contest 一些题解

大型码力竞赛现场…… I - Osu! 很简单,照着题意计算一下就行 E - Hatsune Miku 是个DP,dp[i][j]代表位置i选择音符j获得的最大值,对i,i-1分成四种情况进行讨论,答案就是max(dp[n][i])max(dp[n][i])max(dp[n][i]) #include &lt;bits/stdc++.h&gt; #include&lt;cstring&gt; #i...

limn204的专栏 333
上一篇: 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest B題:Miscalculation [简单模拟]
下一篇: 2014-2015 ACM-ICPC, Asia Tokyo Regional Contest D題:Space Golf [二分+三分+基础数学]
GrassTreeFlower
博客等级 码龄11年 14粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值