![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
anthony1314
退役acmer 想要找到后端实习的菜鸡
展开
-
树状数组模板
// 单点更新区间求和 树状数组 #include<bits/stdc++.h>using namespace std;#define ll long longint n,c[1000010];int lowbit(int x){ return x&(-x);}void Add(int x,ll d){ while(x<=n){ ...原创 2018-07-28 16:53:53 · 107 阅读 · 0 评论 -
最短路模板dijistra
dijistrahdu1596/*XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条从u 到 v 的通道P 的安全度为Safe(P) = s(e1)*s(e2)…*s(ek) e1,e2,ek是P 上的边 ,现在8600 想出去旅游,面对这这么多的路,他想找一条最安全的...原创 2018-06-07 22:46:20 · 304 阅读 · 0 评论 -
某些小点(离散化)
离散化sort(t+1,t+1+n);m=unique(t+1,t+1+n)-t-1;//m为不重复的元素的个数原序列:6 9 4 6 4排序后:4 4 6 6 9unique(元素去掉重复的)后:4 6 9 6 9 (前m位数字无重复,其他数字跟排序后的序列想比不改变)unique有一个返回值,例如有十个有序的数列3 3 5 5 6 6 6 7 7 8,不重复的数字有五...原创 2018-05-04 13:21:00 · 242 阅读 · 0 评论 -
字典树模版(指针) + (数组)
#include<bits/stdc++.h>using namespace std;char ch[20];struct node { int count; node *child[26];};node start;node *temp = &start;void insert(int p) { if(p == strlen(ch)){ return...原创 2018-09-27 13:35:34 · 188 阅读 · 0 评论 -
anthony1314的数论小基础
1.循环小数化分数的方法 题目:poj1930 传送门题目的意思是给你一个循环的小数,可以看作从任意位循环,让你找到其对应的分母最小的分数题目思路思路:要用到数论,一开始也不懂,贴在这里吧一,纯循环小数化分数:循环节的数字除以循环节的位数个9组成的整数。例如:0.3333……=3/9=1/3;0.285714285714……=285714/999999=2/7.二,混...原创 2019-02-24 10:22:41 · 2692 阅读 · 0 评论 -
杜教BM板子 线性递推
导入8个以上基本稳#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <vector>#include <string>#include <map>#include <set>...原创 2019-03-20 13:26:55 · 223 阅读 · 0 评论 -
矩阵快速幂之矩阵构造的基本思想
矩阵与DPa[i]=a[i-1]+b[i-1]+1,b[i]=2*a[i-1]-5 ;a[1]=1,b[1]=1,问a[x]=?,b[x]=?很简单的递推,一步步推即可,但是,如果x是10^9,如何推?思维:递推式可以化为矩阵乘积那么,矩阵A[i]=A[i-1]*B;A[i+1]=A[i]*B=A[i-1]*B*BA[x]=A[1]*B*B*B.......=A[1]*(...转载 2019-03-18 16:16:01 · 388 阅读 · 2 评论 -
图论---邻接表--链式前向星
/*Algorithm: 链式前向星 Author: anthony1314Creat Time:Time Complexity:*/#include<iostream>#include<algorithm>#include<queue>#include<vector>#include<set>#include&...原创 2019-03-24 10:45:05 · 138 阅读 · 0 评论 -
memset函数 小知识点(inf 的取值)
memset()函数我们可以用来对某个数组的所有值进行初始化但是我们一般只对其初始化为 0 和 -10 的二进制位 0000000000而-1 的二进制为:原码是10000001反码是11111110补码是11111111(此为计算机表示的二进制位置)因此0 和 -1 的每个字节都相同 比较适合用memset函数在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多...原创 2019-03-24 11:08:08 · 866 阅读 · 0 评论