当前位置: 首页 > news >正文

【学习笔记】NOIP爆零赛7

结论专场,结果被踩暴了

青鱼和序列

赛时的做法是,维护∑ai×i\sum a_i\times iai×i的取值,发现只和最后一次操作222的位置有关,于是递推O(n)O(n)O(n)解决。

赛后发现还有更神奇的结论 第二个结论是,第一次进行操作222过后,aaa序列变成回文的了,所以这之后1,21,21,2操作就是等价的了。

这两个结论单独来看都很容易发现。不过接下来这个结论可能不容易看出:只要进行了操作222,那么最后的结果就是一定的。事实上这不难从前222个结论中看出。不过如果打表还是很容易看出的

看来我猜结论的功底还是太菜了,还是要多尝试啊

青鱼和怪兽

猜了一个结论,直接二分答案就可以解决。

同样不难通过打表证明这个结论是正确的

青鱼和区间

垃圾题解写的像shit一样,真就谜语人呗

这个结论太小,以至于我看不见

这道题的思维量还是非常高的,不过nknknk这波玄学过题确实佩服。。。

我是joker,以为这道题转移比较难想,最后发现我连计数的对象都没搞清楚

如果不先入为主而是尝试推一下结论的话这道题还是可以分析的吧,但是最后那一步凭考场上的我是无论如何也推不出来的

首先最直白的翻译是,设SiS_iSi表示覆盖iii位置的区间的集合,那么合法的条件等价于SiS_iSi互不相同。

然后有一个结论:不存在i1<i2<j1<j2i_1<i_2<j_1<j_2i1<i2<j1<j2,使得Si1=Sj1≠Si2=Sj2S_{i_1}=S_{j_1}\ne S_{i_2}=S_{j_2}Si1=Sj1=Si2=Sj2

这个结论的正确性其实挺显然的,但是当时我没往这方面想,而是直接去刚dpdpdp了,现在想来确实是不明智的行为

那么我们把相同等价类的位置提出来,记作区间[li:ri][l_i:r_i][li:ri],那么这些区间要么包含要么不相交,这个结构就非常显而易见了:我们可以把原序列划分成若干个连续段,同时不存在两个不属于同一个连续段的i,ji,ji,j使得Si=SjS_i=S_jSi=Sj。这个性质也等价于什么呢,对于询问区间[i:j][i:j][i:j],要么i,ji,ji,j在同一段中,要么[i:j][i:j][i:j]不能制造断点,也就是说[i:j][i:j][i:j]恰好是若干完整的段拼起来的。

现在我们只差最后一步:如何对这些若干不相交的[li:ri][l_i:r_i][li:ri]计数?

我竟就倒在了这里。。。

考虑一个普通至极的思路:正难则反。也就是说,我们减去分出来的段数<n<n<n的方案数。那么我们考虑,假设分成了jjj段,根据前面的观察,我们要把这分出来的jjj段区分出来,然后对于长度为lll的一段,我们需要注意端点是不能包括在区间中的,因此有(l−2)(l−1)2\frac{(l-2)(l-1)}{2}2(l2)(l1)个可选择的区间,方案数为2(l−2)(l−1)22^{\frac{(l-2)(l-1)}{2}}22(l2)(l1)

有了上述动机,我们设dpidp_idpi表示长度为iii的答案,有转移式:dpi=2i(i+1)2−∑j<idpjfi,jdp_i=2^{\frac{i(i+1)}{2}}-\sum_{j<i}dp_jf_{i,j}dpi=22i(i+1)j<idpjfi,j,其中fi,jf_{i,j}fi,j表示把iii分成jjj段的所有方案的系数和。

复杂度O(n3)O(n^3)O(n3)可以用多项式工业优化到O(npoly(n))O(n\text{poly}(n))O(npoly(n)),但是有点复杂并且我不太懂所以就咕了

这就是天才和凡人的差距吗

#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
#define ll long long
#define pb push_back
#define fi first
#define se second
using namespace std;
const int N=305;
int n,mod;
ll pw[N*N],dp[N][N],res[N];
void add(ll &x,ll y){x=(x+y)%mod;
}
int main(){cin>>n>>mod;pw[0]=1;for(int i=1;i<=n*n;i++)pw[i]=pw[i-1]*2%mod;dp[0][0]=1;for(int i=0;i<n;i++){for(int j=0;j<=i;j++){if(dp[i][j]){for(int k=1;k<=n-i;k++){add(dp[i+k][j+1],dp[i][j]*pw[(k-1)*(k-2)/2]);}}}}for(int i=1;i<=n;i++){res[i]=pw[i*(i+1)/2];for(int j=1;j<i;j++){res[i]=(res[i]-res[j]*dp[i][j])%mod;}}cout<<(res[n]+mod)%mod;
}

青鱼和游戏

考场上爆蛋了

这题爆蛋有两个原因:一是确实不会做,二是t3t3t3确实被卡住了

说白了就是太菜了

相关文章:

【学习笔记】NOIP爆零赛7

结论专场&#xff0c;结果被踩暴了 青鱼和序列 赛时的做法是&#xff0c;维护∑aii\sum a_i\times i∑ai​i的取值&#xff0c;发现只和最后一次操作222的位置有关&#xff0c;于是递推O(n)O(n)O(n)解决。 赛后发现还有更神奇的结论 第二个结论是&#xff0c;第一次进行操作…...

一文读懂账号体系产品设计

一、账号体系的概念及价值账号体系是用户在各平台上的通行证。平台给与用户可持续的服务&#xff0c;用户在平台上获取价值&#xff0c;中间的媒介&#xff0c;便是账号体系。阿境将其理解为维系用户与平台之间的枢纽。注&#xff1a;本文中&#xff0c;账号账户&#xff0c;二…...

从“入门”到“专家”,一份3000字完整的性能测试体系的知识分享

随着科技的飞速发展&#xff0c;软件产品广泛应用于各个行业领域&#xff0c;人们对计算机和网络的依赖性越来越大&#xff0c;对新奇事物也越来越感兴趣&#xff0c;成千上万的用户活跃在庞大的网络系统中&#xff0c;这给提供服务的系统带来严重的负荷&#xff0c;"高并…...

构建对话机器人:Rasa3安装和基础入门

在开源对话机器人中&#xff0c;Rasa社区很活跃&#xff0c;在国内很多企业也在使用Rasa做对话机器人&#xff0c;有rasa开发经验的往往是加分项。 当年实习的时候接触到了Rasa&#xff0c;现在工作中也使用Rasa&#xff0c;因此&#xff0c;写写一些经验文档&#xff0c;有助后…...

Spark计算框架入门笔记

Spark是一个用于大规模数据处理的统一计算引擎 注意&#xff1a;Spark不仅仅可以做类似于MapReduce的离线数据计算&#xff0c;还可以做实时数据计算&#xff0c;并且它还可以实现类似于Hive的SQL计算&#xff0c;等等&#xff0c;所以说它是一个统一的计算引擎 既然说到了Spar…...

入职数据分析公认的好书|建议收藏

众所周知&#xff0c;数据分析经常出现在我们的日常生活中&#xff0c;各行各业都需要数据分析。可你知道什么是数据分析&#xff1f;它在企业里到底扮演什么角色&#xff1f;以及如果我们自己也想拥有数据分析的能力&#xff0c;以便更好的满足数据分析的需求&#xff0c;我们…...

Linux查找文件和目录,重定向输出 ,系统默认运行级别的查看和设置理论和练习

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…...

Redis源码---键值对中字符串的实现,用char*还是结构体

目录 前言 为什么 Redis 不用 char*&#xff1f; char* 的结构设计 操作函数复杂度 SDS 的设计思想 SDS 结构设计 SDS 操作效率 紧凑型字符串结构的编程技巧 小结 前言 对于 Redis 来说&#xff0c;键值对中的键是字符串&#xff0c;值有时也是字符串在 Redis 中写入一…...

算法 - 剑指Offer 表示数值的字符串

题目 请实现一个函数用来判断字符串是否表示数值&#xff08;包括整数和小数&#xff09;。 数值&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a; 若干空格 一个 小数 或者 整数 &#xff08;可选&#xff09;一个 ‘e’ 或 ‘E’ &#xff0c;后面跟着一个 …...

初识机器学习

监督学习与无监督学习supervised learning&#xff1a;监督学习&#xff0c;给出的训练集中有输入也有输出&#xff08;标签&#xff09;&#xff08;也可以说既有特征又有目标&#xff09;&#xff0c;在此基础上让计算机进行学习。学习后通过测试集测试给相应的事物打上标签。…...

VsCode安装PlatformIO 开发ESP arduino,买的板子或者随便ESP,PlatformIO添加Board(不是自定义Board)

这次主要记录怎么给新建选板子的时候没有的板子下程序 我这里是一块 WiFi Kit 32 (V3) PlatformIO里面只有到V2 先从头开始&#xff0c;安装PlatformIO 安装PlatformIO 直接搜索安装 安装有时候会比较慢&#xff0c;左侧出现蚂蚁图标之后点击会显示 右下角会提示正在安…...

golang 复杂数据结构解析

[{"key":"15275771","pack":{"1":[{"name":"消息配置","id":15275771,"version":1,"createUser":"molaifeng","data":"test"}]},"callback&qu…...

不怕被AirTag跟踪?苹果Find My技术越来越普及

苹果的 AirTag 自推出以来&#xff0c;如何有效遏制用户用其进行非法跟踪&#xff0c;是摆在苹果面前的一大难题。一家为执法部门制造无线扫描设备的公司近日通过 KickStarter 平台&#xff0c;众筹了一款消费级产品&#xff0c;可帮助用户检测周围是否存在追踪的 AirTag 等设备…...

Linux驱动中的open函数是如何从软件打通硬件呢?

一、前言 打开文件是Linux系统中最基本的操作之一&#xff0c;open函数可以实现打开文件的功能。下面我将为您介绍open函数打通上层到底层硬件的详细过程。 二、open函数打通软硬件介绍 open函数是系统调用中的一种&#xff0c;其原型定义在头文件unistd.h中&#xff1a; #…...

Java 基础语法

Java 是一门广泛使用的编程语言&#xff0c;由于其简单易学和可移植性&#xff0c;已成为开发 Web 应用程序、移动应用程序、桌面应用程序以及企业级应用程序的首选语言之一。在本文中&#xff0c;我们将探讨 Java 的基础语法&#xff0c;包括变量、数据类型、运算符、控制流等…...

python下如何安装并使用matplotlib(画图模块)

在搜索命令中输入cmd&#xff0c;以管理员身份运行。 输入以下命令&#xff0c;先对pip安装工具进行升级 pip install --upgrade pip 升级完成 之后使用pip安装matplotlib pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple 也可以使用pycharm来安装matp…...

系统分析师---计算机网络思维导图

TCP、IP协议簇&#xff08;4星&#xff09; 传输协议&#xff1a;TCP有连接、可靠、有回应机制、三次握手基于TCP的应用层协议&#xff1a;POP3&#xff1a;邮件收取&#xff0c;默认端口110SMTP&#xff1a;邮件发送&#xff0c;默认端口25FTP&#xff1a;文件传输协议&#…...

算法练习(七)数据分类处理

一、数据分类处理 1、题目描述&#xff1a; 信息社会&#xff0c;有海量的数据需要分析处理&#xff0c;比如公安局分析身份证号码、 QQ 用户、手机号码、银行帐号等信息及活动记录。采集输入大数据和分类规则&#xff0c;通过大数据分类处理程序&#xff0c;将大数据分类输出…...

nohup ./startWebLogic.sh >out.log 2>1 解析

在启动weblogic的时候我们经常看到如下的命令&#xff1a; nohup ./startWebLogic.sh >out.log 2>&1 & 从09年开始用weblogic到现在已经过去3年多了 &#xff0c;今天终于将该命令理解清楚了。 其中 0、1、2分别代表如下含义&#xff1a; 0 – stdin (standa…...

OpenCV 坡度计算(基于DEM,C++版本)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 假设一个点位于曲面 z = f ( x , y ) z=f(x,y) z=...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具&#xff0c;相比原生 Python 生态&#xff08;如 pip 虚拟环境&#xff09;有许多独特优势&#xff0c;尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处&#xff1a; 一、一站式环境管理&#xff1a…...

【kafka】Golang实现分布式Masscan任务调度系统

要求&#xff1a; 输出两个程序&#xff0c;一个命令行程序&#xff08;命令行参数用flag&#xff09;和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽&#xff0c;然后将消息推送到kafka里面。 服务端程序&#xff1a; 从kafka消费者接收…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...