ABC334

news2024/11/14 1:18:36

B - Christmas Trees

在x轴上种树,种树的坐标为 A + k M A+kM A+kM
L , R L,R L,R之间(闭区间)有几棵树


首先将 L R LR LR平移A,这样种树坐标为 k M kM kM
然后求 L L L能包含的 k k k R R R能包含的 k k k
最后求出区间树的数量,注意两边都是闭区间。C++64位会越界,用python写就好了。

C - Socks 2

N N N对袜子,每种袜子都是一种颜色 C i = i C_i=i Ci=i
现在有一些颜色 A 1 , A 2 , . . . A k A_1,A_2,...A_k A1,A2,...Ak少了一只,需要将其重新配对,若只剩奇数只袜子则扔掉一只。
配对后每对袜子的分数是 ∣ C i − C j ∣ |C_i-C_j| CiCj
最小化总分之和。


首先是贪心配对,如单独的袜子是偶数,那么按小到大两两组合。
如例子 [ 1 , 3 ] [1,3] [1,3]
如果是 [ 1 , 2 ] , [ 2 , 3 ] [1,2],[2,3] [1,2],[2,3],答案总分和 [ 1 , 3 ] , [ 2 , 2 ] [1,3],[2,2] [1,3],[2,2]是一样的。
我们在单独的袜子中观察,因为相邻的两项如果中间有成对袜子
a i < b < a j a_i<b<a_j ai<b<aj,其中 a i , a j a_i,a_j ai,aj是单独袜子,而 b b b是成对袜子
那么 ( b − a i ) + ( a j − b ) = ( a j − a i ) + ( b − b ) (b-a_i)+(a_j-b)=(a_j-a_i)+(b-b) (bai)+(ajb)=(ajai)+(bb)
也就是分数和成对袜子无关,只需要将单独袜子排序。当单独袜子是偶数时,直接两两组合。
如单独的袜子是奇数,那么需要遍历每一只可能丢弃的袜子
[ 1 , 3 , 5 , 6 , 7 ] [1,3,5,6,7] [1,3,5,6,7]
首先 3 − 1 + 6 − 5 3-1+6-5 31+65
然后 3 − 1 + 7 − 5 = ( 3 − 1 + 6 − 5 ) − 6 + 7 3-1+7-5=(3-1+6-5)-6+7 31+75=(31+65)6+7
然后 3 − 1 + 7 − 6 = ( 3 − 1 + 7 − 5 ) + 6 − 5 3-1+7-6=(3-1+7-5)+6-5 31+76=(31+75)+65
然后 5 − 1 + 7 − 6 = ( 3 − 1 + 7 − 6 ) − 3 + 5 5-1+7-6=(3-1+7-6)-3+5 51+76=(31+76)3+5
…交错进行更新。

D - Reindeer and Sleigh

N N N只雪橇,每只雪橇都是由 A i A_i Ai只驯鹿拉动。
现在给出 X X X只鹿,问最多能拉几只雪橇。


裸考lower_bound的使用方法。

E - Christmas Color Grid 1

N ∗ N N*N NN的方格里面,每个格子为红或者绿。
随机抽一个红色的格子将其转换为绿格子,问转换后绿色的连通格个数的期望值。


首先dfs一遍绿色的连通格子数原来有几个 c n t cnt cnt,并对不同连通块标上号。
然后对于每个红格子,求其周围有几个不同的连通块 s z sz sz,答案就是 c n t − ( s z − 1 ) cnt-(sz-1) cnt(sz1)

F - Christmas Present 2

圣诞老人要给平面坐标上的 N N N个小朋友发礼物
他从 S x , S y Sx,Sy Sx,Sy点的家里出发,依次访问 1.... n 1....n 1....n号小朋友,最后需要回到家。
但是他一次只能携带 K K K件礼物,因此送完 K K K件礼物后需要回到家。
问圣诞老人最少的行程距离。


dp滑动窗口最值。
很明显的有 1... n 1...n 1...n的状态划分,不要想去上一步维护礼物的数量,而是干脆用回到家作为一个状态结束的标志,然后维护 k k k步。
f ( i ) f(i) f(i)为访问完 i i i个小朋友后回到家的最短距离。从 i − k i-k ik切分状态。
f ( i ) = min ⁡ { f ( i − k ) + d i + d i − k + 1 + p a t h ( i − k + 1 , i ) } f(i)=\min \bigg \{ f(i-k)+d_i+d_{i-k+1} + path(i-k+1,i) \bigg \} f(i)=min{f(ik)+di+dik+1+path(ik+1,i)}
其中 p a t h ( i − k + 1 , i ) path(i-k+1,i) path(ik+1,i)代表从 i − k + 1 i-k+1 ik+1点到 i i i点的路径距离,这个距离可以用前缀和求出来:
s [ i ] − s [ i − k + 1 ] s[i]-s[i-k+1] s[i]s[ik+1]
整理可得:
f ( i ) = min ⁡ { f ( i − k ) + d i + d i − k + 1 + s i − s i − k + 1 } k < = K f(i)=\min \bigg \{ f(i-k)+d_i+d_{i-k+1}+s_i-s_{i-k+1} \bigg \} \quad k<= K f(i)=min{f(ik)+di+dik+1+sisik+1}k<=K
这里把 i i i相关的提出来,剩下的部分为:
f ( i ) = min ⁡ { f ( i − k ) + d i − k + 1 − s i − k + 1 } + s i + d i k < = K f(i)=\min \bigg \{ f(i-k)+d_{i-k+1}-s_{i-k+1} \bigg \} + s_i+d_i \quad k<= K f(i)=min{f(ik)+dik+1sik+1}+si+dik<=K
剩下的那部分就交由最小堆来解决。

G - Christmas Color Grid 2

N ∗ N N*N NN的方格里面,每个格子为红或者绿。
随机抽一绿色的格子将其转换为红格子,问转换后绿色的联通格个数的期望值。


前面和E题类似。求连通图的个数。
然后建图。tarjan求对每个节点割完后的连通子图个数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2239799.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go/Golang语言各种数据类型内存字节占用大小和最小值最大值

具体请前往&#xff1a;Go/golang语言基本数据类型字节大小和取值范围(最小值~最大值)

力扣104 : 二叉树最大深度

补&#xff1a;二叉树的最大深度 描述&#xff1a; 给定一个二叉树 root &#xff0c;返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 何解&#xff1f; 树一般常用递归&#xff1a;递到叶子节点开始倒着处理

Android GPU纹理数据拷贝

在 Android 开发中读取纹理数据有以下几种方法&#xff1a; glReadPixelsImageReaderPBO&#xff08;Pixel BufferObject&#xff09; HardwareBuffer 1. glReadPixels glReadPixels 是 OpenGL ES 的 API&#xff0c;通常用于从帧缓冲区中读取像素数据&#xff0c;OpenGL ES…

畅捷通T+ RecoverPassword.aspx

用友 畅捷通T RecoverPassword.aspx 存在未授权管理员密码修改漏洞&#xff0c;攻击者可以通过漏洞修改管理员账号密码登录后台 #漏洞影响版本 12.0&#xff0c;12.1.12.2.12.3 13.0 15.0 16.0 18.0 补丁号291都影响 19.0 补丁号167之前也有影响 对于老版本畅捷通已经…

最全最简单理解迭代器

1. 迭代器的基础概念(iterator) 1.1 本质 迭代器能够用来遍历容器的对象,与能够遍历数组的指针类似,是广义指针。 1.2 作用: 能够让迭代器与算法不干扰的相互发展,最后又能无间隙的粘合起来。重载了*,++,==,!=,=运算符。用以操作复杂的数据结构。容器提供迭代…

python数据写入excel文件

主要思路&#xff1a;数据 转DataFrame后写入excel文件 一、数据格式为字典形式1 k e &#xff0c; v [‘1’, ‘e’, 0.83, 437, 0.6, 0.8, 0.9, ‘好’] 1、这种方法使用了 from_dict 方法&#xff0c;指定了 orient‘index’ 表示使用字典的键作为行索引&#xff0c;然…

[CKS] Create/Read/Mount a Secret in K8S

最近准备花一周的时间准备CKS考试&#xff0c;在准备考试中发现有一个题目关于读取、创建以及挂载secret的题目。 ​ 专栏其他文章: [CKS] Create/Read/Mount a Secret in K8S-CSDN博客[CKS] Audit Log Policy-CSDN博客 -[CKS] 利用falco进行容器日志捕捉和安全监控-CSDN博客[C…

docker之容器设置开机自启(4)

命令语法&#xff1a; docker update --restartalways 容器ID/容器名 选项&#xff1a; --restart参数 no 默认策略&#xff0c;在容器退出时不重启容器 on-failure 在容器非正常退出时&#xff08;退出状态非0&#xff09;&#xff0c;才会重启容器 …

机器学习:决策树——ID3算法、C4.5算法、CART算法

决策树是一种常用于分类和回归问题的机器学习模型。它通过一系列的“决策”来对数据进行分类或预测。在决策树中&#xff0c;每个内部节点表示一个特征的测试&#xff0c;每个分支代表特征测试的结果&#xff0c;而每个叶节点则表示分类结果或回归值。 决策树工作原理 根节点&…

Angular 和 Vue2.0 对比

前言 &#xff1a;“业精于勤&#xff0c;荒于嬉&#xff1b;行成于思&#xff0c;毁于随” 很久没写博客了&#xff0c;大多记录少进一步探查。 Angular 和 Vue2.0 对比&#xff1a; 一.概念 1.1 Angular 框架&#xff1a; 是一款由谷歌开发的开源web前端框架&#xff08;核…

Python酷库之旅-第三方库Pandas(208)

目录 一、用法精讲 971、pandas.MultiIndex.set_levels方法 971-1、语法 971-2、参数 971-3、功能 971-4、返回值 971-5、说明 971-6、用法 971-6-1、数据准备 971-6-2、代码示例 971-6-3、结果输出 972、pandas.MultiIndex.from_arrays类方法 972-1、语法 972-2…

[Linux]:IO多路转接之epoll

1. IO 多路转接之epoll 1.1 epoll概述 epoll是Linux内核为处理大规模并发网络连接而设计的高效I/O多路转接技术。它基于事件驱动模型&#xff0c;通过在内核中维护一个事件表&#xff0c;能够快速响应多个文件描述符上的I/O事件&#xff0c;如可读、可写、异常等&#xff0c;…

Spring Security 认证流程,长话简说

一、代码先行 1、设计模式 SpringSecurity 采用的是 责任链 的设计模式&#xff0c;是一堆过滤器链的组合&#xff0c;它有一条很长的过滤器链。 不过我们不需要去仔细了解每一个过滤器的含义和用法,只需要搞定以下几个问题即可&#xff1a;怎么登录、怎么校验账户、认证失败…

API 接口进行多分支管理的方法

原文链接&#xff1a;API 接口进行多分支管理的方法

链表类算法【leetcode】

链表的定义 面试时&#xff0c;需要自己手写... // 单链表 struct ListNode {int val; // 节点上存储的元素ListNode *next; // 指向下一个节点的指针ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数 }; 【构造函数可以省略&#xff0c;C默认生成一个构造函数…

重构开发之道,Blackbox.AI为技术注入智能新动力

本文目录 一、引言二、Blackbox.AI实战体验2.1 基于网页界面生成前端代码进行应用开发2.2 与AI助手实现实时智能对话2.3 重塑大型文件交互方式2.4 链接Github仓库进行对话编程 三、总结 一、引言 在生产力工具加速进化的浪潮中&#xff0c;Blackbox.AI开始崭露头角&#xff0c…

【STM32F1】——9轴姿态传感器JY901与IIC通信

【STM32F1】——9轴姿态传感器JY901与IIC通信 一、简介 本篇主要对9轴姿态传感器JY901的调试过程进行总结,实现了以下功能。 IIC通信采集+串口收发:使用STM32F103C8T6的GPIO口模拟IIC,从JY901读取数据,并通过USART1串口发送到PC。二、JY901介绍 电压:3.3-5V量程:X/Z轴 …

Linux网络——自定义协议与序列化

一、协议 协议是一种 " 约定 ". socket api 的接口 , 在读写数据时 , 都是按 " 字符串 " 的方式来发送接收的。如 果我们要传输一些 " 结构化的数据 "&#xff0c;依然可以通过协议。 其实&#xff0c;协议就是双方约定好的结构化的数据。…

Windows,虚拟机Ubuntu和开发板三者之间的NFS服务器搭建

Windows,虚拟机Ubuntu和开发板三者之间的NFS服务器搭建 &#xff08;1&#xff09;虚拟机 ubuntu 要使用桥接模式&#xff0c;不能使用其他模式 &#xff08;2&#xff09;通过网线将PC和开发板网口直连:这样的连接&#xff0c;开发板是无法连接外网的 &#xff08;3&#xff…

更改Ubuntu22.04锁屏壁纸

更改Ubuntu22.04锁屏壁纸 sudo apt install gnome-shell-extensions gnome-shell-extension-manager安装Gnome Shell 扩展管理器后&#xff0c;打开“扩展管理器”并使用搜索栏找到“锁屏背景”扩展