XYD1006CSPS

news/2024/10/7 19:46:34/文章来源:https://www.cnblogs.com/chenwenmo/p/18450482

T1 密钥 [关键结论,模拟,枚举]

Description

给定两个长度为 \(n\)\(01\) 序列 \(a\)\(b\),每个位置都有一个权值 \(c\)
每次操作可以将 \(a\) 中一个位置取反,花费为操作后 1 的位置的权值之和,
求将 \(a\) 变成 \(b\) 最小花费。
\(n\le 5\times 10^3\)

Solution

下文将以类似 \(0/1\) 的形式表示 \(a\)\(0\)\(b\)\(1\)
手模样例加推理发现一个关键性质,对于 \(1/0\)\(0/1\) 这两种形式,肯定先把 \(1/0\) 按照权值从大到小变成 \(0/0\),再把 \(0/1\) 从小到大变成 \(1/1\),很好理解,证明简单,这里不再赘述。
但是有种特殊的形式 \(1/1\),可以在上面的操作中,先变为 \(0/1\),最后再变回 \(1/1\),以减小花费,但是我们并不能直接算出要变哪几个 \(1/1\),但是可以知道的是,这几个 \(1/1\) 一定是所有 \(1/1\) 中最大的几个。
于是考虑枚举前几个 \(1/1\) 需要和 \(1/0\) 合起来排序变为 \(0/1\)\(0/1\),再和 \(0/1\) 合起来排序变为 \(1/1\),即可。
排序可以用 set 维护,也可以用双指针,但不能每次都 sort()。

Summary

这题考察了观察和推理能力,以及一些码力,赛时需要多手模样例,多思考,推性质。

T2 科研基地 [树形背包DP]

Description

给定一棵带权树,求一个连通块,使得不在连通块内的点不超过 \(k\) 个,且连通块所有边权之和乘二最小。
\(n\le 10^4\)\(k\le 20\)

Solution

由于 \(k\) 很小,而且是个类似容量的东西,所以我们考虑 树形背包。
\(f(u,i,j)\) 表示在以 \(u\) 为根的子树中,考虑前 \(i\) 个儿子,有 \(j\) 个点不选的最小答案,转移如下,
\(f(u,i,j)=\max(f(u,i-1,j-t)+f(v,cntson_v,t)+w_{u,v}\times 2)\)
其中 \(i\) 这一维用滚动数组滚掉即可。

那么统计总答案只需要枚举每个点的 \(f\) 即可,这样为什么不会漏掉答案呢,为什么不需要 换根DP 呢,因为答案一定是个连通块,所以它一定在以某个点为根的子树,因此这样一定会枚举到最优答案。

Summary

普通的 树形背包 题,重点是最后统计答案时的一个小 trick。

T3 动作指令集 [线段树]

更新中...

T4 偷吃巧克力 [DP,概率论]

更新中...

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高级程序语言第二次个人作业

高级程序语言第二次作业这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2024C/homework/13282学号 222200424姓名 赵伟豪编程练习3.13.23.33.43.53.63.73.8示例程序3.13.23.33.43.53.63.73.83.93.10总结与收获…

浏览器的渲染原理

浏览器渲染原理 五个渲染流程Parse 阶段:解析 HTMLStyle 阶段:样式计算三个阶段:收集,划分和索引所有样式表中存在的样式规则 访问每个元素并找到适用于该元素的所有规则,CSS 引擎遍历 DOM 节点,进行选择器匹配,并且匹配的节点执行样式设置 结合层叠规则和其他信息为节点…

CSP2024 前集训:多校A层冲刺NOIP2024模拟赛03

前言T1 没想到正难则反,脑瘫了没敢用 bitset(复杂度擦边但卡常能过),T2 空间开大了挂了 \(100pts\),\(T3\) 是原。 T1 五彩斑斓部分分 \(20pts\):\(O(n^4)\) 暴力。部分分 \(20+?pts\):进行一些优化,极限数据下仍是 \(O(n^4)\)。部分分 \(60\sim 100pts\):bitset 优化…

在C#中使用适配器Adapter模式和扩展方法解决面向的对象设计问题

之前有阵子在业余时间拓展自己的一个游戏框架,结果在实现的过程中发现一个设计问题。这个游戏框架基于MonoGame实现,在MonoGame中,所有的材质渲染(Texture Rendering)都是通过SpriteBatch类来完成的。举个例子,假如希望在屏幕的某个地方显示一个图片材质(imageTexture)…

React Fiber 原理

React Fiber 在 React 16 之前的版本对比更新 VirtualDOM 的过程是采用 Stack 架构实现的,也就是循环加递归,这种方式的问题是一旦任务开始进行就无法被中断。 如果应用中的组件数量庞大, Virtual DOM 的层级比较深,主线程被长期占用,知道整颗 Virtual DOM 树比对更新完成…

视野修炼-技术周刊第104期 | 下一代 JavaScript 工具链

① 🐙 尤大创办公司 VoidZero ② Tauri 2.0 稳定版发布 ③ Vite 时髦的新主页 ④ qrframe - 漂亮二维码生成 ⑤ HTTP QUERY 方法提案 ⑥ TinyJS - 轻量级的创建DOM元素 ⑦ 9月 Web 平台的新功能 ⑧ ESLint 现在正式支持 Linting JSON 和 Markdown欢迎来到第 104 期的【视野修…

雅礼国庆集训 day1 T2 折射

题面 题面下载 算法 转化题意 说白了就是给了你一堆点,让你数这种折线有多少个 (严格向下走,并且横坐标之间的差越来越小)看着像一种在 y 轴方向排序的 dp 但是由于是折线, 所以需要加一维来判断转向 dp 设计 状态设计 \(dp_{i, 0/1}\) 表示第 i 个点, 是向左下还是右上 状态…

React 中的 diff 算法

React diff为什么使用虚拟 DOM ? 浏览器在处理 DOM 的时候会很慢,处理 JavaScript 会很快,页面复杂的时候,频繁操作 DOM 会有很大的性能开销(每次数据变化都会引起整个 DOM 树的重绘和重排)。 为了避免频繁操作 DOM,React 会维护两个虚拟 DOM,如果有数据更新,会借此计…

20222315 2024-2025-1 《网络与系统攻防技术》实验一实验报告

1.实验内容 1.掌握反汇编与十六进制编程器 2.能正确修改机器指令改变程序执行流程 3.能正确构造payload进行bof攻击 2.实验过程 1.直接修改程序机器指令,改变程序执行流程 将pwn1文件下载至kali中并将pwn1文件改名为pwn20222315,并将其内容复制到pwn2反汇编文件objdump -d…

多校A层冲刺NOIP2024模拟赛03

多校A层冲刺NOIP2024模拟赛03\(T1\) A. 五彩斑斓(colorful) \(90/100pts\)部分分\(20pts\) :枚举左上 \((k,h)\) 、右下端点 \((i,j)\) ,时间复杂度为 \(O(n^{2}m^{2})\) 。 \(90/100pts\) :当 \(a_{i,j} \ne a_{k,j}\) 时任意的 \(h \in [1,j]\) 都符合题意、不妨钦定 \(…

Word中 Endnote 引用标蓝色

1. 打开word中的endnote加载项。如图所示,勾选这两个设置。 确认后会自动变为超链接,显示蓝色以及下划线。 2. 在样式设置中,将超链接的下划线取消。之后就会只显示蓝色引用。 结果显示: