- 博客(8)
- 收藏
- 关注
原创 2017 ccpc秦皇岛M Safest Buildings
然后就分为两种情况 1 在高频率范围内有点 ----------------输出所有到(0,0)的距离小于|2*r-R|的点的编号 2 高频范围内没有点 ----------------输出离(0,0)最近的所有点,即与最近距离相等的所有点的编号 补:因为平方可以免去进度问题,正负号问题,所以这里直接是距离的平方 #include<bits/stdc++.h> using namespace std; struct node { int sum; int id; no..
2020-10-04 21:27:35 122
原创 链式前向星
链式向前星 using ll=long long; const ll N=1e6,M=1e6; ll lcnt=1,head[M]; //lcnt是边的编号,M是点数 struct{ ll to; //该点 ll nxt; //指向同一条点的下一个点 ll val; //边权 }edge[N]; //N代表边数 void add_edge(ll a,ll b,ll c)...
2020-05-31 14:23:23 153
原创 欧拉函数与逆元
欧拉函数 定义:一个正整数内(包含自身)所有与自身互质的数的个数.1与所有数互质,即phi[1]=1 证明 欧拉函数是一个积性函数,即当两数n,m互质时,phi[n*m]=phi[n]*phi[m].phi[n]以内的所有数的任意一个数与phi[m]以内的所有数的任意一个数相乘就能得到phi[n*m]以内的所有数 所以可以通过线性筛得到欧拉筛 代码 typedef long long ll...
2020-03-14 13:32:06 1626
原创 线性筛与费马小定理
目录 1 线性筛 2 费马小定理 3 如何判断一个很大的数是不是素数 3 欧拉函数 线性筛 什么是线性筛 顾名思义就是尽可能对所有数都只筛选一次 思想基于 a为一个素数,b为任意数,那么a*b就不是素数 如何保证对每个数尽可能地筛选一次 我们知道每个数都有一个除1以外的最小因子 例如 12 -> 2 15 -> 3 我们可以只让这些非素数在最小因子被晒出 于是我们提出最小因子...
2020-03-13 15:42:03 243
原创 stl总结
set 保存的对象是唯一的,有序的,默认是less,采用红黑树结构 set的赋值 set<int> ss{1,2,3,6}; // 从大到小 set<int,greater<int>> ss1{2,5,7,1,9}; //单个的赋值 ss.insert({7,8}); //因为迭代器没发直接+-,所以需要...
2020-02-26 07:49:07 253
原创 vector简介
STL(标准模板库) STL简介 STL是由算法,容器,迭代器,适配器,仿函数(函数对象),控件适配器六大部件组成. STL容器 在类中实现对数据的操作,而包含这样的类的实现就叫做一个容器 顺序结构: 向量(vector),列表(list),双端队列(queue) 容器适配器: 堆栈(stack),队列(queue),优先队列(priority queue) 联合容器 bitset,映射(m...
2020-02-18 17:01:47 231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人