JZOJ 100036 【NOIP2017提高A组模拟7.10】随机

JZOJ5400. 【NOIP2017提高A组模拟10.7】Repulsed 树型DP+贪心 题意:小w 心里的火焰就要被熄灭了。 简便起见,假设小w 的内心是一棵n -1 条边,n 个节点的树。 现在你要在每个节点里放一些个灭火器,每个节点可以放任意多个。 接下来每个节点都要被分配给一个至多k 条边远的灭火器,每个灭火器最多能分配给s 个节点。 至少要多少个灭火器才能让小w 彻底死亡呢?whx大爷的题目。 设f[x][k]表示在x的子树中,距离x为k的灭火器有多少个点能分配。 阅读详情

题目大意:

这里写图片描述
1<=n<=106

题解:

Ans=min(max(|ai−aj|,j−i+1))
假设我们现在的区间长度是m,最小值是min,将右端点右移,m++,min将可能会减小。
我们确定一个左端点l,假设右端点是r,那么一定当r位于m>=min的临界点上max(m, min)菜会最小。
证明:假设现在在临界点上,r–,则m–,min可能增加,答案不可能减少。r++,m++,min可能减少,答案不可能减少。
所以我们从[1..2]开始,如果m >= min,则r++,否则l++。
本来用multiset维护min就行了,可是卡时太惨了,反而用线段树还快一些。

Code:

#include<cstdio>
#include<cstring>
#include<algorithm>
#define fo(i, x, y) for(int i = x; i <= y; i ++)
#define max(a, b) ((a) > (b) ? (a) : (b))
#define min(a, b) ((a) < (b) ? (a) : (b))
#define abs(a) ((a) > 0 ? (a) : -(a))
using namespace std;

const int Maxn = 1e6 + 5;

int n, ans, a[Maxn], num[Maxn], v[Maxn], tot;
struct node {
    int x, y;
}b[Maxn];
struct tree {
    int l, r, s, siz;
}t[Maxn * 10];

void read(int &x) {
    char ch = ' '; for(; ch < '0' || ch > '9'; ch = getchar());
    x = 0;
    for(;ch >= '0' && ch <= '9'; ch = getchar()) x = x * 10 + ch - 48;
}

bool rank(node a, node b) {
    return a.x < b.x;   
}

void Init() {
    scanf("%d", &n); fo(i, 1, n) read(a[i]), b[i].x = a[i], b[i].y = i;
    sort(b + 1, b + n + 1, rank);
    tot = 0;
    fo(i, 1, n) tot += b[i].x != b[i - 1].x, num[b[i].y] = tot, v[tot] = b[i].x;
}

void add(int i, int x, int y, int l, int r) {
    if(x == y) {
        t[i].siz += r;
        if(t[i].siz) t[i].l = t[i].r = x; else t[i].l = t[i].r = 0;
        if(t[i].siz > 2) t[i].s = 0; else t[i].s = 2e9;
    } else {
        int m = (x + y) / 2;
        if(l <= m) add(i + i, x, m, l, r); else add(i + i + 1, m + 1, y, l, r);
        t[i].s = min(t[i + i].s, t[i + i + 1].s);
        if(t[i + i].r && t[i + i + 1].l) t[i].s = min(t[i].s, v[t[i + i + 1].l] - v[t[i + i].r]);
        t[i].l = t[i + i].l; if(t[i].l == 0) t[i].l = t[i + i + 1].l;
        t[i].r = t[i + i + 1].r; if(t[i].r == 0) t[i].r = t[i + i].r;
    }
}

void End() {
    fo(i, 1, tot * 10) t[i].s = 2e9;
    add(1, 1, tot, num[1], 1); add(1, 1, tot, num[2], 1);
    ans = 1e9;
    int l = 1, r = 2;
    while(r <= n) {
        int z = t[1].s;
        ans = min(ans, max(z, r - l + 1));
        if(l == r - 1 || t[1].s > r - l + 1) {
            if(r == n) break;
            r ++; add(1, 1, tot, num[r], 1);
        } else add(1, 1, tot, num[l], -1), l ++;
    }
    printf("%d", ans);
}

int main() {
    Init();
    End();
}
JZOJ5354. 【NOIP2017提高A组模拟9.9】导弹拦截 Description某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。 敌国的导弹形成了立体打击,每个导弹可以抽象成一个三维空间中的点(x; y; z)。拦截系统发射的炮弹也很好地应对了这种情况,每一发炮弹也可以视为一个三维空间中的点。 但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达三维空间中任意的点,但是以后每一发炮弹到达点的坐标(x; y; z) 的三个坐标值都必须大于前一发 阅读详情

相关推荐

Sparse4Dv3

instance_feature也设置为nn.Parameter。修正分支2*(linear->relu->linear->relu->layernorm)->linear->scale,分类分枝2*(linear->relu->layernorm)->linear(256,9),质量评估分枝2*(linear->relu->layernorm)->linear(256,2)。每组两类instance,1是加上范围(-x,x)内均匀分布噪声,2是加上(-2x,-x)U(x,2x)范围内均匀分布噪声。

yuanl15的博客 1352

JZOJ 100035【NOIP2017提高A组模拟7.10】区间

题目大意: 1<=k<=n<=2∗1072*10^7 1<=t,p<=10910^9 time limits:2s题解:我们注意到这是没有办法用逆元的。 但就就是这就是分块啊(为毛比赛没有一个人想到)。 把n个序列分成长度为k的若干段,当然最后一段不一定是k。 然后对每一块求一个前缀、后缀乘积和。 最后暴枚区间,注意到每个区间刚好会被两段或一段覆盖,直接O(1)算即可。这道题最难点在于

Cold_Chair的博客 581

Mamba vs YOLO:目标检测选型指南(附实际项目对比)

本文深入对比了Mamba和YOLO在目标检测领域的性能差异与应用场景。通过实际项目数据,分析了两者在城市交通监控、工业质检等场景下的表现,提供了详细的选型指南和部署优化建议,帮助开发者根据实时性、精度等需求选择最适合的解决方案。

weixin_29062255的博客 369

【JZOJ A组】【NOIP2017提高A组模拟7.10】区间

题目 思路 考虑分块 把n个序列分成长度为k的若干段,当然最后一段不一定是k。 然后对每一块求一个前缀、后缀乘积和。 最后暴枚区间,注意到每个区间刚好会被两段或一段覆盖,直接O(1)算即可。 代码 #include&lt;cstdio&gt; using namespace std; typedef long long ll; const int N=2e7+1; i...

Brute♂force 505

R语言分段回归

1.利用虚拟变量进行线性回归 (MEdata.csv的数据来源:https://github.com/ChenQihome9/优快云-Data-Library/blob/master/MEdata.csv) 问题13:针对TAX~GDP,使用分段回归方法,找到其回归方程。编程,并根据程序结果叙述如下几方面问题:(1)分几段最佳?(不超过5段内)(2)分段位置定在哪儿最佳?(3)写出最佳方...

ChenQihome9的博客 1万+

PCIe Electrical PHY(4)-PCIE SPEC第8章指标讲解

1.1 PCIE TX SPEC TX主要关心两类参数,一类是Voltage Parameters,一类是Jitter Parameters。 其中Voltage相关参数主要关心不同preset下差分电压幅度的准确性。以及共模电压的稳定性。 PCIE spec中对Jitter相关的参数测量定义如下: 分为两大类:DDJ(Data dependent Jitter)和UJ(Uncorrelated ...

maxwell2ic的博客 5952

【JZOJ A组】【NOIP2017提高A组模拟7.10】随机

题目 思路 水法 正解时不可能的,这辈子都不可能的 首先,我们发现选两个端点作为si,sj才是最优的。 所以我们可以枚举区间长度(i #include&amp;amp;lt;cstdio&amp;amp;gt; #include&amp;amp;lt;cmath&amp;amp;gt; using namespace std; int ans,n,a[1000077]; int main() { freopen(&amp;quot;ra

Brute♂force 433

RS485 MODBUS转PROFINET网关案例丨汇川变频器接入到1200 PROFINET

本案例介绍的是用北京小疆智控(北京)技术有限公司生产的GW-PN5003型MODBUS RTU转PROFINET网关将汇川变频器接入西门子PLC1200 PROFINET网络的使用方法。

bjxjzk的博客 1882

【NOIP2017提高A组模拟7.10】随机

Description Input Output Sample Input Sample Output Data Constraint Hint 题解 Description Input Output Sample Input 5 9 20 15 6 10 Sample Output 4 Data Constraint Hint ...

kyrie lrving的博客 354

Python爬虫抓取淘宝商品详情页信息:从入门到高级技术应用

通过本篇博客,我们了解了如何使用Python爬虫抓取淘宝商品详情页的信息,如何使用requests和Selenium抓取静态和动态内容,如何应对淘宝的反爬虫机制,如何将抓取的数据保存到CSV文件等。随着爬虫技术的不断发展,开发者可以根据需要选择合适的工具和技术,如使用分布式爬虫框架提高抓取效率,或者利用OCR技术处理验证码等问题。在进行淘宝爬虫时,需要注意遵循相关法律法规和平台的爬虫政策,避免对平台造成过度的负担或侵犯其合法权益。

2201_76125261的博客 462

携程机票数据爬取实战:使用 Python 获取携程网机票信息

通过本篇博客,我们详细介绍了如何使用 Python 爬取携程网的机票信息,涉及了静态网页爬取(使用 Requests 和 BeautifulSoup)和动态网页爬取(使用 Selenium)两种方法。通过获取的数据,我们不仅能够进行票价分析,还可以构建更为复杂的预测模型或趋势分析工具。爬虫技术不仅能够帮助我们收集有价值的数据,还能够为商业决策提供数据支持。在实际应用中,我们可以结合更多的分析方法,如自然语言处理、图像处理等,进一步提升数据的价值。

2201_76125261的博客 1658

【JZOJ100036】随机

Description Input Output Sample Input 5  9 20 15 6 10  Sample Output 4 Data Constraint Hint 题解: 本题所有题解代码纯属娱乐,请勿当真= = 用O(n^2)的暴力可以拿到90分 不断取i,j两个差绝对值最小值,然后跟长度取最大值,再跟答案取最小值 直接这样做是30...

Rayhirox的博客 399

【感知模块算法】障碍物detect+trace+prediction方向介绍

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、多维度看感知问题,体会复杂性二、障碍物/环境目标detect方向1.视觉目标检测方向(1)图像处理认知(2)视觉基础理论部分1、获取数据集---python网页爬虫、买数据、自己录数据、使用开源比赛的数据集2、opencv库的学习3、深度学习框架学习(3)视觉目标检测理论(1)目标检测的概念(2)目标检测的应用场景(3)现有目标检测框架原理及论文【这仅仅是我当初入门学习的框架~

qq_35635374的博客 2894

JZOJ 100036【NOIP2017提高A组模拟7.10】随机

8.28 模拟题 T3 随机 对应题目 : JZOJ 100036【NOIP2017提高A组模拟7.10】随机 这道题题目的意思不难理解,主要是理解了之后自己的一个想法。 题目是说一个序列有一个规定的特征值:一个序列中任意两元素差的绝对值的最小值和区间长度两者之间的较大者。(表达能力棒棒哒) 然后我们在一个给定的序列中找出其中特征值最小的连续序列。 具体来说,求解的关键在于我...

226

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JZOJ 100037【NOIP2017提高A组模拟7.11】后缀数组

题目描述:给出S的SA,求S最少的不同字符的个数。 1<=n<=100000题解:SA的性质题,竟然不会。 有了SA,逆推可知rank。 如果rank[SA[i] + 1] >= rank[SA[i + 1] + 1] 则必有S[SA[i]] < S[SA[i + 1]] 于是我们扫一遍统计答案就好了。Code:#include<cstdio> #define fo(i, x, y) fo

Cold_Chair的博客 650

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JZOJ 100035. 【NOIP2017提高A组模拟7.10】区间

JZOJ 100035. 【NOIP2017提高A组模拟7.10】区间 DescriptionInputOutputSample Inputsample1:4 2 10 5 1 1 10sample2:1000 97 96998351 41 1668 505 2333Sample Outputsample1:4sample2:1749769Data ConstraintSolution 首先,按照所给的数据构造

Felix-Lee的博客 626

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

100035. 【NOIP2017提高A组模拟7.10】区间

Description Input Output Sample Input sample1: 4 2 10 5 1 1 10 sample2: 1000 97 96998351 41 1668 505 2333 Sample Output sample1: 4 sample2: 1749769 Data Constraint So...

zsjzliziyang的博客 285

【JZOJ2940】 【NOIP2012模拟8.10】生成输入数据【最小生成树】

不难,但是需要思考

stoorz 440

jzoj 100036 随机

题目 题解 –谁知道这道水题O(n^2)暴力有90分,当然是要动脑筋,我就不讲了 谁又知道这道题要用权值线段树维护,来拿最后那十分 (代码量 * 10 == 分数 * 10/9)QAQ 首先权值线段树就是把原来存下标的 l 和 r 改成了存数值大小 所以说,左子树一定 &amp;lt; 右子树的值 对于这道题呢 我们要维护: 答案(就是相减最小绝对值和长度,取最大值) 最小值 ...

Stupid_Computer的博客 314

NOIP2017 Day2_T3 列队

题目大意:众人皆知。题解:考场时打SBT打傻了,被卡爆了。这就是个傻逼线段树能过的东西,不要问我问为什么能跑这么快?每一行用线段树维护前m-1个。最后一列独立开来。查询用线段树二分。可以直接预开6e5。完。Code:#include<cstdio> #include<cstring> #include<algorithm> #define ll long long #define fo(i, x,

Cold_Chair的博客 1425

小喵喵的新家

JZOJ3441 小喵喵的新家Description小喵喵和小聪聪从小就是好朋友 ,他们经常在一起玩耍 。如今小喵已经厌倦了自己居住的环境,想请小聪聪为她建一个新家。小喵喵天生多才多艺,对多种乐器颇有研究。对于生活中常见的图形,她对圆形很感兴趣,因此小聪聪决定为她建一个圆形的新家。我们设新家在一个平面直角坐标系上,其中新家的圆心为平面直角坐标系的原点。小聪聪有一把神奇的剪刀,他定义了一个值m,以等分

Cold_Chair的博客 1353

GDKOI 2016 魔卡少女

GDKOI2016 魔卡少女 Description 君君是中山大学的四年级学生。有一天在家不小心开启了放置在爸爸书房中的一本古书。于是,君君把放在书中最上面的一张牌拿出来观摩了一下,突然掀起一阵大风把书中的其她所有牌吹散到各地。这时一只看上去四不像的可爱生物“封印之兽”可鲁贝洛斯从书中钻了出来,它告诉君君书中的牌叫“库洛牌”,现在散落各地已实体化,要君君将它们全部再次封印起来,以免危害世界

Cold_Chair的博客 1207

【NOI2014模拟】数列

Description:给定一个长度为n的正整数数列a[i]。定义2个位置的f值为两者位置差与数值差的和,即f(x,y)=|x-y|+|a[x]-a[y]|。你需要写一个程序支持2种操作(k都是正整数):Modify x k:将第x个数的值修改为k。Query x k:询问有几个i满足f(x,i)<=k。询问不仅要考虑当前数列,还要考虑任意历史版本,即统计任意位置上出现过的任意数值与当前的a[x]的

Cold_Chair的博客 1188

【NOI2018】你的名字

题目大意: 一开始给出字符串S。 Q次询问,每次给出l,r和字符串T。 问T有多少不同子串不是S[l…r]的子串。 ∑∣T∣&amp;lt;=1e6,∣S∣,∣T∣&amp;lt;=5e5\sum|T|&amp;lt;=1e6,|S|,|T|&amp;lt;=5e5∑∣T∣&lt;=1e6,∣S∣,∣T∣&lt;=5e5 题解: 不同子串一类问题优先考虑SAM。 感觉这题考的更多是对SAM的理解。...

Cold_Chair的博客 1083

线段树合并——hdu 5709 Claris Loves Painting

前言: 清冬上不会线段树合并又没想到启发式合并亏了50+…… 题目大意: 题目链接. 给出一个一棵以1为根的树。 每个点有一个颜色。 每次询问给出x,d,为以x为根的子树中,到x距离小于等于d的点有多少种不同的颜色。 题解: 感觉这题还是个线段树合并的裸题吧(也没有这么裸)。 先谈谈自己对线段树合并的感受。 线段树应该都得是动态开点的线段树,不然合并不就是O(n)的吗? 给出

Cold_Chair的博客 866

【NOIP2017提高A组模拟7.13】好数

题目大意:我们定义一个非负整数是“好数”,当且仅当它符合以下条件之一: 1.这个数是0或1 2.所有小于这个数且与它互质的正整数可以排成一个等差数列例如,8就是一个好数,因为1,3,5,7排成了等差数列。 给出N个非负整数,然后进行如下三个操作: 1.询问区间[L,R]有多少个好数 2.将区间[L,R]内所有数对S取余(S≤1000000) 3.将第C个数更改为X 题解:首先我们打个表

Cold_Chair的博客 862
上一篇: JZOJ 100035【NOIP2017提高A组模拟7.10】区间
下一篇: JZOJ 100037【NOIP2017提高A组模拟7.11】后缀数组
Cold_Chair
博客等级 码龄11年 158粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值