ACM
qq_40164879
这个作者很懒,什么都没留下…
展开
-
快速矩阵幂(用时间解决数学方程的递归问题,类似 斐波那契 递推公式)
题目连接参考连接AC代码 #include <set> #include <queue> #include<algorithm>#include <iostream>#include<string.h>#include<map>#include<stack>#include<转载 2018-09-11 13:11:39 · 142 阅读 · 0 评论 -
树状数组可以解决的问题!
1 可以求一个序列的逆序对个数2 可以解决 区间增加和单点查询的操作 (算法能yy真的很强!,就是不会yy) 数状数组 原本的操作是单点修改和前缀区间查询 解决的方案就是 将前缀区间查询得到的结果作为单点查询 。。 具体思路就是 前缀区间查询 求得是前缀和, 对于区间增加的操作, 如果增加了[ l,r]区间的话,我们对tree[ l ]+=n;...转载 2019-05-01 10:32:52 · 780 阅读 · 0 评论 -
数状数组学习
数状数组刚刚学习起来其实还是有点懵逼的但是其本质其实就是用二进制对数组下标进行操作,从而建树每个节点k的父节点是 k + lowbit(k)这边的lowbit有点难理解,自己手动算几次 k&-k就可以理解了其实得到的是二进制 k的最低位的1比如 lowbit(5)=1 5的二进制是101lowbit(6)=2 6的二进制是110 最低位在是第二位...转载 2019-05-01 09:37:58 · 904 阅读 · 0 评论 -
离散化 扫描线 学习
离散化扫描线心态崩了, 为什么oj上认 4*n长度的线段树 不认2*n长度的, 就是不知道为啥不能过,超时代码, 等心态好了来改#include<cstdio>#include<algorithm>#define max 1010using namespace std;struct node { double xl,xr,y; in...转载 2019-05-05 22:07:23 · 247 阅读 · 0 评论 -
bellman-ford算法学习
学算法就是学了忘,忘了学的过程。。。。哎!今天想看给旅行商问题找个模板,就看到了spfa算法,然后就到了bellman-ford算法,发现又忘记这个算法思想了。原来的dijkstra算法是只能处理权重为非零的边的有向图,得到单源最短路(从一个顶点出发到其他顶点的最短路)bellman-ford算法能处理一般情况(带负边)算法思想是 将点分为两个集合,一类是已经得到最短路的点的...转载 2019-04-16 21:16:42 · 140 阅读 · 0 评论 -
蓝桥杯补题 状态压缩DP
蓝桥杯差一点进了国赛,考前还玩了一天游戏,现在想想真的难受。先把题补了吧,5.11加油!一开始一点头绪都没有,看了别人的题解发现是压状DP动态规划博大精深。。。。其实好像很好理解压缩状态的DP有几个特征,1. 有n组数据 那么可能性总数是 2^n,就是每个数据取还是不取的问题,或者是结构由n个数据组成, 结果可能性也是 2^n因为每种结果中每个数据有或者没...转载 2019-04-13 10:14:22 · 464 阅读 · 1 评论 -
kmp算法学习
加油准备5.11 的比赛了!参照学习链接之前就看过一遍这个链接,但是这次看发现之前是白看的,有点误解。kmp算法的next数组是是核心,k= next [j ]数值的含有是匹配串的的第j个字符的前k个字符和匹配串的0~k个字相同这句话有点绕,可以看下图可以理解成将当第j个字符和主串不相匹配后,将j=next[ j ]因为在匹配过程中匹配串的0~j-1 都匹配了,然...转载 2019-04-12 20:32:22 · 75 阅读 · 0 评论 -
最小生成树
POJ 1287 Networking最小生成树的模版题,输入数据的存储用结构体,存两个点和边,但是这道题是看百度中的有一点问题,就是题目没有说输入的边的次数,可以是两个点一直输入很多次,那样AC的代码就不成立了,所有OJ这种神奇的东西,还是懂。原来自己的想法是用map来存储结构,但是还是卡在了map 的排序上,因为那个是自己也是用新建的结构体,所以还是不会排序。 百度的AC代码就是自己写...转载 2018-10-08 19:01:39 · 107 阅读 · 0 评论 -
Poj 1442 black box (优先队列,最大堆和最小堆的应用)
POJ 1442 Black Box 题目大意是给一串无序的整数 arr,然后有一串序列 vec,这个序列中的第每个数字代表前几个数,每个序列出现的位置代表第几小的数字,比如这个序列是{1,2,6,6},1 代表的arr中的前1个数中第一小的,2代表arr中前两个数第二小的,第一个6代表arr中前6个数字中第三小的,第二个6代表arr中前6个数第四小的,而且这组数字是升序的。用最基础的暴...转载 2018-10-08 16:42:30 · 196 阅读 · 0 评论 -
和先序建树有关的例题(递归建树,在递归中输入)
uva839题目大意给定一个天平,根据力矩来判断是否平衡,输入的要求是第一行是例子个数,然后每行类似树的先序遍历,所有不知道哪一样是一个例子的结尾(在没建树的情况下无法分辨)。要求递归建树,在递归中不断输入。AC代码#include <set> #include <queue> #include<algorithm>#include <...转载 2018-09-18 12:20:51 · 302 阅读 · 0 评论 -
杭电HDU ACM 1061 快速幂算法(a^b%c的lonN复杂度算法)
题目连接#include <set> #include <queue> #include<algorithm>#include <iostream>#include<string.h>#include<map>#include<stack>#include<string&g转载 2018-09-10 16:05:28 · 233 阅读 · 0 评论 -
树的中点和树的直径
学习链接这个树 指的是 一个图 ,有n个点 n-1条边, 从这个数字关系上可以得到这个图是 无环图,树的中点和树的直径#include<bits/stdc++.h>using namespace std;#define Max 100050int head[Max],Next[Max*2],ver[Max*2];int tot;void add(int ...原创 2019-09-03 19:13:45 · 665 阅读 · 0 评论