- 博客(7)
- 收藏
- 关注
原创 树状数组板题
T1洛谷P3374 树状数组2题目描述如题,已知一个数列,你需要进行下面两种操作:·将某一个数加上 xxx·求出某区间每一个数的和输入格式第一行包含两个正整数 n,mn,mn,m,分别表示该数列数字的个数和操作的总个数。第二行包含 nnn 个用空格分隔的整数,其中第 iii 个数字表示数列第 iii 项的初始值。接下来 mmm 行每行包含 333 个整数,表示一个操作,具体如下:x k 含义:将第 xxx 个数加上 kkkx y 含义:输出区间 [x,y][x,y][x,y] 内每个数
2022-02-13 11:19:44
73
原创 树状数组:-)
树状数组定义·已知一个数列,你需要进行下面两个操作:·将某一个数加上x·求出区间的和例:lowbit(x):x的二进制表示中最低位的1所表示的数值lowbit(20)=lowbit(10100)=00100=4 int lowbit(int x){ return x&(-x); }2:C[x]:[x-lowbit(x)+1,x]的区间和C[x]数组形成了如下图的树形结构如图...
2022-02-13 10:59:56
121
原创 ST表(RMQ)
ST表定义·也叫RMQ算法·给定序列,要求O(1)求区间(l,r)的最小值·F[i][j]代表i到i+2^j-1的最小值。·F[i][j]=min(f[i][j-1],f[i+2^(j-1)][j-1])·O(nlogn)预处理设k为最大的正整数满足2^k<=r-l+1 Min(l,r)=min(f[l][k],f[r-2^k+1][k]) 如图:板子题洛谷P3865 ST表题目背景这是一道 ST 表经典题——静态区间最大值请注意最大数据时限只有 0.8s,数据强度不低,请务必
2022-02-13 10:50:11
237
原创 单源最短路
单源最短路void spfa(){memset(dis,0x3f,sizeof(dis));dis[s]=0;z[top=1]=s;for(int j=1;j<=top;j++){ int now=z[j];vis[now]=0; for(int i=head[now];i;i=nxt[i]){ if(dis[to[i]]>dis[now]+w[i]){ dis[to[i]]=dis[now]+w[i];
2022-02-13 10:46:20
211
转载 模拟赛总结
2021年12月2日,进行了从9月份以来第一次真正意义上的模拟,个人还是比较兴奋,可以了解这段时间的学习成果。那么先看第一题第一遍,题是读懂了,但是没有思路,硬是没发现是个杨辉三角。读了第二遍,才发现思路不对,一直在生扣。很快啊,半个小时就过去了。这才想起来往后看,本人具有轻微强迫症,前面题没做出来,后面题做的不踏实。经典的汉诺塔问题,只不过这次问的是次数,而不是具体方案。说实话,这种题理解题意就是有手就行······【总结】拥有自己好的答题策略 ...
2021-12-04 22:57:17
57
原创 信竞阶段总结(21.9~21.11.28)
在开学接触到c++,到现在也快三个月了,从零基础开始学习确实比较吃力一些,做题速度远不及其他同学。 但回头看来,我学到不少东西,就比如之前的for循环,最开始根本就没搞懂,更不用说while或者多层。“大量”刷题之后,也逐渐掌握一些规律,一切问题都迎刃而解。 都说要一次AC,可是真正一次的一半都不到。(一些题就是“纸老虎”) 【最后总结】 掌握每一个知识点,把基础打牢固,然后才能拓展。 仔细对待每一道题,无论是否做过。 把AC率再提一提。 注:练练打...
2021-11-29 23:46:29
199
原创 回文数题解
先看题整体涉及到高精度计算,大致就是先进行判断首尾是否一致,然后判断循环的次数是否大于30.主函数呢,就是这个样子//计算n进制之后的值最后通过一个check函数,判断步骤是否超过30,是则输出Impossible;不是则输出步骤数。在历经两天的反复琢磨后,终于肝了出来!第一次提交没注意函数里具体内容,然后高精度计算也不是特别娴熟······有待提高!!!!!!...
2021-11-25 22:56:01
157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人