- 博客(72)
- 收藏
- 关注
原创 Chika and Friendly Pairs (2019 GDCPC 广东省赛银牌题)(离散化+莫队+树状数组)
题意给出一个含有n个元素的数列a和k值,询问m次,每次询问给出L,R,输出[L,R]中friendly pair的总个数。friendly pair:对于数列位置i < j,有丨 a[i] - a[j] 丨<= k,则相当于一个friendly pair输入数据第一行3个整数n(1 <= n <= 27000),m(1 <= n <= 27000...
2019-05-14 21:17:13
919
1
原创 单调栈
这个内容比较简单,熟悉原理后即使没看代码也能敲出来。简介一个单调递增/递减的栈作用求数列中某个位置的左边/右边的离他最近的小于/大于该值的数。举例对于数组a1,a2...an,求a[i]中左边的离他最近的小于a[i]的数普通思路:二重循环,复杂度O(n^2)单调栈思路:每个数在栈中放进去一次,推出去一次,复杂度O(n)过程新建一个栈如果栈顶为空,则a[i...
2019-04-13 15:04:14
346
原创 2019年第十届蓝桥杯省赛C/C++ B组总结
这次蓝桥(阅读理解)(暴力)杯比起去年,简单了好多,两小时刷完九道题(第九个是阅读理解题,成功被坑),接下来两小时想不出最后一道题,就花了点时间检查了一遍前面的题目,毕竟这是阅读理解杯,容易粗心。题目记得不是很清楚,随便写写思路,可能顺序有点问题:1、手算即可,490,送分题2、一开始是当成进制题算的,但是其实这题跟进制题有点区别,比如A是1,Z是26,进制是从1--26,我把他转化成...
2019-03-24 18:07:30
5669
10
原创 优先队列的结构体排序使用方法(通过重载的方法,排序结果与普通数组排序sort正好相反)
#include <bits/stdc++.h>using namespace std;struct node{ int a,b; bool operator < (const node &th) const{ if(a != th.a) return a < th.a; return b > th.b; }};int main(){...
2019-01-30 10:55:23
673
原创 读入优化
inline int read() { char c = getchar(); int x = 0, f = 1; while(c < '0' || c > '9') {if(c == '-') f = -1; c = getchar();} while(c >= '0' && c <= '9') x = x * 10 + c - ...
2019-01-22 19:46:34
367
原创 容斥原理——二进制枚举与dfs
容斥原理对于两个集合,对于三个集合,以此类推即可,上式很好理解的对于容斥原理,可以用二进制枚举,当然dfs也行,这两个复杂度差不多二进制枚举对于一个二进制数,每一位只有1和0两种情况,对应着取与不取举个例子,一共有5件物品,那么最大值就选择(1<<5)-1 = 11111 = 31,如果从00001枚举到11111,也就是1---31,就能把所有情况都枚举出...
2018-10-15 11:23:45
798
原创 Make It Equal(思维+细心)
C. Make It Equaltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThere is a toy building consisting of nn towers. Each tower cons...
2018-10-13 23:21:05
980
转载 LaTeX新人教程,30分钟从完全陌生到基本入门[转载]
入门的时候看的是《一份(不太)简短的LaTex介绍》,挺详细的,感觉像是看字典一样,有点无聊,于是翻得到了这篇文章,跟着代码看实例,很容易猜出代码的意思,速成很快,比较推荐。---------------------------------------------------------------------------------------------------------------...
2018-09-11 18:16:45
1831
1
原创 2018网络赛CCPC——YJJ's Salesman(离散化+dp+树状数组/线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6447 YJJ's Salesman Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2062 Accepted ...
2018-09-02 22:28:22
314
原创 Sublime Text3设置Phython编译环境(可输入)
Sublime Text3自带Phython编译系统,但是自带的不可以输入,下面来讲讲怎么建立可输入的编译环境1、ctrl+shift+p通过install package来安装SublimeREPL插件2、Preferences->Key Bindings,右侧清空,复制以下代码并保存[ { "keys":["f5"], "caption":...
2018-08-14 20:25:15
724
转载 开机直接进入bios解决方法
手贱更新了一下华硕笔记本的bios,之后开机直接进入bios,无法选择硬盘或USB,甚至将BIOS重置成默认都无法解决百度了一个方法,成功解决首先进入biosSecurity->Secure Boot Control->DisabledF10保存,继续进入biosBoot->Launch CSM->EnabledF10保存,成功进入系统...
2018-08-09 18:14:43
66749
4
原创 动态规划之数位DP
数位DP,故名思义,就是计算数字的,比如计算l----r中有多少个数中不含有连续的62或单独的4。跟通常的DP思想基本一致,我们通过递归从最高位开始列举,一直列举到最低位,然后再从最低位反推回去即可这期间同样需要用到记忆化搜索,毕竟没有记忆化搜索的递归只是递归,有记忆化搜索的递归才是动态规划首先,我们建立一个数组dp[i][j],其中i代表列举到第几位,j代表列举这里的数是否是6为...
2018-07-28 21:34:34
503
原创 素数筛选及区间二次筛选
素数筛选主要是求1---n中有多少个素数。主流的有两种,一种是埃式筛法,一种是线性筛法,其中线性筛法是埃式筛法的升级版,但正常情况下埃式筛法就够用了。然后有种不常用的,就是筛选出区间内的素数,通常这个区间内的值都很大,大到用线性筛也会超时,但区间的范围会相对比较小,这时候就要用区间二次筛选埃式筛法总所周知,一个合数总是由几个素数相乘得到的,换句话说,一个素数的倍数肯定就是合数了。...
2018-07-26 16:45:31
612
原创 树状数组基础版解析+区间修改
代码参考博客:https://www.cnblogs.com/RabbitHu/p/BIT.html先来一张图我觉得把这张图理解了,树状数组也就差不多理解了。树状数组采用的是二进制的形式,功能跟线状树差不多,但比线状树要简洁很多。下面来一一讲解下上图内容。对于数组a[1],a[2]...a[n],有他们相应的树状数组sum[1],sum[2]...sum[n]来表示它们的和...
2018-07-24 13:32:29
793
1
原创 信心题(莫队算法)
N - 信心题给定一个含有n个数字的数列,每个数字都有一个值a[i](下标从1开始)。定义第i个数字和第j个数字间的距离dis(i,j)=abs(i-j)。接下来给出q个询问,每次询问一个区间[l,r],要求求出一对数字(i,j)(l<=i<=j<=r),使得a[i]=a[j]并且dis(i,j)最大,由于这样的数对可能有多个,因此答案只要输出dis。Input题...
2018-07-22 16:24:05
416
原创 易错点整合(随时更新)
1、long long x = a*b,如果a,b都是int,且a*b有溢出可能,那么必须在a*b前加long long,如long long x = (long long)a*b2、long long类型输出,有的OJ用的是%I64d,有的OJ用的是%lld,如果弄错,可能出现Output Limit Exceed等各种奇葩问题。3、double类型输入用%lf,输出用%f,否则可能也会...
2018-07-21 23:14:01
228
原创 线段树模板加部分内容详解
线段树是处理区间问题的一种算法,大概内容就是下图,可以用来处理区间和等相关问题。 一、线段树的建立void build(int l,int r,int now){ if(l == r)//到达叶子结点 { sum[now] = a[l]; return ; } int m = (l+r)>>1; build(l,m,now<<1);//...
2018-07-20 09:57:07
251
原创 费马小定理与逆元
费马小定理假设p是质数,a是整数,且a与p互质,那么,a的(p-1)次方除以p的余数恒为1,即a^(p-1) ≡ 1(mod p)。简单表示即if(p is prime number &&gcd(a,p) == 1) pow(a,p-1)%p == 1 (true);同余证法假设p等于质数13,取整数1,2,3,4,5,6,7,8,9,10,11,...
2018-07-18 16:10:45
522
原创 莫队算法(离线处理区间问题)
莫队算法,就是巧妙处理区间问题的一种算法。举个例子来讲一下问题:有n个数组成一个序列,有m个形如询问L, R的询问,每次询问需要回答区间内至少出现2次的数有哪些。一、暴力法m次询问,每次询问循环n次,时间复杂度O(m*n)二、巧妙点的我们可以通过前面区间来解决后面区间的问题比如已知[1,10],那么[1,11]就只需要再访问一次即可,而暴力却必须11次。设置一个L,...
2018-07-18 00:30:54
1023
原创 DFS和BFS易错点记录——POJ 3669Meteor Shower
记录一下错误点:判重必须立即判重,而不是等到使用的时候再判重刚刷了一道题,一直超时,找了很久bug才找到在BFS中,插入队列后就必须立即判重,如果在退出队列后再判重,期间会有很多次重复插入,导致超时,DFS同理 Meteor ShowerTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 68...
2018-07-17 16:13:23
343
原创 拓展欧几里得算法求逆元
前置技能:欧几里得算法,详细可见https://blog.youkuaiyun.com/mmmmmmmw/article/details/79228656此外,可以用费马小定理求逆元,详细可见:https://blog.youkuaiyun.com/MMMMMMMW/article/details/81071927 逆元已知(A/B)%M = (A * 1/B)%M = ( (A % M) * ( (1/...
2018-07-16 23:48:29
1072
原创 欧拉函数
欧拉函数的定义: 在数论中,对于正整数N,少于或等于N ([1,N]),且与N互质的正整数(包括1)的个数,记作φ(n)。 φ函数的值: φ(x)=x(1-1/p(1))(1-1/p(2))(1-1/p(3))(1-1/p(4))…..(1-1/p(n)) 其中p(1),p(2)…p(n)为x的所有质因数;x是正整数; φ(1)=1(唯一和1互质的数,且小于等于1)。注意:每种质因数...
2018-07-15 20:04:27
335
转载 博弈论(巴什博奕,威佐夫博弈,尼姆博弈,斐波那契博弈)
原地址:https://blog.youkuaiyun.com/ac_gibson/article/details/41624623一. 巴什博奕(Bash Game): A和B一块报数,每人每次报最少1个,最多报4个,看谁先报到30。这应该是最古老的关于巴什博奕的游戏了吧。其实如果知道原理,这游戏一点运气成分都没有,只和先手后手有关,比如第一次报数,A报k个数,那么B报5-k个数,那么B报数之后问题就变...
2018-07-13 14:47:24
252
原创 Knight Tournament (SET的使用)
Knight Tournament 大意:先输入n,m,表示比赛的成员和比赛的次数。接下来m场比赛,依次输入l,r,x。比赛成员范围从l到r,如果该成员未被淘汰,则被x打败(自己不能打败自己)。输出1-n中该成员被谁打败,如果没被打败过,输出0思路:如果简单暴力的话就会超时。使用SET标记,被打败过的成员便移除set。AC代码:#include <cstdio> #include...
2018-06-10 12:35:09
330
原创 线性素数筛选法模板
void Prime(){ memset(tag,0,sizeof(tag)); int cnt=0; tag[0]=tag[1]=1; for(int i = 2; i<N; i++){ if(!tag[i]) prime[cnt++]=i; for(int j=0;j<...
2018-06-09 10:59:42
290
原创 C/C++数组的函数应用总结
1、strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
2018-06-02 20:47:10
354
原创 JAVA —— 访问属性
private :针对于类,只能在该类访问如private int value ,则在该类外,不能出现.valuepublic :公共的,可以任意访问friendly(未定义属性也默认friendly):同一个包(目录)内可以访问,出了这个包就不起作用static:在类出现的时候便初始化了,与对象无关 类变量,属于这个类而不属于对象,可以在static函数中直接访问 ...
2018-06-02 16:20:06
1165
原创 JAVA核心技术(总结)——大数
BigInteger :整数BigInteger i = in.nextBigInteger();BIgDecimal : 浮点数BigDecimal f = in.nextBigDecimal();valyeOf : 将普通字符转化为大数BigInteger a = BigInteger.valueOf(100);add:相加BigInteger c = a.add(b);//c = a + b...
2018-05-29 21:17:01
445
原创 JAVA核心技术(总结)——String
1、子串(substring):extract substring from a larger stringString greeting = "Hello";String s = greeting.substring(0,3);2、拼接(concatenation):use + to join two strings or elseString expletive = "Expletive";...
2018-05-29 20:21:38
382
原创 2018年第九届蓝桥杯决赛(国赛)总结
本人大一,参加的是C/C++ B组的决赛比赛前一周比较浪,基本没怎么刷题,至于历届题目,也就扫了扫上年的题目,没怎么仔细看由于时隔两天,题目忘得差不多了,现在又百度不到题目,所以可能有点记忆错误第一题,水题,手算都行第二题,暴力搜索,有人说是斐波那契,反正很水就行了,前两道二十分钟内搞定第三题,有点难度,是位运算,而位运算很久没用了,忘得差不多了,试了很多都是错的,想了一个多小...
2018-05-28 19:24:46
4476
5
原创 07-图5 Saving James Bond - Hard Version (最短路径)(bfs)
07-图5 Saving James Bond - Hard Version(30 分)This time let us consider the situation in the movie "Live and Let Die" in which James Bond, the world's most famous spy, was captured by a group of drug de...
2018-05-19 17:40:14
318
转载 邻接矩阵和邻接表模板(来自慕课网浙大数据结构)
/* 图的邻接矩阵表示法 */ #define MaxVertexNum 100 /* 最大顶点数设为100 */#define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535*/typedef int Vertex; /* 用顶点下标表示顶点,为整型 */typedef int WeightType; /* 边的权值...
2018-05-12 18:41:27
378
原创 06-图3 六度空间(邻接表练习)(BFS)
06-图3 六度空间(30 分)“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努...
2018-05-12 18:33:15
531
原创 P1030 求先序排列
题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度<=8)。输入输出格式输入格式:2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式:1行,表示一棵二叉树的先序。输入输出样例输入样例#1: 复制BADCBDCA输出样例#1: 复制ABCD思路:后序遍历的最后一个元素必定是根结点,这样就可以找出中序遍历的根结点,输出该结点...
2018-05-09 19:45:34
403
原创 P1087 FBI树
链接:https://www.luogu.org/problemnew/show/P1087题目描述我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2^N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下:1) T的根结点为R,其类型与...
2018-05-09 16:30:04
489
原创 C. Posterized(Div.2)(并查集)
链接:http://codeforces.com/contest/980/problem/CC. Posterizedtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputProfessor Ibrahim has prepared the final...
2018-05-09 09:04:59
721
原创 Cyclic Components(并查集)
链接:http://codeforces.com/contest/977/problem/EE. Cyclic Componentstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an undirected grap...
2018-05-08 20:52:34
805
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人