摘要: #include<bits/stdc++.h>using namespace std;int n,k,a[100001],t=0,ki=0;int main(){ cin>>n>>k; for(int i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+n+1); for(int 阅读全文
posted @ 2018-03-31 22:20 Miroerwf_Q 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 鉴于本题题目太丑,所以没放在标题上(叫作 狗哥采矿 .........)。 题目摘录: 题目背景 又是一节平静的语文课 狗哥闲来无事,出来了这么一道题 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少。最北边有bloggium的收 阅读全文
posted @ 2017-12-02 22:13 Miroerwf_Q 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 从零开始 阅读全文
posted @ 2017-12-02 20:02 Miroerwf_Q 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 割点的概念 在无向连通图中,如果将其中一个点以及所有连接该点的边去掉,图就不再连通,那么这个点就叫做割点(cut vertex / articulation point)。 例如,在下图中,0、3是割点,因为将0和3中任意一个去掉之后,图就不再连通。如果去掉0,则图被分成1、2和3、4两个连通分量; 阅读全文
posted @ 2017-11-04 21:27 Miroerwf_Q 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 分层图最短路是指在可以进行分层图的图上解决最短路问题。 一般模型是: 在图上,有k次机会可以直接通过一条边,问起点与终点之间的最短路径。 我们拥有k次机会可以免费通过,所以我们可以设dis【i】【j】表示在还剩j次免花费机会的情况下到i的最小花费,然后在图上进行一次SPFA,对dis【T】【i】取m 阅读全文
posted @ 2017-11-04 19:05 Miroerwf_Q 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数:在数论中,对正整数n,欧拉函数 ϕ(n) 是小于或等于n的正整数中与n互质的数的数目。 对于素数p, φ(p)=p-1,对于对两个素数p,q φ(pq)=pq-1; 除了N=2,φ(N)都是偶数. 1). 原理:φ(n)=n*(1-1/p1)(1-1/p2)....(1-1/pk),其中p 阅读全文
posted @ 2017-11-03 20:05 Miroerwf_Q 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 1),输入n个值,求其中逆序对的个数: 输入n,m,表示有n个数和m个询问,每个询问输入两个数 l 和 r ,输出 [l,r] 这个区间内的逆序对个数。 我们可以在每次询问时通过移动区间的左右端点来维护结果: 完~~~~~~ 阅读全文
posted @ 2017-11-03 18:47 Miroerwf_Q 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 傻瓜解法--n,n/2 这是理所当然的想法,按照素数的定义,除了1和它本身没有其他的因数,就是素数。 这种解法的缺点就是红色标注那里,i<n,或者有的是i<n....这种循环规模n稍微大点,运行就会超时。 普通解法--sqrt(n) 这里循环取到sqrt(n),效率改进不少了...但显然还是不够理想 阅读全文
posted @ 2017-11-03 07:44 Miroerwf_Q 阅读(3868) 评论(1) 推荐(1) 编辑
摘要: 应用于: ax+by = gcd(a, b) ; 有时题目让求的 x 和 y 并不是ax+by = gcd(a, b) 中的x和y,而是ax'+by' =k中的x和y,例如ax'+by' = 1;这是就要对 x 和 y 进行处理,以x为例: 令d=gcd(a,b),把ax+by = gcd(a, b 阅读全文
posted @ 2017-11-02 11:02 Miroerwf_Q 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1 int powerpow(int a,int b)/*a是底数,b是指数,modd是模*/ 2 { 3 int ans=1; 4 int base=a;/*用来转移的变量*/ 5 while(b){ 6 if(b%2==1) 7 ans=(ans*base)%modd;/*如果b为奇数,结果乘一次,顺带着转移了*/ 8 base=... 阅读全文
posted @ 2017-11-02 10:53 Miroerwf_Q 阅读(110) 评论(0) 推荐(0) 编辑