2017多校四 1004题 hdu 6070 Dirt Ratio 二分 + 线段树 + 分数规划

【Web服务器运维】基于Nginx与Keepalived的高可用负载均衡系统部署:实现故障自动切换与虚拟IP管理 内容概要:本文详细介绍了如何通过Nginx与Keepalived实现高可用的负载均衡架构。首先讲解了Nginx的安装部署流程,包括依赖环境的准备、源码解压编译、启动及配置重载;接着介绍了Keepalived的安装步骤及其服务管理方式;重点在于通过配置Keepalived的主备节点(MASTER/BACKUP),结合VRRP协议和虚拟IP(VIP)实现故障自动切换,并通过自定义脚本nginx_check.sh实时检测Nginx运行状态,确保服务高可用;最后补充了在云环境中因组播限制导致心跳不稳定时,应改用单播(unicast)方式进行通信的解决方案。; 适合人群:具备Linux系统操作基础、熟悉网络基础知识,从事运维、DevOps或Web服务部署的技术人员,尤其是工作1-3年的工程师。; 使用场景及目标:①搭建高可用的Web负载均衡系统,避免单点故障;②掌握Nginx与Keepalived协同工作的原理与实战配置方法;③应用于生产环境中提升服务稳定性与容灾能力。; 阅读建议:学习时应结合实验环境动手操作,重点关注keepalived.conf配置差异与nginx_check.sh脚本逻辑,理解VRRP机制及单播替代组播的实际应用场景,注意根据实际网络环境调整IP与网卡参数。 立即下载

题目链接


题意:

给定一个数列 a 长度为 n (n <= 6e5, a1, a2, ..., an <= n),求其子串中 出现的不同数字个数 与 子串的长度 之比的最小值。


这道题的特殊之处在于其是special judge

Output
For each test case, print a single line containing a floating number, denoting the lowest ''Dirt Ratio''. The answer must be printed with an absolute error not greater than  10−4 .


如果有什么正经(雾)的做法,那么这个值应该是个定值啊,不至于会............

故:二分!


二分后怎么check呢...赛后看题解(。


题解如是说:

二分答案midmid,检验是否存在一个区间满足\frac{size(l,r)}{r-l+1}\leq mid​r−l+1​​size(l,r)​​≤mid,也就是size(l,r)+mid\times l\leq mid\times (r+1)size(l,r)+mid×l≤mid×(r+1)。

从左往右枚举每个位置作为rr,当rr变化为r+1r+1时,对sizesize的影响是一段区间加11,线段树维护区间最小值即可。


再说明白一点,当处理到第 i 个数时,线段树中中每个节点的值的含义为:

1. 每个叶子节点 [L, L] 的值为 [L, i] 一段的 val,

2. 每个非叶子结点 [L, R] 的值为 min{ [l, i].val | L <= l <= R }.


想明白这一点就好写了


Code:

#include <bits/stdc++.h>
#define maxn 60010
#define inf 0x3f3f3f3f
#define eps 1e-5
#define lson (rt << 1)
#define rson (rt << 1 | 1)
struct tree {
    int l, r, tag;
    double val;
}tr[maxn * 4];
double v;
int n, pre[maxn], pos[maxn];
inline int midi(int a, int b) { return a + b >> 1; }
inline double min(double a, double b) { return a < b ? a : b; }
void build(int rt, int l, int r, double x) {
    tr[rt].l = l; tr[rt].r = r; tr[rt].val = x * l; tr[rt].tag = 0;
    if (l == r) return;
    int mid = midi(l, r);
    build(lson, l, mid, x); build(rson, mid + 1, r, x);
}
inline void push_up(int rt) {
    tr[rt].val = min(tr[lson].val, tr[rson].val);
}
inline void push_down(int rt) {
    if (tr[rt].tag) {
        tr[lson].tag += tr[rt].tag; tr[lson].val += tr[rt].tag;
        tr[rson].tag += tr[rt].tag; tr[rson].val += tr[rt].tag;
        tr[rt].tag = 0;
    }
}
void modify(int rt, int l, int r, int r0) {
    if (tr[rt].l == l && tr[rt].r == r) {
        tr[rt].tag += 1;
        tr[rt].val += 1;
        return;
    }
    push_down(rt);
    int mid = midi(tr[rt].l, tr[rt].r);
    if (r <= mid) modify(lson, l, r, r0);
    else if (l > mid) modify(rson, l, r, r0);
    else { modify(lson, l, mid, r0); modify(rson, mid + 1, r, r0); }
    push_up(rt);
}
void query(int rt, int r) {
    if (tr[rt].r <= r) { v = min(v, tr[rt].val); return; }
    if (tr[rt].l == tr[rt].r) return;
    push_down(rt);
    int mid = midi(tr[rt].l, tr[rt].r);
    query(lson, r);
    if (r > mid) query(rson, r);
    push_up(rt);
}
bool check(double x) {
//    printf("x : %.3f\n", x);
    build(1, 1, n, x);
    for (int r = 1; r <= n; ++r) {
        modify(1, pre[r] + 1, r, r);
        v = inf;
        query(1, r);
        if (v <= (r + 1) * x) {
//            printf("%d\n", r);
            return true;
        }
    }
    return false;
}
void work() {
    memset(pos, 0, sizeof(pos));
    scanf("%d", &n);
    for (int i = 1; i <= n; ++i) {
        int x;
        scanf("%d", &x);
        pre[i] = pos[x];
        pos[x] = i;
    }
    double l = 0, r = 1.0, mid;
    while (r - l > eps) {
        mid = (l + r) / 2;
        if (check(mid)) r = mid;
        else l = mid;
    }
    printf("%.10f\n", mid);
}
int main() {
    int T;
    scanf("%d", &T);
    while (T--) work();
    return 0;
}


三电平Buck直流变换器双闭环、单闭环、开环仿真【附参考文献】(Simulink仿真实现) 内容概要:本文档系统介绍了三电平Buck直流变换器在Simulink环境下的开环、单闭环与双闭环控制系统的建模仿真方法,涵盖系统建模、控制策略设计及动态性能对比分析。通过构建不同控制结构,深入探讨电压调节精度、系统响应速度、抗干扰能力及稳定性差异,重点剖析双闭环控制中电压外环与电流内环的协同作用机制,揭示其在抑制输出纹波、提升负载适应性方面的优势,帮助读者掌握多电平DC-DC变换器的核心控制原理与工程实现技术;文档还提供了详实的仿真参数设置与参考文献,便于理论验证与实践复现。; 适合人群:电力电子、自动化、电气工程及其相关专业的高校本科生、研究生、科研人员,以及从事电源系统、新能源变换器开发的工程技术人员。; 使用场景及目标:①作为高校电力电子课程的教学案例,辅助学生理解Buck变换器多层次控制策略的设计思路与性能差异;②为科研项目中高效直流变换系统的仿真研究提供可复用的技术模板;③指导工业界在高精度电源设计中优化控制器参数,提升系统动态响应与稳定性。; 阅读建议:建议结合Simulink仿真模型同步操作,对照文档逐步搭建各控制结构,重点观察不同闭环配置下输出电压的瞬态与稳态表现,深入理解PI参数整定、环路耦合影响及系统频域特性的关联性,从而全面提升对电力电子系统控制设计的综合把握能力。 立即下载

相关推荐

D2D与C2C高速互联技术对比:从封装到性能的全面解析

本文全面解析了Die-to-Die(D2D)与Chip-to-Chip(C2C)高速互联技术的差异,从封装形式、传输距离到性能指标进行深度对比。D2D技术在带宽、延迟和能效方面具有显著优势,适用于高性能计算和AI加速;而C2C技术则更适合车载电子系统等长距离传输场景。文章还探讨了UCIe标准化趋势,并提供了技术选型的实用建议。

weixin_29197051的博客 554

01分数规划

01分数规划是这样的一类问题,有一堆物品,每一个物品有一个收益ai,一个代价bi,我们要求一个方案使选择的∑ai/∑bi最大。首先我们来一道例题吧,01分数规划的大体方法都是一样的。例: Dropping Tests poj2976给出n个物品,每个物品有两个属性a和b,选择n-k个元素,询问∑ai/∑bi∑ai/∑bi的最大值。1&lt;=n&lt;=1000,0&lt;=k&lt;n,0&lt...

qq_41287489的博客 271

ThinkPHP 8.1 + think-swoole 4.1 实战:5分钟搞定WebSocket聊天室(附完整代码)

本文详细介绍了如何使用ThinkPHP 8.1和think-swoole 4.1快速构建高并发WebSocket聊天室。通过5分钟实战教程,开发者可以轻松实现用户列表、消息广播等核心功能,支持2000+并发连接,适用于客服系统、在线协作等实时通信场景。

ol789012345的博客 126

AcWing算法提高课----图论 笔记 (SPFA找负环)

SPFA找负环知识点讲解例题1:AcWing904.虫洞01分数规划例题2:AcWing361.观光奶牛 知识点讲解 负环:在一个有向(无向)图当中, 存在一个环路,使得这个环的边权之和小于0 求负环常见方法(基于SPFA、抽屉原理): 统计每个点入队的次数,如果某个点入队n次,则说明存在负环(等价于bellman-Ford) 统计当前每个点的最短路中所包含的边数,如果某点的最短路所包含的边数大于等于n,则也说明存在负环(推荐) 2优于1的原因,若上图环中2的方法O(n),1的方法O(n^2) 图中负

qq_45830025的博客 635

单总线协议(1—Wire bus)【DS2431】

1—Wire 协议定义了复位脉冲、 应答脉冲、写0、写1、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化ROM 命令功能命令)都是由这些基本的信号类型组成的。识别单总线器件(ROM 命令)单总线器件交换数据(功能命令)初始化单总线器件(初始化)

qq_41883039的博客 1147

PaddleOCRv5训练自己的模型-微调文字识别模型

本文介绍了使用PaddleOCR微调文字识别模型的具体步骤。首先需要按照官方格式准备数据集,包括图片和标注文件。然后进行模型训练,包括环境安装、预训练模型下载、配置文件修改等关键环节,特别针对训练中可能出现的类别数不匹配问题提供了三种解决方案。文章还详细说明了模型导出为静态图格式的方法,以及如何调用训练好的模型进行推理。整个过程涉及多个技术细节,如早停机制设置、断点续训方法等,为需要提升OCR识别精度的开发者提供了实用指导。

weixin_43827982的博客 3176

HDOJ 1312 (POJ 1979)

Problem Description There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjace...

u013862444的博客 360

微信爬虫服务器,微信文章爬虫使用教程 - 八爪鱼采集器

对于某些用户来说,直接自定义规则可能有难度,所以在这种情况下,我们提供了网页简易模式,网页简易模式下存放了国内一些主流网站爬虫采集规则,在你需要采集相关网站时可以直接调用,节省了制作规则的时间以及精力。微信文章采集下来有很多作用,比如可以将自己行业中最近一个月之内发布的内容采集下来,然后分析文章标题和内容的一个方向与趋势。所以本次介绍八爪鱼简易采集模式下“搜狗公众号”的使用教程以及注意要点。步骤一...

weixin_26712065的博客 3256

2017多校六 1002题 hdu 6097 Mindis 相似三角形 计算几何

题目链接 题意: 圆心 O 坐标(0, 0), 给定两点 P, Q(不在圆外),满足 PO = QO, 要在圆上找一点 D,使得 PD + QD 取到最小值。 官方题解: 做P点关于圆的反演点P',OPD与ODP'相似,相似比是|OP| : r。 Q点同理。 极小化PD+QD可以转化为极小化P'D+Q'D。 当P'Q'与圆有交点时,答案为两点距离

kkkkahlua的博客 1668

13、控制依赖与切片的新基础及递归While程序的摘要

本文探讨了控制依赖和程序切片的新研究进展,并提出了一种用于递归While程序的广义过程摘要概念和验证框架。文章介绍了控制依赖的新定义及其优势,程序切片的相关工作,以及递归While程序的过程摘要在完全正确性和终止性证明中的应用。通过阶乘和插入排序程序的示例分析,展示了过程摘要的有效性。未来的研究将聚焦于并发程序的依赖计算、依赖关系的语义连接以及时间属性的保留。

kotlin6android的博客 85

粒子群优化与蚁群算法求解多旅行商问题

它要求在给定一组城市和旅行商之间的距离矩阵的情况下,找到一条最优的路径方案,使得所有旅行商可以分别从起始城市出发,途径其他城市,并最终回到起始城市,同时总旅行距离达到最小。这两种算法都是基于群体智能的优化算法,在求解组合优化问题时具有较好的性能表现。假设有n个城市需要被m个旅行商访问,城市间的距离由距离矩阵D表示,其中D(i,j)表示第i个城市到第j个城市的距离。粒子群优化算法是一种基于群体智能的优化算法,其中的粒子代表了潜在的解,并通过模拟粒子在解空间中的移动来搜索最优解。一、多旅行商问题建模。

m0_47037246的博客 553

2017多校联合第三场 1005题 hdu 6060 RXD and dividing (超详细!!!)构造

题目链接 题意: 给定一棵 n 个节点的树,1 为根。现要将节点 2 ~ n 划分为 k 块,使得每一块与 根节点 形成的最小斯坦纳树的 边权值 总和最大。 看了题解之后的思考: 题解是:记有向边 (u, v) 长度为 w[v],以点 v 为根的子树的节点总数为 sz[v],那么答案就是 w[v] * min(sz[v], k) 对每个点求个和。 题解的说法是:可以通过构

kkkkahlua的博客 1071

【图像去噪】论文精读:FM2S: Self-Supervised Fluorescence Microscopy Denoising With Single Noisy Image

论文题目:FM2S: Self-Supervised Fluorescence Microscopy Denoising With Single Noisy Image —— FM2S:单噪声图像自监督荧光显微镜去噪arXiv 2024!显微图像去噪!通过可视化详细的细胞结构和生物过程,荧光显微镜具有显着先进的生物学研究。然而,由于难以精确建模固有噪声和获取干净图像进行训练,这种图像去噪任务往往面临挑战,这限制了大多数现有方法。在本文中,我们提出了一种有效的。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 408

HDU 3336 Count the string 所有前缀在串中的出现总次数

题目链接题意给定一个串 SS,求其所有前缀在其中的出现次数的总和。思路考虑 failfail 数组,fail[i]=jfail[i] = j 的含义是 S[0..j−1]==S[i−j..i−1]S[0..j-1] == S[i-j..i-1].记 dp[i]dp[i] 为以 ii 结尾的串中与前缀相同的串的个数。由 fail[i]=jfail[i] = j 有 S[0..j−1]==S[i−j..

kkkkahlua的博客 996

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Camera2Demo

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

2017多校联合第二场 1009题 hdu 6053 TrickGCD (超详细!!!)莫比乌斯 容斥

题目链接 题意: Problem Description You are given an array A , and Zhu wants to know there are how many different array B satisfy the following conditions? * 1≤Bi≤Ai * For each pair( l ,

kkkkahlua的博客 898

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

2017多校八 1002题 hdu 6134 Battlestation Operational 艾弗森约定 莫比乌斯函数 分块

题目链接 题意: Your should calculate the total damage to the battlefield. Formally, you should compute f(n)=∑i=1n∑j=1i⌈ij⌉[(i,j)=1], where [(i,j)=1] evaluates to be 1 if gcd(i,j)=1,

kkkkahlua的博客 832

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

2017多校联合第一场 1006题 hdu 6038 Function 循环节

题目链接 题意: Please calculate the quantity of different functions f satisfying that f(i)=bf(ai) for each i from 0 to n−1. (嗯...就是这样) 思路: 首先可以将 a 数组划分成若干个循环节,每个节是相互独立的,取其中一个节来看,令其长度为 l

kkkkahlua的博客 805

2017多校四 1003题 hdu 6069 Counting Divisors 分解质因数

题目链接 参考:http://blog.youkuaiyun.com/protecteyesight/article/details/76685920  ——protecteyesight 题意: Problem Description In mathematics, the function d(n) denotes the number of divisors o

kkkkahlua的博客 689

2017多校九 05题 hdu 6165 FFF at Valentine 缩点 dp找最长链/拓扑排序

题目链接题意判定一个图是不是单向连通图。 // 其实就是poj 2186,不过poj的那道题数据水了些= = // 浏览题目时看成了FFT at Valentine吓死我= =思路先套路一发,tarjan求强联通分量,缩点,至此预处理完成。(这部分详细内容烦请移步本菜另一篇 强联通分量 缩点 tarjan 入门题小集) 然后怎么处理呢?法一现在我们得到了一个DAGDAG,直观想法就是有没有

kkkkahlua的博客 668

2017多校九 01题 HDU6161 Big binary tree 树形dp+hash

题目链接题意有一棵 nn (n≤1e8n\leq 1e8)个节点的完全二叉树,节点 ii 的父亲节点是 ⌊i2⌋\lfloor\frac{i}{2}\rfloor。初始时每个点的权值都是它本身。现有两种操作 mm 次(m≤1e5m\leq 1e5): 修改某个点的权值 询问 经过某个点的 权值和最大的 链 的权值和 思路dp[ ]dp[\ ] 记录从某个点向下走最长的链的权值和,修改即一路向上更新

kkkkahlua的博客 647

2017多校四 1005题 hdu 6071 Lazy Running 同余类 最短路

题目链接 题意: 给定一个环上的四个点1,2,3,4,距离分别为d12,d23,d34,d41,要求从2号点出发,最后回到2号点,要求经过的距离为大于等于 K 的最小值,求该最小值。 参考: 1. http://blog.youkuaiyun.com/blessLZH0108/article/details/76690027?locationNum=6&fps=1  ——Alzh

kkkkahlua的博客 638

2017多校联合第二场 1003题 hdu 6047 Maximum Sequence O(n) (有理有据地)贪心

题目链接 题意: an 和 bn 是两个长度为 n 的序列,其中保证 1 现要求根据 bn 来补全 an+1 ~ a2n 的数字,要求这一段和最大, 补全规则如下: 补 ai 时,从 bn 中不重复地挑选一个数字 bk, 要求 ai 思路: 我们看补全规则,就是在说从 ai 中下标为 bk 的地方起一直向后到现有的最后一个位置中,找一个 aj - j 的最大值

kkkkahlua的博客 630

HDU 2594 Simpsons’ Hidden Talents 两字符串前缀与后缀的最长公共部分

题目链接题意对于给定的两个字符串 TT 与 PP,求最长的子串,既是 PP 的前缀,又是 TT 的后缀。法一:kmp思路对 PP 求 failfail 数组,然后与 TT 进行匹配,最大长度即为匹配到最后的公共长度。注意在中间就匹配成功时处理一下。Code#include <bits/stdc++.h> #define maxn 100010 using namespace std; typedef

kkkkahlua的博客 630

hdu 1505 1506 2870 dp小礼包

题目链接 思路: 读入的时候先处理一下,使得 map[i][j] 记录的是 第 i 行中 连续到第 j 列有多少个 F. 就样例而言 R F F F F F F F F F F F R R R F F F F F F F F F F F F F F F 可以被处理为 0 1 2 3 4 5 1 2 3 4 5 6 0 0 0 1 2 3 1 2 3 4 5 6

kkkkahlua的博客 621

hdu2569 彼岸 递推

题目链接 题意: 有红黄蓝三张颜色来涂色,连续的三块不能是三种不同的颜色,问涂n块有多少种情况? 思路: 看到题目,显然是递推找规律。 那么就来找吧。 若前两块的颜色相同,那么下一块可以涂三种颜色;如果前两块的颜色不同,那么下一块可以涂两种颜色。 既然这样可容易就能想到开两个数组a,b分别记录 最后两块颜色相同的情况数 和 最后两块颜色不同的情况数。 很显然的,a1

kkkkahlua的博客 613

HDU 4749 & POJ 3167 kmp变形

HDU4749题意给定一个主串 TT 和模式串 PP,问 TT 有多少个不重合的子串与 PP 匹配。在这里,串 aa 与串 bb 匹配的含义是,∀i,j,1≤i,j≤n,⎧⎩⎨a[i]<a[j]↔b[i]<b[j]a[i]==a[j]↔b[i]==b[j]a[i]>a[j]↔b[i]>b[j]\forall i,j,1\leq i,j\leq n,\begin{eqnarray}\begin{cas

kkkkahlua的博客 598
上一篇: 01分数规划入门 poj 2976, 2728, 3621
下一篇: 树状数组模板及poj几道简单题
kkkkahlua
博客等级 码龄12年 4粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值