自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++修改类内存对齐大小

告诉编译器以1字节对齐方式(即没有填充字节)存储数据结构。这意味着每个数据成员都紧挨着前一个数据成员,没有填充字节。则是对应的恢复编译器默认的对齐方式。

2023-11-30 10:06:38 384

原创 STL具有次配置能力的SGI空间适配器

stl配置器

2022-03-18 13:54:10 932

原创 牛客练习赛53 D 德育分博弈政治课 【网络流+思路】

题目链接:https://ac.nowcoder.com/acm/contest/1114/D;思路:骰子总共只有C( 9,6 ) 就是84种,建立超级源点,源点和每个骰子连边,流量为同一种类骰子的个数,每个骰子和1,2,3……8,9连边,最后把询问序列和1,2,3……8,9连边,跑网络流。代码有解释:#include<bits/stdc++.h>using names...

2019-10-12 16:29:59 193

原创 2017 北京赛区 J题 Pangu and Stones 【区间DP】

题目链接:https://vjudge.net/problem/HihoCoder-1636;题意:n堆石子,每次可以合并连续的 [ L~R ]堆石子,求最少的代价;/*思路:区间DP; dp[i][j][num]表示i~j分成num堆的最小代价;所以dp[i][j][j-i+1]=0; 对相应的区间分成成任意堆合成:dp[i][j][num]=min(dp[i...

2019-09-27 21:40:28 227

原创 Codeforces Round #587 C E1 F题解

比赛链接:https://codeforces.com/contest/1216C. White Sheet题意:给出三个长方形的横纵坐标 (左下角和右上角),问后两个长方形是否将第一个完全覆盖;思路:将坐标离散化,用二维数组模拟染色判断;(代码写的很丑。。)#include<bits/stdc++.h>using namespace std;typedef lo...

2019-09-23 17:53:19 175

原创 Codeforces Round #584 C D 题解

C.Paint the Digits题目链接:http://codeforces.com/contest/1209/problem/C题意:由0~9组成的字符串,将字符转分成两部分,每一部分都是非递减的,而且第一部分最大的小于等于第二部分最小的。思路:首先运用单点栈,找到串中的单调不递减序列,临时当成第一部分,剩下的为第二部分,记第二部分最小的为 x,把第一部分里大于x的添加到第二部分...

2019-09-17 14:17:00 125

原创 2019ccpc icpc网络赛总结

ccpc和icpc网络赛总共打了有七场,一下是通过这几场网络赛过后的总结和以及对以后打比赛积累的经验:1. 比赛前期可以多开题,发现简单题就可以直接开始写,然后可以跟榜,毕竟网络赛上有强校也有弱校,跟榜总是没错;我觉得以后的正式比赛都可以按照这样的流程去做题,多开题可以降低罚时,跟榜可以避免走弯路。2. 对于一些中等题也要两个人去看一道题,然后互相找对方的bug,出测试数据,打代...

2019-09-16 14:28:34 1096

原创 [CQOI2012]交换棋子 【费用流】

题目链接:https://www.luogu.org/problem/P3159;思路:这个题最难的地方在于建图;图是有黑点和白点构成,我们只考虑黑点的移动就行。对于一个黑点,如果他向相邻的点移动,就相当于两个点的交换次数都减一;对于一个当前点,可能有其他的点交换到当前点,也可能是当前点交换到其他的点,所以,我们可以把一个点拆成三个点(a,b,c);如果有其他点交换到当前点,假...

2019-09-12 10:11:59 163

原创 洛谷 P3119 草鉴定Grass Cownoisseur【强连通缩点+最长路】

题目链接:https://www.luogu.org/problem/P3119;/*首先我们可以通过缩点将一个强连通分量里的所有点变成一个点,并且可以知道缩点以后的图是没有环的,此时我们记缩点以后以一号点在第start个强连通分量里;然后用spaf得出以start到其他点(缩点以后的点)的最长路dis1[],然后用反向的路在得到所有点到start的最长路dis2[],最后我们可以遍...

2019-08-20 09:32:31 151

原创 洛谷 P1525 关押罪犯 【二分图染色法+二分】

题目链接:https://www.luogu.org/problem/P1525AC代码:/*二分答案,再用二分图染色法判断是否有矛盾,即两个当前点的颜色和与他连接的点的颜色相同;*/#include<bits/stdc++.h>#define max(a,b) a>b?a:b#define min(a,b) a>b?b:ausing namespac...

2019-08-09 15:01:57 211

原创 洛谷 P1993 小K的农场 【差分约束+spaf】

题目链接:https://www.luogu.org/problem/P1993;首先差分约束系统主要是建图方面,举个例子: ①A - B >= 3 ②B - C >= 2 ...

2019-08-09 14:48:32 160

原创 洛谷 P1726 上白泽慧音【强连通缩点】

题目链接:https://www.luogu.org/problem/P1726AC代码:/*强连通缩点板子题,缩点之后找到最大的一个强连通分量就行;*/#include<bits/stdc++.h>#define max(a,b) a>b?a:b#define min(a,b) a>b?b:ausing namespace std;typedef ...

2019-08-09 14:14:09 94

原创 2019 牛客多校第五场 H subsequence 2【拓扑排序】

题目链接:https://ac.nowcoder.com/acm/contest/885/H题意:要你使用前m个小写字母构造一个长度为n的字符串,有m*(m-1)/2m∗(m−1)/2个限制条件:字符c1 c2,长度len,字符串s:原字符串包含c1和c2 的长度为len,s字符串由c1 和 c2组成,顺序为他们在原字符串中的顺序;/*根据题意可知,想要输出当前的字母必须把前面的字...

2019-08-06 15:49:54 132

原创 2019牛客多校第五场 G subsequence 【DP】

题目链接:https://ac.nowcoder.com/acm/contest/885/G;题目大意:给出 s 串和 t 串,求 s 串中有多少个子序列大于 t 串;/*子序列包括长度等于m和长度大于m的。对于长度大于m的,可以用组合数得到,枚举不为零的开头,剩下的数字再选m以上个包括m个。对于长度相同的,可以用dp得到,dp[i][j] 表示s串前i个选j个并且大于t串的前...

2019-08-06 10:50:21 172

原创 洛谷 P1462 通往奥格瑞玛的道路【二分+最短路spaf】

题目链接:https://www.luogu.org/problem/P1462;/*二分+最短路让求最大值最小,可以直接二分每个点的收费,把比当前点收费高的不能经过,跑一边最短路判断是否可以到达终点*/#include<stdio.h>#include<string.h>#include<algorithm>#include<ios...

2019-08-03 09:19:44 180

原创 2019牛客多校第四场 C squence 【单调栈+线段树】

题目链接:https://ac.nowcoder.com/acm/contest/884/C/*思路:构造一个单调减栈(栈里元素下标增大值增大),把序列 A 添加进去,如果当前 A[i] 比栈头元素小,将栈头元素弹出,此时以弹出元素为最小的区间就是此时栈头元素的下标和当前 A[i] 下标即i,然后用线段树来求出这个区间里 B 的前缀和最大的差值。具体为:假设以当前A[i]为最小的区间...

2019-07-30 09:29:07 176

原创 hdu 6582 19 航电多校第一场1005题 path 【最短路+最小割】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6582/*思路:最短路径构成的图的最小割(即最大流)最短路径图:spaf得到 1 到所有点的单源最短路(dis),再求出 n 到所有点的单源最短路(dis1)遍历每条路,设当前边起点为 u ,终点为 v ,圈主为 w , 如果 dis[u]+dis1[v]+w==1到n的最短路径那么...

2019-07-26 17:14:05 133

原创 2019牛客多校联赛第二场F Partition problem 【dfs】

题目链接:https://ac.nowcoder.com/acm/contest/882/F;/*题意:有2n个人,把2n个人分成两组,求两组的权值最大思路:数据较小,可以暴搜,具体看代码注释当前人加入A组是,就将当前人与B组已有的人之间的权值相加*/#include<stdio.h>#include<string.h>#include<algo...

2019-07-23 16:24:43 127

原创 2019牛客多校第二场 H Second Large Rectangle 【DP+单调栈】

题目链接:https://ac.nowcoder.com/acm/contest/882/H题目大意:给出一个01矩阵,求由1构成的第二大矩阵的面积;/*dp[i][j]表示当前位置向上扩展连续是1的长度开一个结构体存每个点构成最大矩阵的宽和高,单调队列里存高递增的点,这样栈里只有比当前点高要低的元素(因为比当前高的也用不着),然后循环一变栈里的元素更新第一大和第二大的矩阵*/...

2019-07-23 15:07:42 192

原创 洛谷1004(HRBUST - 1214) 方格取数 【DP】

题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1214题目大意:矩阵上面有一些数字,从左上走到右下,在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从左上角点到右下角点共走两次,试找出2条这样的路径,使得取得的数之和为最大。 ...

2019-07-16 14:39:52 170

原创 zoj 1008 Gnome Tetravex 【dfs】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1008题意:哈特近来一直在玩有趣的 Gnome Tetravex 游戏。在游戏开始时,玩家会得到 n×n(n≤5) 个正方形。每个正方形都被分成 4个标有数字的三角形(数字的范围是 0到9)。这四个三角形分 别被称为“左三角形”、“右三角形”、“上三角形”和“...

2019-07-16 09:35:24 167

原创 Codeforces 564 (Div. 2) C. Nauuo and Cards 【思路】

题目链接:http://codeforces.com/contest/1173/problem/C赛后又WA了几发才AC,代码是改进过的代码,自己写的又臭又长;题意:有 n张带标号的牌和n张空白牌(混合),n张在手上剩下在牌堆里(牌堆有序),每次可以从手上选一张牌放牌堆底部并从牌堆顶部抽一张牌,需要使牌堆从上到下递增地放1~n,求最小操作数。思路:如果堆中的牌出现类似这种...

2019-06-08 16:10:13 165

原创 2019湘潭邀请赛 Chika and Friendly Pairs【莫队+树状数组+离散化】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6540;数据结构的太菜了,比赛的时候没有头绪,要恶补数据结构了。。。题意:给你一个数组,对于第i个数来说,如果存在一个位置j,使得j>i并且a[j]-k<=a[i]<=a[j]+k,那么这对数就称为好的,有q个询问,问你l到r区间有多少对好的数。思路:离散化原序列和 原序列...

2019-06-04 21:06:22 244

原创 zoj 1100 Mondriaan's Dream【状压DP】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1100/*题意:一个n*m的方格,要求用1*2的砖把它铺满,问有多少种铺法。思路:dp[i][j]表示第i行在状态j下所有合法的铺法总数。第i行的状态可以由第i-1行推得,且易知第i-1行的空缺只能由第i行对应位置用竖着的砖来补上。 */#inclu...

2019-05-28 19:56:38 126

原创 codeforce 24D Broken robot 【概率DP】

题目链接:http://codeforces.com/problemset/problem/24/D;题目大意:给出 n*m 的方格地图,机器人在 (x, y),机器人只能向下,向左,向右走,当达到边界时不能走,问到达最后一行需要的期望;思路:有两种思路,一个是通过多重的循环精确答案,另一个是找到递推式;首先对于一个不再边界的点 (i, j),从这里到最后一行需要的期望是由周围决定...

2019-05-28 14:19:28 163

原创 poj 3585 Accumulation Degree【树形DP二次扫描换根法】

题目链接:http://poj.org/problem?id=3585;/*题意:找一个点使得,使得从这个点出发作为源点,发出的流量最大,输出这个最大的流量。思路:设pd[x]为以x为根的子树中,把x作为源点,从x发出的流量的最大值,dfs一次得到。 转移方程: pd[x]+= in[y]==1?w :min(pd[y],w) (x的所有儿子) ...

2019-05-19 14:29:42 161

原创 hdu 2159 FATE 【二维完全背包】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159/*题意: 最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。 久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现 在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xh...

2019-05-17 16:53:07 113

原创 Favorite Dice【期望dp】

题目链接:https://vjudge.net/problem/SPOJ-FAVDICE/*题目大意:给出一个n个面的筛子,问要使得每个面都朝上一次,需要投掷多少次。思路:现在已经有k 个面,想要得到 k+1个面,平均需要投 n/(n-k)次骰子, 因为投一次骰子得到其他n-k 个面的期望是 (n-k)/n,那么想要得到一 个面就是得到期望为1,就需要投 ...

2019-05-15 21:35:56 170

原创 codeforces 159D Palindrome pairs 【manacher+递推】

题目链接:http://codeforces.com/problemset/problem/159/D;/*题目大意:求一个字符串内不覆盖的回文串对数;思路;首先可以用manacher求出一个p 序列,记录的是以当前字母为中心是回文串的长度,然后求一 下包括当前字母前面的字母形成回文串的总数(前缀和),包括后面的字母利用了前面的字母 形成的回文穿。 ...

2019-05-15 15:46:40 314

原创 CodeForces - 467C George and Job 【DP】

题目链接:http://codeforces.com/problemset/problem/467/C;题目大意:给一个序列,让求k个长度为m的的子序列的最大值;/*dp[i][j]表示前i个选j个子序列的最大值转移方程:dp[i][j]=max(dp[i-1][j],dp[i-m][j-1]+tmp)表示当前tmp选或不选(tmp为最右下标为i的子序列和)*/#includ...

2019-05-07 21:24:03 121

原创 平衡树模板

#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll mod=1e9+7;const int N=1e6+10;int ch[N][2]; //ch[][0] 表示左儿子 ch[][1] 表示右儿子int f[N]; //节点的父亲节点int sz[N]; ...

2019-04-20 21:19:58 293

原创 hdu 5543 Pick The Sticks【DP】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5543题意:有长度为 len 的容器,有n种木棍,每种木棍有对应的长度和价值,容器上可以放木棍,不能重叠,如果在容器的两边,只要木棍的重心在容器内就能放的上,问最后能放的最大价值;/*做DP,要先想数组每一维代表着什么,然后想转移方程dp[i][j][k],当前处理到第 i个木棍,枚举长度...

2019-04-17 20:04:31 121

原创 最近公共祖先【LCA】 模板

LCA即最近公共祖先,是指 :在有根树中,找出某两个结点u和v最近的公共祖先。时间复杂度O(nlogn+m+n)步骤:1.将树看作一个无向图,从根节点开始深搜,得到一个遍历序列。2.在x~y区间中利用RMQ算法找到深度最小返回其下标。可以上洛谷找模板题测试:https://www.luogu.org/problemnew/show/P3379#include&lt...

2019-04-15 20:43:11 127

原创 zoj 2316 Matrix Multiplication 【思路题】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2316;题目大意:给 n*n的矩阵 A,求A∗AT所有元素和(AT为转置矩阵); 给m条边 <u,v> ,表示 Auv=Avu=1;思路:A*AT=A*A*E,就相当于A中每个元素的平方,Aij 就是每个点的...

2019-04-08 17:16:18 116

原创 hdu 6034 Balala Power!

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6034;题目大意:给出的字符串,每个字符建立一种与0-25的对应关系。然后每个字符串看成是一个26进制的数。问能获得的数的总和的最大值。(最后对1e9+7取模),最长的串不超过1e5,全部串的总和不超过1e6,每个串的第一个字母不能与0对应;思路:记录每一个字母在每一位出现的次数,然后比较,让字...

2019-04-08 10:03:38 122

原创 poj2823 Sliding 【单调队列】

题目链接:http://poj.org/problem?id=2823单调队列板子题#include<iostream>#include<stdio.h>#include<string.h>#include<algorithm>#include<map>#include<vector>#include&l...

2019-04-06 08:18:59 75

原创 CodeForces - 220B Little Elephant and Array 【莫队+离散化】

题目链接:http://codeforces.com/problemset/problem/220/B题目大意:给定一个含有 n 个元素序列,给定 m 个区间,求每个区间内 x出现的个数等于 x 的数的个数;思路:离散化+莫队,本来我用map 做标记,但是TLE了,因为 mp 复杂度好像是 log;#include<cstring>#include<cstdio&...

2019-04-04 11:36:12 159

原创 HYSBZ - 2038 小Z的袜子(hose) 【莫队】

题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2038;题目大意:在一个区间里任意选两个数,两个数相同的概率是多少;思路:莫队算法,在一个区间内,我们可以统计 x 的个数 sum[x],x对答案的贡献值为 sum[x]*(sum[x]-1)/2,用整个全部贡献值的和除以 len*(len-1)/2,len为区间长度;#in...

2019-04-03 21:33:35 91

原创 FZU 1926 填空【KMP】

题目链接:http://acm.fzu.edu.cn/problem.php?pid=1926;与一般的KMP不同,这是一个单词一个单词比较#include<cstring>#include<cstdio>#include<string>#include<algorithm>#include<math.h>#inclu...

2019-04-03 15:53:00 121

原创 CodeForces - 612D 【扫描线+线段排序】

题目链接:http://codeforces.com/problemset/problem/612/D题目大意:有 n 条线断,问被任意 k 条线段覆盖的区间有多少个并输出;思路:把每个左端点标记为0,右端点标记为1,按值从小到大排序,值相同的标记为0的在前面; 定义 cut 为当前被多少线段覆盖,遇到标记为0的 cut++,当cut==k时,就是答案区间的左端点,...

2019-04-02 09:39:15 335

空空如也

空空如也

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

TA关注的人

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