hdu 4747

news/2024/12/22 21:25:23/

这题思路有点纠结啊啊啊啊啊!!! 类似于今年多校的线段数,多校的时候是固定左端点,此处是固定右端点。。。这类题还是要多想想维护啊。。。。

考虑一组数,那么最小的肯定是0,1,2...递增的数,那么首先预处理出1到n的mex值(表示从1到i的区间mex值为多少),
然后我要找之后与当前值第一个相同的值的位置,用next【i】表示,这里为什么,后面再说

然后考虑从L 到 R 位置,当下固定R位置,枚举L从1到R-1,那么可以考虑1 到 R已经求出来了

那么可以考虑每删除一个值对后面的影响(即枚举数对i,到R中的所有数対(i,i),(i,i+1),(i,i+2),...,(i,n))
如果每次删值都不影响就是mex*对数

好现在说明为什么要next【i】
从i到R如果删除A[i]不影响mex那么这一段的值还是mex(a[i]>mex),如果当前A【i】小于这一段的mex了,
那么必然有一段0到A【i】-1的连续的值与A【i】+1到mex的连续值,那么删除A【i】必然会使得
pos到next【i】-1的位置的mex值为A【i】,这里pos值第一个受A【i】影响的位置
所以这里我每回要找到一个next【i】 然后将i到next【i】-1影响的一段区间赋值就好了。
然后求数对和就是将每次删除一个i后的值累加
这区间赋值和累加的就可以用线段树来做了
这里需要注意的是,预处理mex的值必然是递增的,那么这就是个有序的序列了。


然后还有个小优化,本来10^9大小的数,是需要离散化的,但是可以看到当一个数是完整的连续数的时候 最大值不会超过maxn+1 所以所有超出的部分都是maxn+1


http://www.ppmy.cn/news/124698.html

相关文章

朗润国际期货:茶饮争霸赛,你最爱喝哪个?

茶饮争霸赛,你最爱喝哪个? 蜜雪冰城:全国22503个门店,人均消费8.85元瑞幸咖啡:全国7480个门店,人均消费19.34元西巴克:全国6706个门店,人均消费39.59元古茗:全国6688个门…

HDU 4741

题目 求异面直线的间的最短距离,并且求出最短距离的线段在两直线上的点。比赛时,在网上找了个资料,需要解个二元一次的方程,估计自己写龊了,奇葩数据,总会出现误差。 后来重新找了个,在这 先求…

Hdu 4715

打素数表&#xff0c;分类讨论 给出一个偶数n&#xff0c;有这样两个素数a和b&#xff0c;使得na-b&#xff0c;要求ab最小。分三类&#xff1a;1. n0&#xff1b; 2. n<0&#xff1b; 3. n>0. AC代码&#xff1a; #include <cstdio> #include <cstdlib> #in…

HDU4715

思路&#xff1a; 1.不存在输出FAIL的情况 2.素数打表 实现判断素数 和 查找第i个素数 3.二分查找素数表&#xff0c;从比x大的下一个素数now开始&#xff0c;判断这now-n是否素数 /*Code By Aquariuslt*/ /*HDU 4715 Difference Between Primes*/ #include<iostream>…

14443-4

14443-4 传输协议激活 RATS-Request for answer to select 第3节14443-3中&#xff0c;当PCD发出选择命令之后&#xff0c;卡片返回SAK&#xff0c;指示PICC是否支持14443-4。 如果PICC支持14443-4&#xff0c;并且PCD需要进入14443-4层&#xff0c;进行协议层的数据传输&…

HDU 4745 Two Rabbits(非连续最长回文子序列,区间DP)

HDU 4745 Two Rabbits(非连续最长回文子序列&#xff0c;区间DP) HDU 4745 Two Rabbits 题目地址 题意&#xff1a; 两只兔子&#xff0c;在n块围成一个环形的石头上跳跃&#xff0c;每块石头有一个权值ai&#xff0c;一只从左往右跳&#xff0c;一只从右往左跳&#xff0c;每跳…

华三交换机DHCP配置

拓扑图 配置步骤 1、创建vlan&#xff0c;配置端口所属VLAN和对应VLAN接口的IP地址&#xff0c;IP地址即是对应VLAN的网关地址 vlan 2 to 4 # interface GigabitEthernet1/0/1 port link-mode bridge port access vlan 2 combo enable fiber # interface GigabitEthernet…

HDU - 4734 -- F(x)

题目如下&#xff1a; For a decimal number x with n digits ( A n A n − 1 A n − 2 . . . A 2 A 1 ) (A_nA_{n-1}A_{n-2} ... A_2A_1) (An​An−1​An−2​...A2​A1​), we define its weight as F ( x ) A n ∗ 2 n − 1 A n − 1 ∗ 2 n − 2 . . . A 2 ∗ 2 A …