首页 > 其他分享 >「NOIP 模拟赛 20230706」偷 WiFi

「NOIP 模拟赛 20230706」偷 WiFi

时间:2023-07-06 16:00:33浏览次数:39  
标签:node 20230706 NOIP 标记 ll WiFi 贡献 sk top

summarization

有一个长度为 \(n\) 的序列 \(p\),将其中若干个数标记。对于序列中的每一个位置 \(i\),其贡献为其左边与右边离它最近的被标记的数的数值的和。求出最大的贡献总和。(\(1\le n\le2\times10^6\))

solution

首先显然,\(p_1, p_n\) 一定要标记。然后考虑分别求相邻的标记数之间的贡献。

设 \(i,j\) 为相邻的两个标记数的位置。对于 \([i,j]\) 区间:\((i,j)\) 区间的贡献为 \((j-i-1)\times(p_i+p_j)\),\(i\) 位置右边的贡献为 \(p_j\),\(j\) 位置左边的贡献为 \(p_i\),所以总和为 \((j-i)\times(p_i+p_j)\)。

发现 \((j-i)\times(p_i+p_j)\) 是梯形面积公式的一半,所以如果我们将每一个 \((i,p_i)\) 放入坐标系,那么贡献总和则等于如图阴影部分的面积的两倍:(红色的点为标记数所代表的点)

那么问题就变为选取若干个点,使其围成的梯形面积最大,显然选取上凸壳中的点即可。

时间复杂度 \(\mathcal{O}(n)\)

code

CI N = 2e6; ll n, p[N + 5], top = 0; struct node {ll x; ll y;} sk[N + 5];
ll cross (node a, node b, node c) {return (b.x - a.x) * (c.y - b.y) - (b.y - a.y) * (c.x - b.x);}
int main () {
	RI i, j; for (Read (n), i = 1; i <= n; ++ i) Read (p[i]);
	for (i = 1; i <= n; ++ i) {
		node now = {i, p[i]}; W (top >= 2 && cross (sk[top - 1], sk[top], now) >= 0) -- top; sk[++ top] = now;
	} ll ans = 0; for (i = 1; i < top; ++ i) ans += (sk[i].y + sk[i + 1].y) * (sk[i + 1].x - sk[i].x);
	printf ("%lld\n", ans);
	return 0; 
}

标签:node,20230706,NOIP,标记,ll,WiFi,贡献,sk,top
From: https://www.cnblogs.com/ClapEcho233/p/17532412.html

相关文章

  • 网络填坑之路(7)使用netsh获取WiFi密码
    netsh简介netsh:全称NetworkShell是一个windows系统本身提供的功能强大的网络配置命令行工具Netsh是命令行脚本实用工具它允许从本地或远程显示或修改当前正在运行的计算机的网络配置netsh可以获取计算机曾经连接过的所有WiFi信息以及WiFi的明文密码获取密码步骤1、进入ne......
  • 「NOIP 模拟赛 20230705」T2-序列删数问题 题解
    题面Natsuzora有一个长度为\(n\)的排列\(a_1,a_2,\ldots,a_n\),他想要将序列中的\(m\)个数删除。删除数字需要使用到“魔法工具”,其也有\(m\)种,其中第\(i\)种魔法工具能够将排列中任意一个的长度为\(l_i\)的区间中最大的数删除。每个魔法工具最多只能使用\(1\)次。......
  • [NOIP2012 普及组] 寻宝
    思路:模拟必须mod20123,不然就有可能会爆掉!AC代码#include<iostream>#defineintlonglongusingnamespacestd;boolwhether[10001][101];ints[10001][101],T[10001];signedmain(){ intn,m,S,w,ans=0; cin>>n>>m; for(inti=0;i<n;i++) { for(intj=......
  • NOIP 模拟赛 2023.07.04 题解--zhengjun
    linkT1转化为\((b_i,a_i)\)与\((b_j,a_j)\)之间的斜率。发现性质(省略),只需要计算相邻两个点之间的答案即可,用set就行了。T2先找性质,发现即为\(a,b,c\)各有某一位是“独特”(即其他两个数这一位与之不一样)的。直接\(O(8^2n)\)记录各个状态,预处理转移优化一下即可。T......
  • 一秒教你解决苹果手机wifi变灰色
    https://www.douyin.com/note/7242700916091096352一秒解决苹果手机连不上wifi问题,苹果手机突然连不上wifi,重启手机,还原网络设置都试过了,无线wifi还是灰色,教你方法,打开设置-通用-语言与地区,随便换一个语言,等待连接上wifi,再换回中文即可,学会了吗?  更换iphone语言......
  • GSWIFI固件升级
    固件下载解压固件文件,复制360f51141那个版本至桌面方法1.连网线升级固件步骤(忽略,直接方法2)固件复制桌面后,拔掉路由WAN口网线,然后电脑到路由由LAN口连根线,电脑不能有网。输入192.168.1.1进入后台,登陆密码admin路由后台左侧黑色区域打开,系统工具系统升级,寻找......
  • P1025 [NOIP2001 提高组] 数的划分
    https://www.luogu.com.cn/problem/P1025#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>usingnamespacestd;constintN=10;intn,k;intans;intst[N];voiddfs(intlast,intleft,intstep)//利用last来......
  • [NOIP2006 普及组] 开心的金明
    该s的背包[NOIP2006普及组]开心的金明题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过\(N\)元钱就行”。今天一早金明就开始做预算,但是他想买的......
  • [NOIP2015 提高组] 跳石头
    [NOIP2015提高组]跳石头题目背景一年一度的“跳石头”比赛又要开始了!题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有\(N\)块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从......
  • [NOIP2001 提高组] 一元三次方程求解
    [NOIP2001提高组]一元三次方程求解题目描述有形如:\(ax^3+bx^2+cx+d=0\)这样的一个一元三次方程。给出该方程中各项的系数(\(a,b,c,d\)均为实数),并约定该方程存在三个不同实根(根的范围在\(-100\)至\(100\)之间),且根与根之差的绝对值\(\ge1\)。要求由小到大依......