首页 > 其他分享 >考试总结

考试总结

时间:2024-03-12 12:11:42浏览次数:21  
标签:总结 rt return int max tree Query 考试

额,集训考试模板忘了,T1就13分,考试的时候模板调了好久,最后还是有一个地方错了

点击查看代码
int Query(int rt,int l,int r)//查询区间和
{ 
        if(l<=tree[rt].l&&tree[rt].r<=r)
	        return tree[rt].max;
        int mid=(tree[rt].l+tree[rt].r)>>1;
        if(r<=mid) return Query(lson,l,r);
        else if(l>mid) return Query(rson,l,r);
        else return max(Query(lson,l,r),Query(rson,l,r));//返回值是取函数返回最大值!!!
}//查询区间的时候不是max(t[lson].max,t[rson].max);!!!!!!!!!!
T2当时没思路,想打树形dp,忘了模板而且好像思路也不太对就没打,T3好像也没啥思路当时,但是看完题解代码真的好短,就一个动规就搞定了。
点击查看代码
for(int i=n;i>=1;i--) 
{
        f[i]=min(f[i+a[i]+1],f[i+1]+1);//是要i当起点还是下一个点当起点
}
T4本来也想打线段树拿点分但是因为T1模板打错所以T4也没分。 过年回来大部分都学的和树有关,还有一个单调队列单调栈 树状数组和线段树差不多,但是我感觉线段树更好理解一些 树状数组一般就是建树,更改和查询但是记得要开两个数组!!!
点击查看代码
void add(int rt,int k)//建树和更新
{
        for(int i=rt;i<=n;i+=lowbit(i))
        {
	        c[i]+=k;
        }
}
int getsum(int rt)//区间求和
{
        int sum=0;
        for(int i=rt;i>=1;i-=lowbit(i))
        {
	        sum+=c[i];
        }        
        return sum;
}
//线段树代码还要长一些
void pushup(int rt)//回溯更新父节点 
{
        tree[rt].max=max(tree[lson].max,tree[rson].max);
}
void Build(int rt,int l,int r)//建树 
{
        tree[rt].l=l;
        tree[rt].r=r;
        if(l==r)
        {
	        tree[rt].max=a[l];
	        return;
        }
        int mid=(l+r)>>1;
        Build(lson,l,mid);
        Build(rson,mid+1,r);
        pushup(rt);
}
void Update(int rt,int pos,int val)//单点更新 
{
        if(tree[rt].l==tree[rt].r)
        {
	        tree[rt].sum+=val; 
	        return;
        }
        int mid=(tree[rt].l+tree[rt].r) >> 1;
        if(pos<=mid) Update(lson,pos,val);
        else Update(rson,pos,val);
        pushup(rt);
}
int Query(int rt,int l,int r)//查询区间和或者最大最小值都行改一下结构体后缀就行
{
        if(l<=tree[rt].l&&tree[rt].r<=r)
	        return tree[rt].max;
        int mid=(tree[rt].l+tree[rt].r)>>1;
        if(r<=mid) return Query(lson,l,r);
		else if(l>mid) return Query(rson,l,r);
		else return max(Query(lson,l,r),Query(rson,l,r));
}

标签:总结,rt,return,int,max,tree,Query,考试
From: https://www.cnblogs.com/cuichenxi/p/18068019

相关文章

  • Ingress 注释常用功能总结
    ingress注释常用功能总结--annotations-prefix #特定于NGINX控制器的入口注释的前缀。(默认“nginx.ingress.kubernetes.io”)1、域名重定向这个配置会把www.kailinhr.com跳转到www.zhuoliehr.com。#主要配置nginx.ingress/permanent-redirect-code:"301"nginx.ingres......
  • STM32 LwIP学习过程问题总结(一):LwIP ping不通,抓包发现ICMP校验和为0x0000
    一、问题今天在将之前的STM32LwIP1.4.1版本程序移植到2.1.2版本上时,发现ping不同,但是开发板有ICMP回复包,黄颜色警告checksum为0x0000。说明LwIP移植应该是没问题,数据处理这一块出错了。 在网上找了下相关的错误,ST论坛有个问题和我这个一样。HardwareIPv4checksumonanST......
  • EOL 总结:CMakeLists 与 shell
    一、CMakeLists1、AUX_SOURCE_DIRECTORY定义:aux_source_directory查找在某个路径下的所有源文件###Demo1#查找当前目录下的所有源文件#并将名称保存到SRC_LIST变量aux_source_directory(.SRC_LIST)add_executable(main${SRC_LIST})###Demo2AUX_SOURCE_DIRECT......
  • 今日总结
        importjava.util.*;publicclasstest{staticScannerin=newScanner(System.in);publicstaticvoidinput(inta[],intn){//数组输入for(inti=0;i<n;i++){a[i]=in.nextInt();}}publicstaticin......
  • 博弈论个人笔记总结
    博弈论简单易懂的博弈论讲解(巴什博弈、尼姆博弈、威佐夫博弈、斐波那契博弈、SG定理)-The_Virtuoso-博客园(cnblogs.com)尼姆博弈(Nim)游戏引入:假设先手为$X$,后手为$Y$先假设有两堆石子,数量分别为a,b,如果$a\neqb\and\a>b$,$X$选石子$x$个让$a-x=b$,然后$......
  • cmd 的图论练习题(近期总结 2024.3.11)
    AGC010ERearranginglink题意:一个序列\(a_{1...n}\),两个人游戏。先手打乱这个序列,然后后手可以多次选择一对相邻的互质的数交换。先手希望最终序列字典序尽量小,后手则相反。两人都绝顶聪明,求最终序列。\(1\len\le2000,\space1\lea_i\le10^8\)考虑不互质的两个数\(a_i,a......
  • 3.11每日总结
    净现值计算 #include<iostream>#include<iomanip>#include<cmath>constintPROJECTS=6;constintYEARS=4;intmain(){//创建二维数组储存每个项目每年利润intmoney[PROJECTS][YEARS]={{-100000,-1000000,-100000,-120000},{10000,......
  • 总结
    主要用来写一些自己的漏洞最大的漏洞:不记得更新这篇博客……数据结构Splay:(平均一个题4个小时我也是很服气一定要记得随时splay要不然会T(当然还得记得及时update不然在一些需要siz的操作会寄如果是区间翻转的时候,splay的时候要顺便pushdown,先pushdown父节点再pushdown自己......
  • 【Python使用】python高级进阶知识md总结第3篇:静态Web服务器-返回指定页面数据,静态We
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对路径,创建、删除文件及目录命令,复制、移动文件及目录命令,终端命令格式的组成,查看命令帮助。HTTP请求报文,HTTP响应报文......
  • 一文学会JDBC实现java和mySQL的数据连接(尚硅谷学习课程代码+笔记+思路总结)
    JDBC是指数据库连接技术,用于java连接mySQL等数据库。本文详细介绍了尚硅谷课程中JDBC的学习内容和补充知识。概述java语言只提供规范接口,存在于java.sql.javax.sql包下,然后数据库软件根据java提供的规范实现具体的驱动代码(jar)jar包是java程序打成的一种压缩包格式,只要导入就......