7.29训练总结

news/2024/4/16 15:43:21/文章来源:https://blog.csdn.net/andyc_03/article/details/131998722

CodeForces - 1609E

这种使得整个串不包含子串’abc’的题目,发现可以用线段树维护

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
#define lson now<<1
#define rson now<<1|1
struct seg
{int a,b,c;int ab,bc,abc;
}tr[maxn<<2];
int n,q;
char s[maxn];
void pushup(int now)
{tr[now].a=tr[lson].a+tr[rson].a;tr[now].b=tr[lson].b+tr[rson].b;tr[now].c=tr[lson].c+tr[rson].c;tr[now].ab=min(tr[lson].a+tr[rson].ab,tr[lson].ab+tr[rson].b);tr[now].bc=min(tr[lson].b+tr[rson].bc,tr[lson].bc+tr[rson].c);tr[now].abc=min(tr[lson].a+tr[rson].abc,min(tr[lson].ab+tr[rson].bc,tr[lson].abc+tr[rson].c));
}
void build(int now,int l,int r)
{if(l==r){if(s[l]=='a') tr[now].a=1;if(s[l]=='b') tr[now].b=1;if(s[l]=='c') tr[now].c=1;return;}int mid=l+r>>1;build(now<<1,l,mid);build(now<<1|1,mid+1,r);pushup(now);
}
void change(int now,int l,int r,int pos,char cc)
{if(l==r){tr[now].a=tr[now].b=tr[now].c=0;if(cc=='a') tr[now].a=1;if(cc=='b') tr[now].b=1;if(cc=='c') tr[now].c=1;return;}int mid=l+r>>1;if(pos<=mid) change(lson,l,mid,pos,cc);else change(rson,mid+1,r,pos,cc);pushup(now);
}
int main()
{freopen("a.in","r",stdin);freopen("a.out","w",stdout);scanf("%d%d",&n,&q);scanf("%s",s+1);build(1,1,n);while(q--){int x; char cc;scanf("%d %c",&x,&cc);change(1,1,n,x,cc);printf("%d\n",tr[1].abc);// change(1,1,n,x,s[x]);}return 0;
}

AtCoder - arc061_d

请添加图片描述

#include<bits/stdc++.h>
using namespace std;
const int maxn=9e5+5;
typedef long long ll;
const ll mod=1e9+7;
int n,m,k;
ll pw[maxn],fac[maxn],inv[maxn],ifac[maxn];
ll C(ll x,ll y)
{return fac[x]*ifac[y]%mod*ifac[x-y]%mod;
}
int main()
{freopen("a.in","r",stdin);freopen("a.out","w",stdout);scanf("%d%d%d",&n,&m,&k);pw[0]=1,fac[0]=inv[0]=ifac[0]=inv[1]=1;for(int i=1;i<maxn;i++){pw[i]=pw[i-1]*3%mod;fac[i]=fac[i-1]*i%mod;if(i>1) inv[i]=(mod-mod/i)*inv[mod%i]%mod;ifac[i]=ifac[i-1]*inv[i]%mod;}ll ans=0;ll tmp;// cerr<<C(1,1);for(int i=0;i<=k+m;i++){ll res=C(n+i-1,i)*pw[m+k-i]%mod;// cerr<<res;if(!i) tmp=1;else{tmp=tmp*2%mod;if(i>m) tmp=(tmp+mod-C(i-1,m))%mod;if(i>k) tmp=(tmp+mod-C(i-1,i-k-1))%mod; }// cerr<<tmp; ans=(ans+res*tmp)%mod;}printf("%lld\n",ans);return 0;
}

CodeForces - 1734F

容易发现这种构造方式得到的串的0/1取决于二进制表示下1的个数的奇偶性,奇数个就是1,偶数个就是0

那么问题转换为从0开始和从n开始的m个数,有多少二进制下1的个数的奇偶性不同,然后就数位dp即可

注意使用1<<w的时候,如果w是大于31记得改成1ll!!!!!!

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll f[62][2][2][2];
ll dp(ll n,ll m)
{m--;memset(f,0,sizeof(f));f[0][0][0][0]=1;for(int w=1;w<=61;w++){int v=0;if(n&(1ll<<w-1)) v=1;int one=0;if(m&(1ll<<w-1)) one=1;for(int i=0;i<=1;i++)for(int j=0;j<=1;j++)for(int lim=0;lim<=1;lim++)for(int k=0;k<=1;k++){ int val=k^j^v; // 这一位是选择的0/1 和之前是否进位 以及相加的这一位是否是1int s=i^val^k; // 是否有奇数个int jw=(k+j+v>=2)?1:0;int limm=(k<one || (k==one && !lim))?0:1;f[w][s][jw][limm]+=f[w-1][i][j][lim];}}return f[61][1][0][0];
}
int main()
{freopen("a.in","r",stdin);freopen("a.out","w",stdout);int T; scanf("%d",&T);while(T--){ll n,m; scanf("%lld%lld",&n,&m);printf("%lld\n",dp(n,m));}return 0;
}

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

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

相关文章

2023 年还推荐报计算机专业吗?

计算机科学是一个很好的专业&#xff0c;因为它由各种课程组成&#xff0c;为学生在成熟和新兴专业就业做好准备。以下是一些通常属于计算机科学专业的课程&#xff1a; 基本编程介绍了用于构建和维护数字架构和基础设施的编程语言和标准。 微积分为制定高级计算和设计概念提供…

eclipse 最新版没有navigator视图如何解决

使用project exploere视图可以显示类似navigator视图 1.显示project exploere视图 window---->show view --->project exploere 2.project exploere视图转换为类似navigator视图 第一步&#xff1a;点击视图右上角三个点或者倒三角&#xff0c;点击fiters and custom…

蓝图节点编辑器

打印字符串 第02章 蓝图结构 03 -注释和重新路由_哔哩哔哩_bilibili 第02章 蓝图结构 04 - 变量_哔哩哔哩_bilibili 第03章 蓝图简易门 01 - 箱子碰撞_哔哩哔哩_bilibili 第03章 蓝图简易门 02 - 静态Mesh和箭头_哔哩哔哩_bilibili 第03章 蓝图简易门 03 - 设置相对旋转节点_哔…

rocketmq rsqldb 简单记录

GitHub 地址 https://github.com/alibaba/rsqldb/tree/main&#xff0c;是和目前stream sql化看齐的Rocketmq的sql&#xff0c;类似还有kafka的sqlDB 和flink sql。 目前版本0.2 &#xff0c;主要提供rest模式调用&#xff0c;controller类为public class RsqlController支持的…

6G内存运行Llama2-Chinese-7B-chat模型

6G内存运行Llama2-Chinese-7B-chat模型 Llama2-Chinese中文社区 第一步&#xff1a; 从huggingface下载 Llama2-Chinese-7b-Chat-GGML模型放到本地的某一目录。 第二步&#xff1a; 执行python程序 git clone https://github.com/Rayrtfr/llama2-webui.gitcd llama2-web…

儿童居家健身好伙伴,小莫计数摸高训练器

现在的孩子们的越来越不喜欢运动了&#xff0c;总是爱玩手机游戏&#xff0c;对他们的身体健康非常不好&#xff0c;作为家长&#xff0c;我们希望能够给孩子提供更多的运动机会&#xff0c;有必要每天准备一些能让他们活动活动手脚的小游戏&#xff0c;让他们每天有足够的运动…

Pytorch个人学习记录总结 10

目录 优化器 优化器 官方文档地址&#xff1a;torch.optimhttps://pytorch.org/docs/stable/optim.html Debug过程中查看的grad所在的位置&#xff1a; model --> Protected Atributes --> _modules --> ‘model’ --> Protected Atributes --> _modules -…

【matlab】机器人工具箱快速上手-动力学仿真(代码直接复制可用)

动力学代码&#xff0c;按需修改参数 各关节力矩-关节变量的关系曲线&#xff1a; %%%%%%%%SCARA机器人仿真模型 l[0.457 0.325]; L(1) Link(d,0,a,l(1),alpha,0,standard,qlim,[-130 130]*pi/180);%连杆1 L(2)Link(d,0,a,l(2),alpha,pi,standard,qlim,[-145 145]*pi/180);%连…

小学期笔记——天天酷跑1

文件快照&#xff08;File snapshot&#xff09;通常是指对文件系统中某个特定时间点的文件或文件夹的快照或副本。它记录了文件或文件夹在某一时刻的状态&#xff0c;包括文件的内容、属性、权限、位置等信息。 文件快照通常用于数据备份、恢复和版本控制等目的。通过捕捉文件…

关于c++中虚函数和虚函数表的创建时机问题

以这段代码为例。 #include <iostream>using namespace std;class Parent { public:Parent(){}virtual void func1() {};virtual void func2() {}; };class Child :public Parent { public:Child():n(0),Parent(){cout << "Child()" << endl;}vir…

【网络原理】 (1) (应用层 传输层 UDP协议 TCP协议 TCP协议段格式 TCP内部工作机制 确认应答 超时重传 连接管理)

文章目录 应用层传输层UDP协议TCP协议TCP协议段格式TCP内部工作机制确认应答超时重传 网络原理部分我们主要学习TCP/IP协议栈这里的关键协议(TCP 和 IP),按照四层分别介绍.(物理层,我们不涉及). 应用层 我们需要学会自定义一个应用层协议. 自定义协议的原因? 当前的软件(应用…

轮趣科技教育版ros小车键盘控制运动

我之前买的ros小车是单独买的底板&#xff0c;以为随便一个树莓派就可以&#xff0c;因为我以前有一个树莓派3B&#xff0c;后来买了单独的小车之后&#xff0c;发现只能使用树莓派4B&#xff0c;然后又单独买了一个树莓派4B&#xff0c;给装上镜像&#xff0c;安装ros-melodic…

基于因果关系知识库的因果事件图谱构建、文本预处理、因果事件抽取、事件融合等

项目设计集合&#xff08;人工智能方向&#xff09;&#xff1a;助力新人快速实战掌握技能、自主完成项目设计升级&#xff0c;提升自身的硬实力&#xff08;不仅限NLP、知识图谱、计算机视觉等领域&#xff09;&#xff1a;汇总有意义的项目设计集合&#xff0c;助力新人快速实…

IntersectionObserver实现小程序长列表优化

IntersectionObserver实现小程序长列表优化 关于 IntersectionObserver 思路 这里以一屏数据为单位【一个分页的10条数据&#xff0c;最好大于视口高度】&#xff0c; 监听每一屏数据和视口的相交比例&#xff0c;即用户能不能看到它 只将可视范围的数据渲染到页面上&#x…

基于注解的 SpringMVC

SpringMVC SpringMVC使用SpringMVC的两个配置EnableWebMVC 和 ACWACSpringMVC执行流程接收请求参数Postman 发包工具&#xff08;&#xff09;get 请求---简单类型数据&#xff08;基本数据类型和String&#xff09;get 请求---对象类型数据get 请求---数组类型get 请求 --- 集…

Codeforces Round 886 (Div. 4)F题解

文章目录 [We Were Both Children](https://codeforces.com/contest/1850/problem/F)问题建模问题分析1.分析到达的点与跳跃距离的关系2.方法1倍数法累计每个点所能达到的青蛙数代码 方法2试除法累计每个点能到达的青蛙数代码 We Were Both Children 问题建模 给定n个青蛙每次…

自动驾驶感知系统--惯性导航定位系统

惯性导航定位 惯性是所有质量体本身的基本属性&#xff0c;所以建立在牛顿定律基础上的惯性导航系统&#xff08;Inertial Navigation System,INS&#xff09;(简称惯导系统)不与外界发生任何光电联系&#xff0c;仅靠系统本身就能对车辆进行连续的三维定位和三维定向。卫星导…

前端框架学习-Vue(二)

最近在学习Vue框架&#xff0c;Vue中的内容很多。相当于把之前后端的MVC&#xff0c;V层转移到前端来编写和部署。下面是学习Vue时的大纲。 Vue生命周期是Vue应用的生命周期Vue脚手架&#xff0c;即vue-cli&#xff0c;使用node.js 来创建和启动vue项目Vue组件知识&#xff0c;…

Linux - PostgreSQL 适用于9.x 以上的 tar.gz 源码安装与理解 - 报错集锦

这里写目录标题 序言主要内容bash 配置文件个人理解关于初始化 PostgreSQL 数据库的理解 启动方法检查服务器是否在PostgreSQL中运行关闭 postgresql 数据库方法参考链接 序言 PostgreSQL 9.x 以下版本笔者没用过&#xff0c;具体操作看参考链接&#xff0c;笔者就不记录重复操…

深入解析Linux进程内存:VSS、RSS、PSS、USS及查看方式

VSS 虚拟耗用内存大小&#xff0c;是进程可以访问的所有虚拟内存的总量&#xff0c;包括进程独自占用的物理内存、和其他进程共享的内存、分配但未使用的内存。 RSS 驻留内存大小&#xff0c;是进程当前实际占用的物理内存大小&#xff0c;包括进程独自占用的物理内存、和其…