- 博客(31)
- 收藏
- 关注
原创 二维凸包
塞一篇我看得懂的blog 点击打开链接#include<bits/stdc++.h>#define V (to[i])#define debug printf("%d %s\n",__LINE__,__FUNCTION__)#define PP system("pause")#define N 1000010#define NN 2010#define NNN 310#d...
2018-06-29 11:52:22 315
原创 5.16模拟赛
T1:string样例就不给了反正水的很,当时我看到50的范围有点小激动,用dfs,然而死递归了(我果然什么都不会)看题面,我似乎忽略了什么重要的东西,有两个容器,为什么是两个,在看数组中不同的负号也是两个,so~~我们发现可以让一个容器存储'x',让另一个容器存储'o',于是就可以组成所有序列了又因为容器只能从左边出来再从右进去,就又有办法了我们可以寻找一段最长的串如下:他满足在初始串的尾部出现...
2018-05-16 13:26:49 188
原创 搜索专题(练习题)
T1题面首先我们很容易发现一个操作序列是否合法与操作序列的顺序是无关的,选定操作之后加上阶乘即可。我们从小到大dfs,对于第i次操作我们把序列分成2^(n-i)段,每段长度2^i。我们(用check函数)找到序列中不是连续递增的段,如果这样的段超过2个,这当然不可能,直接退出。没有这样的段就不用操作。有一段的话判断一下交换前后一半之后是否满足要求。有两段的话和一段也很像。#include<b...
2018-05-07 09:36:56 280
原创 ST表
用ST表求静态区间最大值ST表不支持修改,预处理时间为nlog(n),但查询时间为O(1)线段树支持修改,预处理时间为nlog(n),但查询时间是log(n)模板例题ST详解:用f[i][j]表示区间 j~j+2^i-1 的最大值(即从j开始,向后2^i次这个区间中的最值)预处理出bin[i]表示2^i,log[i]就表示log2(i)#include<bits/stdc++.h> ...
2018-05-07 09:29:30 294
原创 5.5模拟赛
混合图文件名dizzy.c/cpp/pas 时间限制1s 内存限制128M题目描述 YZM有一张N个点,M1条有向边,M2条无向边组成的混合图。询问一个给所有无向边定向的方案。使得最终的图中没有环。保证一定有解。输入格式(输入文件dizzy.in) 第一行,三个数字N,M1,M2。 接下来M1+M2行,每行两数字Ai,Bi。表示一条边。 前M1条是有向边。方向是Ai到Bi。输出格式(输出文件diz...
2018-05-07 09:27:10 234
原创 deque容器详解
Deque 容器deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容。deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。与vector不同的是,deque还支持从开始端插入数据:push_front()。使用deque容器之前必须加上<deque>头文件:#include&...
2018-05-01 10:51:57 4171
原创 拓扑排序模板专题
拓扑排序是对有向无环图(DAG)进行排序,从而找到一个序列。该序列满足对于任意一对不同的顶点u,v∈V,若G中存在一条从u->v的边,则在此序列中u在v前面。拓扑排序也可以用来判断一个有向图是否存在环。有两种算法可以求得该序列:1.Kahn算法。其实就是不断的寻找有向图中没有前驱(入度为0)的顶点,将之输出。然后从有向图中删除所有以此顶点为尾的弧。重复操作,直至图空,或者找不到没有前驱的顶点...
2018-04-30 19:05:13 370
原创 P1901 发射站
题目描述某地有 N 个能量发射站排成一行,每个发射站 i 都有不相同的高度 Hi,并能向两边(当 然两端的只能向一边)同时发射能量值为 Vi 的能量,并且发出的能量只被两边最近的且比 它高的发射站接收。显然,每个发射站发来的能量有可能被 0 或 1 或 2 个其他发射站所接受,特别是为了安 全,每个发射站接收到的能量总和是我们很关心的问题。由于数据很多,现只需要你帮忙计 算出接收最多能量的发射站接...
2018-04-28 10:57:33 270
转载 高级树状数组——区间修改区间查询、二维树状数组
“高级”数据结构——树状数组!※本文一切代码未经编译,不保证正确性,如发现问题,欢迎指正!1. 单点修改 + 区间查询最简单的树状数组就是这样的:void add(int p, int x){ //给位置p增加x while(p <= n) sum[p] += x, p += p & -p;}int ask(int p){ //求位置p的前缀和 int res =...
2018-04-27 08:03:54 880
原创 P2382 化学分子式
题目背景元首和元老正在共同努力学习化学,他们想让电脑帮助他模拟分子式减轻负担。请你帮他设计一个程序。题目描述你的任务是编写一个能处理在虚拟的化学里分子式的程序,在真正的化学里,每个分子式描述分子包括一个或者多个原子,但是,它可能没有真正的化学药品。下面是原子符号和分子式的定义:分子中一个原子由一个原子符号表示,原子符号由单个大写字母或者一个大写字母和一个小写字母组成。例如:H和He都是原子符号。一...
2018-04-23 08:12:40 709
原创 线段树模板(支持区间加,区间和)
#include<bits/stdc++.h>#define N 100010#define lson (k<<1)#define rson (k<<1|1)#define mid ((l+r)>>1)using namespace std;namespace program{ int Tag[N<<2],Sum[N<...
2018-04-20 21:43:58 168
原创 洛谷1637 三元上升子序列
题目描述Erwin最近对一种叫"thair"的东西巨感兴趣。。。在含有n个整数的序列a1,a2......an中,三个数被称作"thair"当且仅当i<j<k且ai<aj<ak求一个序列中"thair"的个数。输入输出格式输入格式:开始一个正整数n,以后n个数a1~an。输出格式:"thair"的个数输入输出样例输入样例#1:42 1 3 4输出样例#1:2输入样例#2:
2018-04-20 21:08:08 185
原创 洛谷P1314 聪明的质监员
题目描述小T 是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi 。检验矿产的流程是:1 、给定m 个区间[Li,Ri];2 、选出一个参数 W;3 、对于一个区间[Li,Ri],计算矿石在这个区间上的检验值Yi:这批矿产的检验结果Y 为各个区间的检验值之和。即:Y1+Y2...+Ym若这批矿产的检验结果与所给标...
2018-04-19 20:26:57 198
原创 洛谷2264情书
题目背景一封好的情书需要撰写人全身心的投入。CYY同学看上了可爱的c**想对她表白,但却不知道自己写的情书是否能感动她,现在他带着情书请你来帮助他。题目描述为了帮助lin_toto,我们定义一个量化情书好坏的标准感动值。判断感动值的方法如下:1.在情书的一句话中若含有给定词汇列表中的特定单词,则感动值加1,但每一单词在同一句话中出现多次感动值不叠加,不同单词不受影响。保证输入的单词不重复。2.每句...
2018-04-19 19:45:34 209
原创 独木桥
题目背景战争已经进入到紧要时间。你是运输小队长,正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳一个人通过。假如有两个人相向而行在桥上相遇,那么他们两个人将无妨绕过对方,只能有一个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位置。题目描...
2018-04-19 07:31:17 427
原创 4.18模拟赛seq
DP,计算从左往右的最大值和从右往左的最大值枚举断点,算出两段的最大值#include<bits/stdc++.h>#define int long long#define N 100010using namespace std;namespace program{ int n,a[N],ansl[N],ansr[N],l[N],r[N],ans=-20021109; in...
2018-04-18 21:16:37 115
原创 4.18gym
#include<bits/stdc++.h>#define eps (1e-8)using namespace std;namespace program{ long long L,n,m; inline void work(){ scanf("%lld%lld%lld",&L,&n,&m); if(n>m) swap(n,m);...
2018-04-18 21:09:03 162
原创 模拟赛4.18ball
这道题自我感觉很有趣,作为一道模拟题还是有很多细节和一些巧妙的思路的比如 当球弹到角落上时,就可以直接退出循环(因为一定是原路返回的),或者当前点已经在之前经过了也可以直接退出,也一定是原路弹回的(好好想想)初始坐标为(1,1);每次x+dx,y+dy,(dx,dy初值都是1)当x撞到下面的墙上时,dx为-1,能量相应减少同理x撞到上面的墙时,dx为1,减少能量y也一样,当y撞到右边界时,dy=-...
2018-04-18 19:16:28 113
原创 P1890gcd区间
题目描述给定一行n个正整数a[1]..a[n]。m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数。输入输出格式输入格式:第一行两个整数n,m。第二行n个整数表示a[1]..a[n]。以下m行,每行2个整数表示询问区间的左右端点。保证输入数据合法。输出格式:共m行,每行表示一个询问的答案。输入输出样例输入样例#1:5 34 12 3 6 71 32 35 5输...
2018-04-17 20:58:19 312
原创 线性筛和埃氏筛的用法及应用
埃氏筛 我的理解:每次找到一个质数,就筛掉所有他的倍数,这样的话同一个数可能被筛掉多次,但是埃氏筛仍然有十分优越的复杂度代码:inline void get_prime(){ bool limit[N]; limit[0]=limit[1]=true; for(int i=2;i<=n;i++){ if(!limit[i]){ prime[++cnt]=i; for(i...
2018-04-17 13:38:17 963
原创 洛谷1162机器人搬重物
题目描述机器人移动学会(RMI)现在正尝试用机器人搬运物品。机器人的形状是一个直径1.6米的球。在试验阶段,机器人被用于在一个储藏室中搬运货物。储藏室是一个N*M的网格,有些格子为不可移动的障碍。机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方。机器人接受的指令有:向前移动1步(Creep);向前移动2步(Walk);向前移动3步(Run);向左转(Left);向右转...
2018-04-17 12:57:18 243
原创 EX_GCD
先来小力推导一波EX_GCD(1) : a*x1+b*y1=gcd(a,b) b*x2+(a%b)*y2=gcd(b,a%b)可得(2) : a*x1+b*y1=b*x2+(a%b)*y2因为 a%b=a-(a/b)*b在得(3) : a*x1+b*y1=b*x2+(a-(a/b)*b)*y2所以:(4) : a*x1+b*y1=b*x2+a*y2-(a/b)*b*y2所以可得 x1=y2 ,...
2018-04-16 20:42:24 313
原创 费马小定理求逆元
逆元:已知P为质数,且gcd(A,P)==1, A*B在同模P的情况下与1相等 求出B的值即 A*B=1(在mod P的条件下)所以乘B即乘以A^-1 ,B就是A的逆元费马小定理:P为质数时且gcd(A,P)==1,则A^(P-1)=1(在mod P的条件下)证明我不会qwq所以根据费马小定理 A*B=A^(P-1) 所以B=A^(P-2)根据上述就可以轻松得到 A当P为质数且gcd(A,...
2018-04-16 20:42:11 3811
原创 1082同余方程
刚学数论入门,做到模板题练练题目描述求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解。输入输出格式输入格式:输入只有一行,包含两个正整数 a, b,用一个空格隔开。输出格式:输出只有一行,包含一个正整数 x,即最小正整数解。输入数据保证一定有解。输入输出样例输入样例#1:3 10输出样例#1:7由题意可知要求x,使得a*x%b==1,所以可知a*x-b*y==1看做a*x+b*(...
2018-04-16 19:35:17 164
原创 比赛4.11
题目描述有两个队伍A和B,每个队伍都有n个人。这两支队伍之间进行n场1对1比赛,每一场都是由A中的一个选手与B中的一个选手对抗。同一个人不会参加多场比赛,每个人的对手都是随机而等概率的。例如A队有A1和A2两个人,B队有B1和B2两个人,那么(A1 vs B1,A2 vs B2)和(A1 vs B2,A2 vs B1)的概率都是均等的50%。每个选手都有一个非负的实力值。如果实力值为X和Y的选手对...
2018-04-16 11:15:24 210
原创 祖孙询问4.11
题目描述已知一棵 n 个节点的有根树。有 m 个询问。每个询问给出了一对节点的编号 x 和 y,询问 x 与 y 的祖孙关系。输入输出格式输入格式:输入第一行包括一个整数 n 表示节点个数。接下来 n 行每行一对整数对 a 和 b 表示 a 和 b 之间有连边。如果 b 是-1,那么 a 就是树的根。第 n+2 行是一个整数 m 表示询问个数。接下来 m 行,每行两个正整数 x 和 y。输出格式:...
2018-04-16 09:28:55 474
原创 洛谷3379最近公共祖先模板(dfs序)
如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。输入输出格式输入格式:第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序号。接下来N-1行每行包含两个正整数x、y,表示x结点和y结点之间有一条直接连接的边(数据保证可以构成树)。接下来M行每行包含两个正整数a、b,表示询问a结点和b结点的最近公共祖先。输出格式:输出包含M行,每行包含一个正整数,依次为每一个...
2018-04-16 07:51:45 339
原创 文件排版4.14
写电子邮件是有趣的,但不幸的是经常写不好看,主要是因为所有的行不一样长,你的上司想要发排版精美的电子邮件,你的任务是为他编写一个电子邮件排版程序。完成这个任务最简单的办法是在太短的行中的单词之间插入空格,但这并不是最好的方法,考虑如下例子:****************************This is the example you areactually considering.假设我...
2018-04-15 21:42:05 783
原创 拼图 4.14
这个拼图游戏要求将一些图形拼成一个正方形,图形的个数从1到5。如下图所示,图形个数是4。图形不能旋转,拼的时候不能重叠,拼完后的正方形里面不能有空隙。所有给定的图形都要使用。左面的图表示这样拼不行,右面是一个成功的拼法。现在,@潘帕斯雄鹰想知道他能否完成这个游戏以表示自己是最强的鹰;如果可以,请输出一种完成这个游戏的方案。输入格式:文件的第一行是一个整数n,表示图形的个数,范围从1到5。接下来有n...
2018-04-15 11:17:52 433
原创 空中楼阁 4.14
题面:话说Z4阴差阳错地来到了神秘岛。不久,他们发现,这是一个由n个小岛和一个中心岛组成的群岛,群岛之间有m座桥。令他们感到惊讶的是,这些桥并不是固定不变的,经较长时间的观察,发现它们会随时间作周期性的变化(即桥的两端会不断更换)。 立方很早就留意到远远的那个中心岛了。他发现岛的上空好像有一个很巨大的东西,但实在太远了,看不清楚。此时jakrinchose得意地从身上拿出一个超高倍数望远镜,好像很...
2018-04-14 23:44:29 247
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人