10.17 CSP-S模拟33 改题记录

news/2025/10/17 20:45:54/文章来源:https://www.cnblogs.com/OrangeLand/p/19148799

HZOJ

写在前面

貌似没啥可写。。。大概就是二十多分钟写完T1然后写T2,一直想假一直写挂然后写了三个多小时,好在写出来了。T3看不上,T4正解需要的东西都写了然后喜提0pts,甚至不如输出0的37pts。

《夜信》

今晚会把那天的萤火
送到你的窗边
嗯 是我爱你这句话
我们的初吻在我脑海里浮现
那么 无论何时 闭上眼睛
嗯 到遥远的地方去
宛如波浪停留过的
沙滩上所写的字
你好像已渐渐远去 消失不见
总让我想念又想念
虽然我无法在此
诉说我内心深处的话语
是我爱你这句话啊
名为你的幸运
会怎样来到我身边呢
现在如果我们能在一起的话
啊 该多么美好
宛如波浪停留过的
沙滩上所写的字
你好像已渐渐远去 消失不见
想念 又更想念了
虽然无法在我的日记里
诉说我内心深处的话语
我爱你这句话
今夜会把那天的萤火
呈现在你的窗边
嗯 愿会是个好梦

A. Divisors

签到题。本来以为还要容斥啥的,但是范围直接模拟就能过,然后就过了。

B. Market

罪魁祸首。题意是给定若干个商店及其开店的时间和卖的东西的价值和费用,给定若干个询问,对于每个询问给出开始购物的时间和有的钱,每个商店只能买一个东西,求问最多能买到多少价值的东西。

数据范围粗看是简单的背包dp(实际上也是)。然后大概就是觉得不可能考这么简单的东西,然后往最小费用最大流上面想了。还好及时反应过来开始写背包。然后就发现如果以价值为第二维那答案没有连续性,没法二分出答案;以花费为第二维空间又开不下,时间也不允许那样转移。然后就手搓主席树,发现小点能过大点WA。开大空间反而RE。然后意识到树上也开不下这么多点,而且其慢无比。然后就苦想inf秒。然后突然意识到可以把价值上树,还不用动态开点,遂A之。此时据结束还有5min。

C. 连通性

不要容斥呜呜呜。题意是有一份错误的floyd代码判图的连通性,求问对于给定的\(n\),只有\(n-m\) 个点可以进行中转时该求出的连通性仍然完全正确的连接方式数。

转化题意。将点分为两类,一类为前\(n-m\) 个点,二类为其余点。对于前\(n-m\) 个点,其内部转移不受影响。二类点以一类点可以向二类点或一类点转移,但是一类点无法通过二类点向其他点转移。这启示我们一个连同块内每个二类点必定会和一个一类点相连,且没有任何一个二类点能作为割点。

考虑只有一类点的情况,那答案直接就是\(n\) 个点无向图的数量。只有二类点,那么同一连通块内的每一个点对都有直接的边相连。

那对于一张普通的图,我们就可以把其分为只有一类点,只有二类点和既有一类点又有二类点的连通子图。

对于既有一类点又有二类点的连通块,根据上面的分析,二类点至少和一个一类点相连且不能是割点。

我们首先可以容斥求出\(i\) 个点无向连通图的数量\(g_i\),用简单无向图的数量减去不连通的数量,不连通的个数可以通过枚举任意一个点所在连通块的大小取得:

\[g_n=h_n-\sum_{i=1}^{n-1}g_i\times 2^{\frac{i(i-1)}{2}} \times \binom{n-1}{m-1} \]

考虑求出答案\(f_{n,m}\)。由于连通块是无序的,为了方便转移,我们强制编号为\(n\) 的点在最后一个连通块。

我们先考虑全是二类点的情况:

\[f_{n,m}=\sum_{i=1}^{m} f_{n-i,m-i} \times \binom{m-1}{i-1} \]

即枚举符合条件的子图,再加上若干个二类点连通块的方案数。

然后就可以在连通块内加上一类点了:

\[f_{n,m}=\sum_{i=1}^m \sum{j=1}^{n-m} f_{n-i-j,m-i} \times \binom{m-1}{i-1} \times {n-m}{j} \times (2^j-1)^i \times h_i \times g_j \]

即枚举符合条件的子图再分别枚举添加的一二类点数求得方案数。

然后就是\(O(n^4)\) 预处理\(O(1)\) 查询。

代码实现就是把式子直接上去。

D. 树

题意是给定一棵树。给定若干点对。确定所有树边的方向,使得能满足所有点对能从一方到另一方。求满足限制条件的树边方向组合数。

其实赛时把该写的结构都写得差不多了,至于没写出来,是我太唐了。首先可以知道,如果一条边不被任何一条路径经过,那么它两个朝向都可以选。由于限制条件,某些边就只能选择同一个方向。不会二分图怎么办?考虑将所有路径拍到点上,那么就将所有点拆成两个,一个代表向上的边,一个代表向下的边。然后遍历所有边时在同一个方向上的边用并查集合并,然后转折点出就反方向的边相连。这样最后出现在同一个并查集内的边的就都要选/不选。所以如果最后某一个节点拆出的两个点在同一个集合内,则说明如果要满足条件就必须既要有向上的边又要有向下的边,显然这样不满足题目要求,可以判无解。那么显然每个并查集可以对答案产生2的贡献(向上向下二选一)。所以答案就是\(2^{并查集个数/2}\)。(一条边没有被经过,所以其不会被合并,所以可以算作一个独立的集合)(除以2是因为一正一反会算重)。

然后就考虑如何维护。暴力跳肯定不行。那考虑树链剖分,然后上线段树维护集合情况。理论复杂度\(O(nlog^2n)\),虽然本地跑大样例会T,但是交上去能过,虽然是最劣解而且比倒数第二慢了两倍。

然后要注意各种空间开的倍数,还有不同位置使用的变量下标/含义应该相同,不能混用,否则就狂RE不止。

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

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

相关文章

包装类(基本数据类型对应的引用数据类型)

包装类(基本数据类型对应的引用数据类型) Notice:基本数据类型存在栈里(基本类型基本没有属性和方法,所以基本类型的运算都靠Java提供的运算符) 引用数据类型存在堆里 所以栈里存的是堆里东西的地址NObject可统一…

luogu P7915 [CSP-S 2021] 回文

题目大意 给定一个长度为 \(2n\) 的序列 \(a\),要求每次取出其第一个数或者最后一个数,使得取出的数列 \(b\) 为一个回文数列。 注:回文数列即 \(\forall i\in \{ 1,n \}\) 都有 \(b_i=b_{2n-i+1}\) Sol 考虑第一步…

字典树 Trie 乱讲

Trie 是什么 实际上它就是一颗像字典的树,支持插入单词和查询单词个数等操作。 它的边权是某个字符。比如上图,插入单词 aca 时,我们就可以在 \(5\) 号节点下新建一个节点,边权为 a。而查询是否单词 abs 时,答案为…

系统稳定性监控

系统监控告警在研发日常运营中扮演着关键角色。没有监控,线上应用的运行就如同一个黑盒,无法预知潜在问题,往往只能依靠客服或用户反馈来发现。但此时,可能已经错过了最佳解决时机,甚至导致用户流失。一:系统监控…

USACO 绿-蓝 思维题小记

P6005 [USACO20JAN] Time is Mooney G dj 跑最长路是错的,可以以经过边数为阶段 \(O(nm)\) dp P6149 [USACO20FEB] Triangles S 枚举每个点,四个象限分讨,前缀和+二分做完 P6278 [USACO20OPEN] Haircut G 我的想法是…

Day16-C:\Users\Lenovo\Desktop\note\code\JavaSE\Basic\src\com\classlei

Random()java.lang.Math.Random 调用这个Math.Random()能返回带正号的double值,该值[0.0,1.0),该返回值是一个伪随机选择的数,在该范围内近似均匀分布 public class random {public static void main(String[] args…

一个实用的短视频脚本创作指令分享

整理了一套结构化的AI指令,专门用来生成抖音短视频脚本。实测下来效果不错,这里分享给有需要的朋友。上周帮朋友优化了几个短视频脚本,发现很多人卡在"知道要拍什么,但不知道怎么拍"这个环节。于是整理了…

redis和mysql之间的数据一致性

解决双写一致性问题的主要策略 1、旁路缓存模式(Cache Aside Pattern) 在这个模式中,我们一般都是先更新数据库再删除旧缓存。 首先,为什么我们不选择先删除缓存再更新数据库,因为这样会导致在并发的情况下,假如A线…

ubuntu允许root登录桌面系统

1.设置root密码 sudo passwd root2.解锁root sudo passwd -u root 3.允许root登录 sudo nano /etc/gdm3/custom.conf# [Security] 下添加一下行AllowRoot=truesudo nano /etc/pam.d/gdm-password#注释或删掉以下行au…

申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​

申威(sw_64)架构下如何安装java-1.8.0-swjdk的rpm包?​​ 专门为申威(sw_64)架构的电脑打造的Java 8运行环境。 ​1. 下载文件​ 安装包下载:https://pan.quark.cn/s/936281541bdf ,确保你已经下载了 java-1.8.…

AI协科学家:技术革命还是安全噩梦?

本期节目深入探讨AI协科学家如何推动科学突破,分析基于智能体架构中的安全黑洞问题,讨论人类是否准备好让AI处理所有日常任务,并揭示相关技术风险与挑战。在《两个漏洞之间》的这期特别节目中,我们紧接着上个月的内…

一个决定

一个决定在家毛了好几天了,一个原因是下雨,一个原因是家里有大显示器。 但是家里的效率奇差。 自己做饭,一日三餐得刷碗,然后吃饭得时候刷剧,吃完饭了,还很难抽离出来。 今天好了,炒白菜得时候加了两勺我妈今年…

详细介绍:k8s部署前后分离架构微服务——跨域和缓存问题

详细介绍:k8s部署前后分离架构微服务——跨域和缓存问题pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas…

npm镜像配置

npm全称Node Package Manager,是node.js的模块依赖管理工具。由于npm的源在国外,所以国内用户使用起来各种不方便。下面整理出了一部分国内优秀的npm镜像资源,国内用户可以选择使用。 国内优秀npm镜像淘宝npm镜像搜…

一些特性

原始字符串(Raw String Literals) C++ 11特性 一种所见即所得的东西,可以完美返回你想要的字符串,包括换行等等 大体长这样 R"()"使用方式如 string k = R"(asdfasd sd gf a)"; cout <<…

实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统

实用指南:计算机毕设java基于mybatis的医用器械管理系统 基于 SSM+JavaWeb 的医用器械全流程管理平台 Java+MySQL 的医疗物资一体化系统2025-10-17 20:04 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: …

计算机视觉技术与应用深度解析

本文详细介绍了计算机视觉技术在电商推荐、无人机导航、广告生成等领域的实际应用,探讨了视觉语言模型的架构设计与抗幻觉技术,并分析了云端AI服务的三层技术栈构建原理。计算机视觉技术与应用深度解析 在今年的计算…

央链知播受权发布:图说《“可信资产 IPO + 数链金融 RWA” 链改 2.0 六方共识》 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

AGC 板刷记录1

准备板刷 \(\text{agc}\),顺便写一个做题记录 [AGC072A] Rhythm Game 感觉水黑吧,洛谷恶评。 一眼就能看出不是贪心就是 \(\text{dp}\),发现其实两者兼有,首先把这个题转化成:有若干个任务,第 \(i\) 个任务在 \(…

2025.10.17总结

心理咨询完成聊天室功能,有点小bug,但是整体上功能已经较为完善了,修修改改后去进行心理视频学习,或心理测评模块的开发