3. Antenna Coverage

2024-03-28 22:38
文章标签 coverage antenna

本文主要是介绍3. Antenna Coverage,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目链接:Antenna Coverage

数轴上有 n n n 个天线,每个天线都有一定的辐射范围,可以支付 k k k 的费用让某个天线的辐射半径增加 k k k,可以任意执行修改操作,问覆盖区间 [ 1 , m ] [1,m] [1,m] 的最少费用。

各种贪心似乎都是不行的。观察数据范围, O ( n m ) O(nm) O(nm) 的复杂度可以通过。尝试 dp,令 d p [ i ] dp[i] dp[i] 表示覆盖到 i i i 位置的最少费用,如果 i i i 已经被覆盖,直接从 d p [ i − 1 ] dp[i-1] dp[i1] 转移,否则枚举之前的所有天线 j j j 作为覆盖当前位置的天线,假设这种情况下延长的半径为 k k k,则从 d p [ j − r j − k − 1 ] dp[j-r_j-k-1] dp[jrjk1] 处转移。

#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
const int maxn = 1e5 + 5;
int dp[maxn];
pii p[maxn];
int main() {ios::sync_with_stdio(false);cin.tie(nullptr);int n, m;cin >> n >> m;for (int i = 1, x, s; i <= n; ++i) {cin >> x >> s;p[i] = {max(0, x - s), min(m, x + s)};}dp[0] = 0;for (int i = 1; i <= m; ++i) {dp[i] = i;for (int j = 1; j <= n; ++j) {if (p[j].first <= i && p[j].second >= i)dp[i] = min(dp[i], dp[i - 1]);else if (p[j].second < i) {int d = i - p[j].second;dp[i] = min(dp[i], dp[max(0, p[j].first - d - 1)] + d);}}}cout << dp[m] << '\n';
}

这篇关于3. Antenna Coverage的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/856882

相关文章

Minimal coverage -uva 覆盖线段,贪心

一道经典的贪心问题,具体方法就是将(an,bn)区间,按照an从小到大的顺序进行排序,之后从0开始, 取最大的有效区间,这里用到了结构体的快排,否则可能会超时. #include<stdio.h>#include<stdlib.h>#include<string.h>#define MAX_SIZE 100000 + 10#define BOTTOM -50000 - 10str

CST软件如何计算天线系数Antenna Factor-达索官方授权

天线系数(Antenna Factor)也称天线因子,是指天线附近接收的电场强度与天线端口生成的电压比值,简单讲就是天线接收电磁波,然后转化成电信号的能力;或者反过来,激励电信号之后,天线转化成电磁波的能力。由于电场单位是V/m,所以天线系数(简称AF)的单位就是每米“/m”,如果用dB表示的话,就是dBm^-1. 首先一个问题就是,天线系数和增益有什么区别呢?直接上公式吧,对于50欧姆的天线:

NLP-生成模型-2014:Seq2Seq【缺点:①解码器无法对齐编码器(Attention机制);②编码器端信息过使用或欠使用(Coverage机制);③解码器无法解决OOV(Pointer机制)】

《原始论文:Sequence to Sequence Learning with Neural Networks》 Seq2Seq模型是将一个序列信号,通过“编码&解码”生成一个新的序列信号,通常用于机器翻译、语音识别、自动对话等任务。 Seq2Seq(多层LSTM-多层LSTM)+Attention架构是Transformer提出之前最好的序列生成模型。 我们之前遇到的较为熟悉的序列问题,

ural Minimal Coverage (区间覆盖)

http://acm.timus.ru/problem.aspx?space=1&num=1303 给出一些区间,选择尽量少的区间能覆盖到[0,m]。 小白p154,典型的区间覆盖问题。一直在想怎么dp。。 首先预处理,先按左端点从小到大排序,若左端点相同右端点从大到小排序,若区间x完全包含y,按照贪心的思想,y是没有意义的,有大区间可以选何必选择小区间。处理完事之后各个区间满足a1

BNU 7536 HDU 3425 Coverage (圆与直线相交 )TeamContest - 4—B【解题报告】

【题目链接】click here~~ 【题目大意】求多个圆与线段相交的部分占整个线段的百分比。 【解题思路】  此题首先要判断圆心不一定全在给定的线段上,可以在任意的位置,(理解错了题,原先以为圆心在线段上,读题要仔细!) 因此我们可以联立圆的方程和线段的方程首先判断线段与圆有没有交点 求出方程组解得: 二次项系数为  a = cos(cx1,cx0) +cos(cy1,cy0);//二次项的

uva10020 - Minimal coverage(区间覆盖)

题目:uva10020 - Minimal coverage(区间覆盖) 题目大意:给出一些线段,然后问怎样取能使得最少的线段覆盖区间[0, M]. 解题思路:先预处理掉那些和区间【0,M】不沾边的线段。                  将线段按照起点小的排序。                   接着遍历这些线段。首先先判断起点最小的点是否<=0,如果不满足这个说明它不能覆

量产导入 | ATPG Test_coverage_faults

文章目录 目标FaultsFault LocationsSpecifying the Fault Universe: Add FaultsSpecifying the Fault Universe: Excluding FaultsSpecifying the Fault Universe: Fault SamplingFault ClassesFault Class(TE): Detect

Ural 1303. Minimal Coverage / 最小区间覆盖

求最小区间覆盖0-m 以前做过 现在墨迹半天写出来 弱爆了 像这样的1 9 和 2 7 根据贪心原理后者不需要直接去掉 然后按照起点从小到大排序 在按照终点从大到小排序  贪心模拟一下每次能不选就不选 (1 6)  (1 5)  (2 9)   (3 10)   (7 10)选择(1 6) 之后 下一个选择是(3 10) 他是最后一个能选的  不选就会断开 并且比选(2 9)更优 会不会

uva10020Minimal Coverage

题意:数轴上,用给出的线段去覆盖[0,M]段,M也是输入的,要求所用的线段数量最小。 解题:贪心算法。秘诀:先将所有跟[0,M]无关的线段扔掉(线段的右端点<0 或者 线段的左端点>M),在将所有的线段以左端点排序,先第一步找左端点<=0的线段中右端点最长的,记录下右端点end,然后将[0,M]变成[end,M],在以end为左端点找下一条线段(即找左端点<=end的线段中右端点最长的),直到找

python coverage如何使用

Python的`coverage.py`是一个测量代码覆盖率的工具,它可以告诉你在测试中哪些代码被执行了,哪些没有。这对于确保你的测试覆盖了所有情况非常有用。以下是如何使用`coverage.py`的基本步骤: ### 安装 首先,你需要安装`coverage.py`。你可以使用pip来安装它: ```bash pip install coverage ``` ### 命令行使用 `co