2024.7 总结

news/2024/7/8 22:58:28/文章来源:https://www.cnblogs.com/dijah/p/18286677

数据结构

【CF380C】 Sereja and Brackets

题目描述

  • 本题中「合法括号串」的定义如下:
    • 空串是「合法括号串」。
    • \(s\) 是「合法括号串」,则 \((s)\) 是「合法括号串」。
    • \(s,t\) 是「合法括号串」,则 \(st\) 是「合法括号串」。
  • 有一个括号串 \(s\)\(m\) 次操作。操作有一种:
    1. l r:求字符串 \(t=s_ls_{l+1}\cdots s_r\) 的所有 子序列 中,长度最长的「合法括号串」,输出长度即可。
  • \(1\le |s|\le 10^6\)\(1\le m\le 10^5\)

解题思路

首先,将 \((,)\) 转化成 \(+1,-1\) ,就是找一个子序列,使得所有的前缀和 \(\ge 0\) ,最后一个前缀和为 \(0\)
我们考虑使用线段树,维护没能匹配的 \((\) 数量与没能匹配的 \()\) 数量。
每次两个区间合并时,就是将两区间没匹配的 \(()\) 个配对了进行计算即可。
由于我们默认没匹配的 \((\) 尽量靠前,没匹配的 \()\) 尽量靠后,不会出现匹配不了的问题。
时间复杂度 \(O(nlogn)\)

Code

#include<bits/stdc++.h>
using namespace std;
struct datay
{int v1,v2;
}f[4000005];
string a;
int n,m; 
void build(int x,int l,int r)
{if(l==r){if(a[l]=='(')f[x].v1=1,f[x].v2=0;else f[x].v1=0,f[x].v2=1;return;}int lc=(x<<1),rc=(x<<1)|1,mid=(l+r)>>1;build(lc,l,mid),build(rc,mid+1,r);f[x].v1=f[lc].v1+f[rc].v1-min(f[lc].v1,f[rc].v2);f[x].v2=f[lc].v2+f[rc].v2-min(f[lc].v1,f[rc].v2);return;
}
datay query(int x,int l,int r,int ql,int qr)
{if(ql<=l&&r<=qr)return f[x];int mid=(l+r)>>1,lc=(x<<1),rc=(x<<1)|1;if(qr<=mid)return query(lc,l,mid,ql,qr);if(ql>mid)return query(rc,mid+1,r,ql,qr);datay z,q=query(lc,l,mid,ql,qr),w=query(rc,mid+1,r,ql,qr);z.v1=q.v1+w.v1-min(q.v1,w.v2);z.v2=q.v2+w.v2-min(q.v1,w.v2);return z;
}
int main()
{int x,y;datay z;cin>>a,n=a.size();a=' '+a,build(1,1,n);scanf("%d",&m);for(int i=1;i<=m;i++){scanf("%d%d",&x,&y),z=query(1,1,n,x,y);printf("%d\n",y-x+1-z.v1-z.v2);}return 0;
}

【梦熊】 对称之美

题目描述

给出 \(n,k\) \((1 \le n,k \le 10^{14})\) ,求 \(\sum_{i=0}^{k-1} C_{2i}^i n^i (mod\) \(k)\)

解题思路

首先,枚举可得,\(k=2\) 时答案为 \(1\)

\[C_{2n}^n=\frac{(2n)!}{n! \times n!} =2^n \times \frac{1 \times 3 \times ... \times (2n-1)}{n!} = (-2)^n \times \frac{\prod_{i=0}^{n-1}(k-1-2i)}{n!}=(-4)^n \times \frac{\prod_{i=0}^{n-1}(\frac{k-1}{2}-i)}{n!} \]

带回原式并化简,即为:

\[\sum_{i=0}^{k-1} (-4n)^i \times C_{\frac{k-1}{2}}^{i}=(1-4n)^{\frac{k-1}{2}} \]

结合二项式定理,由于 \(k\) 较大,需用龟速乘,结合快速幂 \(O(log^2n)\) 解决。

Code

#include<bits/stdc++.h>
using namespace std;
unsigned long long mod;
unsigned long long mul(unsigned long long x,unsigned long long y)
{unsigned long long h=0;while(y>0){if(y&1)h=(h+x)%mod;x=(x+x)%mod,y/=2;}return h;
}
unsigned long long poww(unsigned long long x,unsigned long long y)
{x=(x+mod)%mod;unsigned long long h=1;while(y>0){if(y&1)h=mul(h,x);x=mul(x,x),y/=2;}return h;
}
void poi()
{unsigned long long x,y;cin>>x>>y;if(x==1){printf("1\n");return;}mod=x;cout<<(poww((4*mod+1-4*y)%mod,(mod-1)/2)+mod)%mod<<'\n';return;
}
int main()
{unsigned long long qwe;cin>>qwe;for(int i=1;i<=qwe;i++)poi(); return 0;
}

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

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

相关文章

积分中值定理的证明1

积分中值定理的证明如下:

24年读书清单

最近整理的读书清单,今年的读书就从里面挑选了;

【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错

问题描述 iOS Objective-C 应用,连接Azure Storage Account, 根据官网Example代码,在没有关闭Storage Account的匿名访问时,程序正常运行。但是,只要关闭了匿名访问,上传blob到Container中,就会报错:Public access is not permitted on this storage account 问题解答…

模拟集成电路设计系列博客——9.4 ESD保护单元

模拟集成电路设计 9.4 ESD保护单元 ESD,即electrostatic discharge(静电放电)是集成电路设计中的一个经典问题。通常在电路的生产和使用过程中,很容易由于各种原因积累大量的静电电荷,一旦产生静电放电,极高的静电电压(可能\(>1000V\))会对电路产生不可逆的破坏。因…

函数进阶应用1

Excel函数进阶VLOOKUP函数 返回多列结果 通过混合引用,match函数查找以及Vlookup函数,使用填充柄拖拽行列填充 操作演示:说明首先我们可以写一个普通的VLOOKUP函数通过match函数找到要填充的符合条件的内容所在单元格的位置在拖拽时,分析哪些需要绝对引用,哪些需要混合引用…

Linux学习前置,红帽Linux系统安装

前置: 下载:VMware Workstation Pro 17,以及所需要使用的Linux版本;安装VMware Workstation; 安装: 进入VMware后选择新建虚拟机: 选择Linux和red hat 9版本; 选择使用网络地址转换 接下来选择推荐的设置就好; 选择新建磁盘 虚拟机创建好后在设备一栏里单击CD/DVD(SAT…

C++:win11下的VScode构建百度Comate

一. VScode的安装官网下载地址:https://code.visualstudio.com/ (选择好对应的系统版本) 汉化:安装完软件后,打开软件界面的"扩展商店",搜索Chinese,下载相应的插件,如下图:二. 配置C++开发环境VSCode只是一个高级的编辑器,可以用来写C++代码,不能直接编译…

学习笔记(0):重拾Halcon

目录前言教学视频 前言 了解我的人可能知道,我其实很想回去全职做外贸,但是大环境不好,淘宝做了3个月,1688做了1个月。我只能说销量很惨淡。现在打算还是老老实实上班去了。 教学视频 我之前找一个B站UP主,买了一下他的教学视频。600块钱,总共有40集,大概10个小时。大概…

Golang channel底层是如何实现的?(深度好文)

Go语言为了方便使用者,提供了简单、安全的协程数据同步和通信机制,channel。那我们知道channel底层是如何实现的吗?今天k哥就来聊聊channel的底层实现原理。同时,为了验证我们是否掌握了channel的实现原理,本文也收集了channel的高频面试题,理解了原理,面试题自然不在话…

初识XML

一.XML概述XML,Extensible Markup Language,扩展性标识语言具体作用为:(1)可作为一种简单的数据库,存储并检索数据;(2)传输约定格式的文件;(3)做软件的配置文件。【配置文件:保存软件设置的文件】HTML和XML的区别:HTML标签不能自定义,XML标签只能自定义。 HTML语法要…

本地Windows10怎样配置免安装版本MySQL?

下载MySQL免安装压缩包下载地址:https://downloads.mysql.com/archives/community/ 解压安装1、接下来我们解压文件夹,这时我们解压的文件夹是没有my.ini文件和data目录,这时我们需要自己创建my.ini文件,data文件后期回自动生成 2、新建配置my.ini文件,并添加配置信息,如下…

8、IDEA集成Git

8.1、配置Git忽略文件 8.1.1、忽略文件的原因 在使用 IDE 工具时,会自动生成一些和项目源码无关的文件,所以可以让 Git 忽略这些文件。 此外,把这些无关文件忽略掉,还能够屏蔽不同 IDE 工具之间的差异。 8.1.2、创建忽略规则文件如上图所示,在用户家目录下创建了一个忽略规…

时间序列分析专题——指数平滑模型

指数平滑法模型,分为季节性模型和非季节性模型。季节性模型只有在为活动数据集定义了周期时才可用。 本章只理论性地介绍这六种指数平滑法模型,让学习者在论文的应用中有话可写。 在具体实现中,SPSS会自动识别并给定一种最好的模型。 目录一、简单指数平滑法1.模型介绍2.关于…

Blazor 逐键搜索并动态反馈到url

Blazor 逐键搜索并动态反馈到url 源码 前言: 今天打开了 spotify 网页版找歌, 突然发现这个功能很抓眼球,于是试试blazor能不能模仿一下.1. 节省时间,直接用模板开搞 新建项目,使用bb模板, 命名为 b22dynamicURL2. 运行一次,看看效果 显示如下模板站点,就说明你前面的操作都对了…

集团数字化建设总体规划

1、数字生态体系建设规划 体系规划整体思路 从战略出发,描绘企业愿景蓝图,结合领先实践,设计方案与实施路线 通过体系规划和建设,助力业务发展,支撑战略落地 数字化助力上下贯通的高效管理与横向协同的业务经营 建设后援集中平台,实现高效高质集中作业、交叉销售,产生规…

氛围共处(Ambient Co-presence)丨RTE 共读计划

在同一个网络空间和情境下,营造一种微妙的、隐约感知的、实时同步的感觉。 加入「RTE 共读计划」: 重要的技术,往往是那些不易察觉却无所不在的技术。欢迎阅读「RTE 共读计划」的文章,我们希望通过本计划:• 挖掘到那些帮助人们跨越距离实时互动(Real-Time Engagement,R…

【已解决】pip已经安装好了模块,运行代码还是报错说没安装

在 Python 开发中,有时用 pip 安装了模块,运行代码时却提示没安装,这让人很困惑。下面来看看可能的原因和解决办法可能原因:1. 虚拟环境出错:如果用了虚拟环境,可能装错了地方,运行代码时用的环境没装这个模块。2. Python 版本不同:安装模块和运行代码的 Python 版本不…

# Day01

愿你自由如夏天的风,去实现所有开出花来的梦 Ctrl+C复制 Ctri+V粘贴 Crtl+A全选 Crtl+X剪切 Crtl+Z撤销 Crtl+S保存 …

关于平衡树(施工中)

关于Splay$\LARGE {一些无聊的定义}$ 二叉搜索树(BST树) 定义 二叉搜索树是一种二叉树的树形数据结构,其定义如下:空树是二叉搜索树。若二叉搜索树的左子树不为空,则其左子树上所有点的附加权值均小于其根节点的值。若二叉搜索树的右子树不为空,则其右子树上所有点的附加权…