自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

转载 Codeforces Round #535 (Div. 3)

A#include<bits/stdc++.h>using namespace std;#define mod 1000000009typedef long long ll;int main(){ int q; cin>>q; ll a,b,c,d; while(q--) { ...

2019-01-31 14:15:00 122

转载 Codeforces Round #524 (Div. 2) C Masha and two friends

题意:在n*m的矩形中,每次给你两个两个矩形,第一次涂成白色,第二次涂成黑色, 问最后的白色和黑色色块有多少个?题解:从题目中,我们可以知道,n*m的矩形中,白色的个数就是a*b/2+((a*b)&1); 而黑色就是n*m-白色的个数 然后怎么求出给定矩形中黑白色的个数呢?我们并不知道其中黑色和白色的个数那个多 这里有两...

2019-01-31 13:32:00 123

转载 dfs

题目:代码:#include<iostream>#include<algorithm>#include<string>#include<map>#include<vector>#include<cmath>#include<string.h>#include<...

2018-12-02 15:02:00 149

转载 bfs模板

模板:#include<bits/stdc++.h>using namespace std;typedef long long ll;#define MAX 1010#define INF 0x3f3f3f3fint n,m;int T;char g[MAX][MAX];bool vis[MAX][MAX];int fire[M...

2018-12-01 22:21:00 126

转载 cf:c题

题目:代码:#include<iostream>#include<algorithm>#include<vector>#include<string>#include<math.h>const int max_=1e5+5;using namespace std;vector<i...

2018-11-30 22:17:00 117

转载 交换一次最长连续字符的长度

题目:分析:记录GSG这样的结构,记录左右两边的连续G的长度代码:#include<iostream>#include<stdio.h>#include<algorithm>#include<string.h>#include<string>#include<vector>...

2018-11-29 16:09:00 152

转载 区间节点的lca

题目hdu5266分析:多节点的LCA就是dfs序中最大最小两个节点的LCA。所以只要每次维持给出节点的dfs序的最大最小,然后就是两点的LCA代码:rmq的st+lca的倍增#include<stdio.h>#include<iostream>#include<algorithm>#include<strin...

2018-11-28 22:26:00 278

转载 Dijkstra的优先队列

模板#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#include<stack>#include<cstdio>#include<map...

2018-11-26 18:34:00 162

转载 博弈的dfs

题目:链接:https://ac.nowcoder.com/acm/contest/283/D来源:牛客网小西买了一堆肥宅快乐水和肥宅快乐茶,准备和室友比谁更肥宅。 快乐水有A瓶,快乐茶B瓶。 小西和室友的规则是这样的: 1. 小西先手,轮流到每个人的回合,每个回合只能喝剩余数量较多的饮料 2. 满足规则1的同时,每次只能喝另一种饮料剩余数量的正整...

2018-11-26 15:42:00 221

转载 组合数学

题目:很好的组合数学。代码:#include<stdio.h>#include<iostream>#include<math.h>#include<algorithm>#include<map>using namespace std;typedef long long ll;con...

2018-11-26 15:18:00 80

转载 欧拉表

题目:UVa10820题意:给出n求,n以内的有序数对(x, y)互素的对数。分析:设(x>y)即sum[ n ]表示符合的对数,即答案就数2*sum[n]+1,1是符合条件的(1,1)这对数。即打个欧拉表就可以解决。代码:#include<stdio.h>#include<iostream>#include&lt...

2018-11-24 14:48:00 269

转载 唯一分解定理应用+组合数学

题目:UVA 1635题目大意: 对于给定的n个数a1,a2,a3....an,一次求出相邻两个数之和,将得到一个新的数列。重复上述操作,最后结果将变成一个数。问这个数除以m的余数与那些数无关?例如n=3,m=2时,第一次求和结果a1+a2,a2+a3,在求和a1+2a2+a3,它除以2的余数和a2无关,1<=n<=10^5,2<=m<=10^9分析...

2018-11-24 13:21:00 128

转载 GCD 与XOR

题目:UVA12716题意:问 gcd(i,j) = i ^ j 的对数(j <=i <= N ) N的范围为30000000,有10000组样例分析: 有几个结论:(1)若 a xor b = c,则 a xor c = b。        (2)a - b <= a xor b,(a >= b)        (3)若 gcd(a,b...

2018-11-22 17:06:00 253

转载 二分图的模板

博客:匈牙利算法模板:#include<bits/stdc++.h>#define MAXN 9999using namespace std;int nx,ny;//nx表示二分图左边顶点的个数,ny表示二分图右边顶点的个数int m;//m代表边的条数int cx[MAXN],cy[MAXN];//如果有cx[i]=j,则必有cy[j]=...

2018-11-21 18:45:00 142

转载 唯一分解定理应用

UVA 10791题意:输入n,求最少两个数,使得他们的最小公倍数为n,使他们的和最小。分析:根据唯一分解定理,可以得出 N= p1^n1 * p2^n2 *...* pn^nn即:当把pi^n1看成整体时和最小。代码:#include<stdio.h>#include<iostream>#include<algori...

2018-11-17 19:18:00 169

转载 唯一分解定理+组合数学

UVA 10375题意:P Q R S,求C(p,q)/C(r,s).两种方法:第一种,数据比较水,一乘一除,不会溢出。#include<stdio.h>#include<iostream>#include<algorithm>using namespace std;int main(){ dou...

2018-11-17 16:09:00 130

转载 扩欧几里得+暴力

给出一个数列:x2=(a*x1+b)%10001;的奇数项,求出偶数项。题目:UVA 12169分析:x2 = (a * x1 + b) % 10001;x3= (a * x2 + b) % 10001;联立2个式子x3 = (a * (a * x1 + b) % 10001 + b ) % 10001;x3 = (a * (a * x1 + b) + b)...

2018-11-16 19:24:00 90

转载 快速幂+斐波那契数列

题意:给出 a, b ,n。求 f(a^b)%n的值。f()是斐波那契数列。UVA 11582代码:#include<stdio.h>#include<iostream>#include<algorithm>#include<bits/stdc++.h>typedef unsigned long lo...

2018-11-16 15:54:00 113

转载 线段树模板

博客:模板:成段更新:#include <cstdio>#include <algorithm>using namespace std;#define LL long long#define lson l , m , rt << 1#define rson m + 1 , r , rt << 1 | ...

2018-11-12 22:15:00 72

转载 tire 树入门

博客:模板:前缀是否出现:/* trie tree的储存方式:将字母储存在边上,边的节点连接与它相连的字母 trie[rt][x]=tot:rt是上个节点编号,x是字母,tot是下个节点编号 */ #include<cstdio>#include<iostream>#include<algorithm>...

2018-11-11 17:41:00 140

转载 string中的stringstream

博客:加速:ios::sync_with_stdio(false);举个例子:題目:输入的第一行有一个数字 N 代表接下來有 N 行资料,每一行资料里有不固定个数的整数(最多20个,每行最大200个字元),编程將每行的总和打印出來。输入:31 2 320 17 23 54 77 60111 222 333 444 555 666 777 888 999输出:...

2018-11-11 17:34:00 69

转载 manacher算法

博客:模版:#include<stdio.h>#include<string.h>#include<algorithm>#include<map>using namespace std;const int maxn = 2e5 + 10;char s[maxn], sNew[maxn<<1...

2018-11-10 10:47:00 62

转载 拓展KMP求回文串

题目:hdu3613;题意:有26字母对应的价值,然后给出以个串,把它分成两段字串,如果字串是回文串,串的价值就是每个字符和,不是就为0。求最大价值。博客分析:拓展KMP的应用求回文字串。#include<iostream>#include<stdio.h>#include<algorithm>#include<s...

2018-11-07 11:57:00 171

转载 字符串最小表示法

模板:int min_max_express(char *s,int len,bool flag){//最小表示法和最大表示法写到一块儿了 int i=0,j=1,k=0; while(i<len&&j<len&&k<len){//一次就能够找着 int t=s[(j+k)%len]...

2018-11-06 19:44:00 92

转载 KMP模板

这里介绍几个说的比较好的博客:KMP博客:KMP算法的推算拓展KMP的介绍:next数组对最小循环节的运用:接下的就是模板:求模式串第一次在主串出现的位置 or 匹配是否在主串出现过 :#include<bits/stdc++.h>const int maxn = 1e6 + 10;char mo[maxn], str[maxn];//...

2018-11-05 16:03:00 62

转载 KMP2

poj 2752#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>using namespace std;const int max_=4e5+5;char str[max_];int ans[max_],nex...

2018-11-05 15:49:00 166

转载 KMP

博客1:KMP的介绍和解释博客2:next数组的应用代码:hdu 3336#include<stdio.h>#include<algorithm>#include<iostream>using namespace std;const int max_=2e5+2;const int mod=1e4+7;int...

2018-10-30 21:30:00 80

转载 几何问题 poj 1408

参考博客:用向量积求线段焦点证明:首先,我们设 (AD向量 × AC向量) 为 multi(ADC) ; 那么 S三角形ADC = multi(ADC)/2 。由三角形DPD1 与 三角形CPC1 相似;可得 |DP| / |PC| = |DD1| / |CC1| = multi(ADB) × multi(ACB) 。|DP| / |PC| = (xD - xP) /...

2018-10-19 18:58:00 77

转载 树上倍增 hdu 2586

参考博客:代码:#include<stdio.h>#include<iostream>#include<algorithm>#include<math.h>#include<string.h>using namespace std;const int max_=8e4+1;int dept...

2018-10-19 14:39:00 76

转载 hdu 1969 二分

参考博客:题意:一个人要办生日part,有f个馅饼,n个朋友要来参加他的生日part,我们要做的是让着f个馅饼平均分给他的朋友,形状可以不一样,但是大小要一样,也就是说馅饼的体积要一样,这馅饼的高都为1。这个简单,但是题目要求不能分从一块一块的凑出来的馅饼。代码:#include<stdio.h>#include<cmath>#de...

2018-10-16 22:37:00 192

转载 poj 1905 图形推算+二分

参考博客:题意:一根两端固定在两面墙上的杆 受热弯曲后变弯曲求前后两个状态的杆的中点位置的距离分析:见博客代码:#include<stdio.h>#include<iostream>#include<algorithm>#include<math.h>#include<string.h&gt...

2018-10-16 20:34:00 56

转载 poj 3258 二分

题意:看了很久才懂,有n个石头,去掉m个后,求跳两个石头或石头和岸边距离最小的最大值,就是至少要跳的距离的最大。参考博客:代码:#include<stdio.h>#include<iostream>#include<algorithm>#include<math.h>#include<string.h&...

2018-10-16 18:17:00 63

转载 poj 1019

大致题意:有一串数字串,其规律为1 12 123 1234 12345 123456 1234567 12345678 123456789 12345678910 1234567891011 123456789101112······k输入位置n,计算这一串数字第n位是什么数字,注意是数字,不是数!例如12345678910的第10位是1,而不是10,第11位是0,也不是10...

2018-10-15 20:11:00 109

转载 hdu 3486

题意:n个人,每个人的价格a[ i ] ,求最少分几组,每组取一个人,多出来的人就不考虑,使得这取出人的价格大于k。(每组人数一样)分析:每组取一个人,那这个人肯定是这组最大的,枚举多少组就可以了。代码:#include<stdio.h>#include<iostream>#include<string.h>#inclu...

2018-10-15 15:58:00 192

转载 hud 3183

题意:给出n个数字的字符串,要求你删除m个数字后,得到的数字最小。分析:删除m个,就是选n-m个,而且,选的第一个数,肯定在(0—(n-m-1))中,第二个就在(第一个的下一位—(n-m-2)中。就这样,RMQ选出最小就可以了。代码:#include<stdio.h>#include<iostream>#include<math.h&...

2018-10-15 14:36:00 72

转载 树状数组

概念参考博客:http://www.cnblogs.com/George1994/p/7710886.html树状数组或者二叉索引树也称作Binary Indexed Tree,又叫做Fenwick树;它的查询和修改的时间复杂度都是log(n),空间复杂度则为O(n),这是因为树状数组通过将线性结构转化成树状结构,从而进行跳跃式扫描。通常使用在高效的计算数列的前缀和,区间和。...

2018-10-15 14:24:00 71

转载 构造+数位dp

参考博客:题目链接:题意:给定正整数a,b,k,你的任务是在所有满足a<=n<=b中的整数n中,统计有多少个满足n自身是k的倍数,且n的各位数字之和也是k的倍数。【思路】 这种题的固定套路是设f(x)为[0,x]中满足题意的解的个数,那么本题的答案就是f(b)-f(a-1)。关键问题就是求解f函数。因为数据范围太大,无法穷举,所以这道题要用分段求和的思想来...

2018-10-15 13:09:00 109

转载 树状dp

参考博客:题目链接:题意:给出n-1条边,构造成一颗树,求:1~n节点最远的点的距离。分析: 离该节点距离最远:有两条路走,(设该点为 now) 1、往自己的子节点走,遍历就可以得到最大值。 2、先往自己的父节点走,那么问题就变成了离父节点的最长距离,以此类推,就是一个dp的问题。 求离父节点的最...

2018-10-08 18:12:00 77

转载 树状数组+离散化

参考博客:题目链接:题意:给出n条平行x或y轴的线段,求线段的交点。分析:将 平行 x 轴的直线离散化,只记录它的端点,排序,然后就用树状数组查询。将 平行y的直线按x 的大小排序,遍历,然后就只考虑它左边的点,遇到是左端点的树状数组就在那个点的y处加一,遇到右端点就在其y处减1。因为它右端点都在直线的左边,就说明左端点也在,就减一抵消之前的加一。代码:...

2018-10-07 23:41:00 223

转载 rmq +二分暴力 hdu 5726

参考博客题意:n 个数字的数列,有m个询问:求出 L 到 R 的 gcd(最大公约数 ),然后问这整个序列中有多少个区间的 gcd 和这个一样。分析:L 到 R的gcd直接用RMQ的ST算法求,第二步,我们可以枚举左端点 i 从1-n,对每个i,二分右端点,计算每种gcd值的数量,因为如果左端点固定,gcd值随着右端点的往右,呈现单调不增,而且gcd值每次变化...

2018-10-06 16:45:00 105

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除