自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Let_life_stop的博客

任凭生命去阻拦!

  • 博客(258)
  • 收藏
  • 关注

原创 tinyhttp

博客园:http://www.cnblogs.com/letlifestop/Tinyhttpd 是J. David Blackstone在1999年写的一个不到 500 行的超轻量型 Http Server,用来学习非常不错,可以帮助我们真正理解服务器程序的本质。官网:http://tinyhttpd.sourceforge.nethttps://github.com/qiyeboy/S...

2019-01-13 22:07:29 582

原创 数位dp(D - How Many Zeroes? LightOJ - 1140 )

题目链接:https://cn.vjudge.net/contest/278036#problem/D题目大意:T组测试数据,每一次输入两个数,求的是在这个区间里面,有多少个0,比如说19203包括一个0,123包括0个0。 具体思路:数位dp,对于当前的这一位的所有情况,先看一下这一位上之前的数是不是都是0,如果都是0的话,那么这一位上即使是0也不能计算在内,因为00还是1个0。d...

2019-01-13 15:21:24 271

原创 C - Balanced Number HDU - 3709 (数位dp)

题目链接:https://cn.vjudge.net/contest/278036#problem/C题目大意:手首先是T组数据,然后每一次输入两个数l,r,求这个区间里面满足以某个数字为中心的两侧力矩和相等的个数,举个例子,4139,我们如果把3当做对称点,那么力矩和的计算方式= (1-3)*4 + 3*(2-3)+9*(4-3)=0,这个数是满足题目条件的。具体思路:模板题,我们...

2019-01-12 17:22:58 216

原创 G. (Zero XOR Subset)-less(线性基)

题目链接:http://codeforces.com/contest/1101/problem/G题目大意:给你n个数,然后让你把这n个数分成尽可能多的集合,要求,每个集合的值看做这个集合所有元素的异或值,并且任意个集合对应的值,再进行异或也不能为0,然后如果不存在合理的分法的时候,输出-1。否则,输出能分出的最大的集合个数。具体思路:求出这n个数的线性基就完事了,对于-1的情况,就...

2019-01-12 16:28:49 337

原创 D. GCD Counting(树上dp)

题目链接:http://codeforces.com/contest/1101/problem/D题目大意:给你n个点,每个点都有权值,然后给你边的关系,问你树上的最大距离。(这里的最大距离指的是这条路径上的所有数最大gcd>1)。 具体思路:首先,我们可以找出对于一个父亲节点,他和子节点能够在不是互素的前提下,对于他们每一个因子的个数。然后我们先dfs到底部,然后看他的每...

2019-01-12 15:13:19 329

原创 D - Balanced Ternary String (贪心)

题目链接:http://codeforces.com/contest/1102/problem/D题目大意:给你一个字符串,这个字符串是由0,1,2构成的,然后让你替换字符,使得在替换的次数最少的前提下,使得新获得的字符串中0,1,2这三个字 符的数目相同,并且新获得的字符串字典序要尽可能的小。具体思路: 我们先统计出每个字符的个数,想一下,除了三个都相等的情况下,这三个中的某一个肯...

2019-01-10 19:45:18 639

原创 数位DP入门(A - 不要62 HDU - 2089 &&B - Bomb HDU - 3555 )

题目链接:https://cn.vjudge.net/contest/278036#problem/A具体思路:对于给定的数,我们按照位数进行运算,枚举每一位上可能的数,在枚举的时候需要注意几个条件,第一个,当前位上不能是4,第二如果前一位是6的话,当前的这一位不能是2,然后注意这个条件就可以了。AC代码:#include<iostream>#include<...

2019-01-08 22:24:36 219

原创 D. Sum in the tree(树形+贪心)

题目链接;http://codeforces.com/contest/1099/problem/D题目大意:给出一棵树,每个节点到根节点的路径上经过的所有点的权值之和,其深度为偶数的节点的信息全部擦除了,也就是用-1表示,让你求最终所有点权之和(要求最小)具体思路:对于每一个节点,这个点到根节点的权值最小的时候是他的所有的根节点的最小值,然后一路更新上去就可以了,最后求值得时候,我们...

2019-01-07 22:24:56 652

翻译 D. Makoto and a Blackboard(积性函数+DP)

题目链接:http://codeforces.com/contest/1097/problem/D题目大意:给你n和k,每一次可以选取n的因子代替n,然后问你k次操作之后,每个因子的期望。具体思路:对于给定的n,我们可以将n转换为,n=p1^(k1)*p2^(k2)*p3^(k3)......,然后我们求期望的时候,我们可以求每个因子的期望,然后再将每个因子的期望相乘就可以了(积性函...

2019-01-07 19:33:36 335

原创 树形dp&&树的重心(D - Godfather POJ - 3107)

题目链接:https://cn.vjudge.net/contest/277955#problem/D题目大意:求树的重心(树的重心指的是树上的某一个点,删掉之后形成的多棵树中节点数最大值最小)。具体思路:对于每一个点,我们求出以当前的点为根的根数的节点个数, 然后在求树的重心的时候,一共有两种情况,一种树去除该点后这个点的子节点中存在所求的最大值,还有一种情况是这个点往上会求出最大...

2019-01-05 10:23:59 210

原创 树形dp(C - Choosing Capital for Treeland CodeForces - 219D )

题目链接:https://cn.vjudge.net/contest/277955#problem/C题目大意:输入n,代表有n个城市,然后再输入n-1条有向边,然后让你找出一个改变边数的最小值,使得某个城市能够到达剩余的所有城市,然后问这样的城市有多少个,并且输出这些城市的编号。 具体思路:我们首先按照题目给的条件建好边,然后树就建好了,对于当前的某个节点,如果这个点要是能够到达剩...

2019-01-05 08:31:13 167

原创 树形dp(B - Computer HDU - 2196 )

题目链接:https://cn.vjudge.net/contest/277955#problem/B题目大意:首先输入n代表有n个电脑,然后再输入n-1行,每一行输入两个数,t1,t2.代表第(i+1)个电脑连向电脑t1,花费是t2,然后问你每个电脑的到其他电脑的最大花费。 具体思路:按照图来想,对于节点2,最大的花费的路径可能有两种,第一种,往下遍历他的叶子节点找到最大的,第...

2019-01-04 20:12:02 161

原创 树形dp(A - Anniversary party HDU - 1520 )

题目链接:https://cn.vjudge.net/contest/277955#problem/A题目大意:略具体思路:刚开始接触树形dp,说一下我对这个题的初步理解吧,首先,我们从根节点开始,往下dfs,dp[i][0]代表我当前的i点不要去舞会,那么对于他的孩子节点,我们是肯定不能去舞会的,所以dp[i][0]=dp[i][0]+max(dp[son][0],dp[son][...

2019-01-04 15:21:38 174

原创 状压dp+floyed(C - Hie with the Pie POJ - 3311 )

题目链接:https://cn.vjudge.net/contest/276236#problem/C题目大意:给你一个有n+1(1<=n<=10)个点的有向完全图,用矩阵的形式给出任意两个不同点之间的距离。(其中从i到j的距离不一定等于从j到i的距离)现在要你求出从0号点出发,走过1到n号点至少一次,然后再回到0号点所花的最小时间。输入:包含多组实例。每个实例第一个为n...

2019-01-04 10:48:19 192

原创 状压dp(B - 炮兵阵地 POJ - 1185 )

题目链接:https://cn.vjudge.net/contest/276236#problem/B题目大意:略 具体思路:和我的上一篇写状压dp的思路差不多,不过就是这个题相当于上一个题的升级版,变成了左右,上下都会有限制,并且限制的步数是2,观察数据范围,如果按照上一个题的话,如果要是计算正确的范围取值的话,肯定会超时,所以我们可以先将所有的满足的情况先筛选出来,就算m取到10...

2019-01-04 09:15:18 156

原创 字符串hash&&对字符串hash的理解

 对字符串hash的一些总结:1,首先,我们在转化的时候,取底的时候一般是取131这些数,因为要避免不同的字符串对应相同的hash值这种情况的出现。如果卡精度的时候,我们可以采取双模数的方式尽量减少误差,(不过这种东西还是得看脸)。2,在定义的时候,一般是为了定义成unsigned long long ,这个有一个好处,当爆int的时候,不会带上负号,就相当于对2的64次方进行取模了。...

2019-01-02 18:04:13 216

原创 单调栈(G - Sliding Window POJ - 2823 )

题目链接:https://cn.vjudge.net/contest/276251#problem/G题目大意:给你n和m,然后问你对于(m,n)这中间的每一个数,(i-m+1,i)这个区间的最小值和最大值。具体思路:单调队列,对于个数的控制,我们通过队列来实现一个模拟的滑动窗口。然后最值的寻找,我们可以通过控制队列保持单调递增或者单调递减来实现。STL AC代码(耗时:109...

2019-01-01 19:47:39 167

原创 D. Easy Problem(简单DP)

题目链接:http://codeforces.com/contest/1096/problem/D题目大意:给你一个字符串,然后再给你去掉每个字符串的每个字符的花费,然后问你使得字符中不再存在hard这个单词,可以是不连续的。 具体思路:我们从头开始,非hard的单词就不需要考虑了,然后考虑一下,当遇到a的时候,我们就考虑构成h的最小花费,当遇到har的时候,我们就考虑构成ha的最小...

2018-12-30 10:21:27 630

原创 C. Polygon for the Angle(几何)

题目链接:http://codeforces.com/contest/1096/problem/C题目大意:T是测试样例,然后每一次输入一个角度,然后问你在一个n边形里面,能不能构成这个角度,如果能,输出边数,如果没有就输出-1. 具体思路:利用一个性质,四边形内的每个点都能被这个四边形内的最小的角度表示出来,也就是倍数关系。然后我们打表就可以发现,最多是到179度多,这个时...

2018-12-29 15:49:51 233

原创 F. Make It Connected(krustra+)

题目链接:http://codeforces.com/contest/1095/problem/F 题目大意:首先给你n个点,然后给你每个点的权值,再给你m条边,这些边可以选也可以不选,然后问你要使这个加边构成的图联通的最小花费。 具体思路:我们可以先找出权值最小的点,然后别的点都向向这个点连一条边,这是当前使得图联通的最小构图的方法,然后再看一下题目给定的点加上,注意题目给定的...

2018-12-28 20:01:48 379

原创 最小表示法

 题目链接:https://cn.vjudge.net/problem/POJ-1509最小表示法:判断头尾详解的字符串最小的字典序是从第几个字符串开始的。具体思路:线性的,我们设立两个下表,然后设立一个变量len。首先令i=0,j=1,len=0;一开始,我们比较s[i+len]和s[j+len],如果相等的话,就让len++。如果s[i+len]>s[j+len],我...

2018-12-28 09:51:08 159

原创 凸包入门(Graham扫描法)(A - Wall POJ - 1113)

题目链接:https://cn.vjudge.net/contest/276359#problem/A题目大意:有一个国王,要在自己的城堡周围建立围墙,要求围墙能把城堡全部围起来,并且围墙距离城堡的距离至少为l,然后问你最小的消耗量。具体思路: 将围起来城堡的围墙全部往外移,求出这些点构成的凸包,然后再加上半径为l的圆的周长,这就是最终答案。AC代码:#include&l...

2018-12-27 18:15:15 150

原创 单调队列,栈专题

A题:A - Largest Rectangle in a Histogram HDU - 1506 题目大意:给你n个点,每一个点代表当前坐标下的矩形的高度,然后问你最大的矩形面积。具体思路:我们可以用一个栈维护最大值,这个栈内的元素都是保持单调的,如果当前输入的数比栈顶元素小的话,这个时候我们先算一波栈里面的最大值,判断停止的时候是当栈顶元素比当前输入的元素小的时候停就可...

2018-12-27 09:25:08 167

原创 容斥原理&&莫比乌斯专题

A题:A - Eddy's爱好   HDU - 2204 具体思路:如果是求n中,为平方数的有多少个,那么答案肯定是sqrt(n),同理,如果是三次根号的话,那么答案肯定是n的三分之一次方。然后继续按照这个思路来,对于1e18次方的数,最多就是2的64次方,也就是说我们最多枚举大小不超过63的素数就可以了,然后还需要考虑一种情况,比如说6的时候,被素数2算了一遍,然后又被素数3算了一遍,这个...

2018-12-25 20:46:54 335 1

原创 E - Sudoku HDU - 5547 (搜索+暴力)

题目链接:https://cn.vjudge.net/problem/HDU-5547具体思路:对于每一位上,我们可以从1到4挨着去试, 具体判断这一位可不可以的时候,看当前这一位上的行和列有没有冲突,以及他所在的2*2的方格中有没有矛盾的。AC代码:#include <iostream>#include <string>#include <de...

2018-12-25 15:37:55 215

原创 C. Connect Three(构造)

题目链接:http://codeforces.com/contest/1087/problem/C题目大意:给你三个点的坐标,让你用尽可能少的方块,让这三个点连起来。具体思路: 我们先对这三个点进行排序,我们先选定第二个点,记录一下所有的点中,y的最小和最大,对于第二个点,我们竖着建立一个长度为(y的最大值-y的最小值+1)的长度,这一条的x坐标是第二个点的x坐标,然后剩下的第一个点...

2018-12-24 14:53:00 549

原创 判断矩形相交的方法

给你两个矩形,分别给你矩形的左下角和右上角,问你是否相交。第一个矩形:(x1,y1),(x2,y2)第二个矩形:  (x3,y3),(x4,y4)如果满足max(x1,x3)<=min(x2,x4)&&max(y1,y3)<=min(y2,y4),则相交。具体链接:http://codeforces.com/contest/1080/problem/C...

2018-12-23 11:32:29 1374

原创 字典树&&01字典树专题&&对字典树的理解

对于字典树和01字典树的一点理解:首先,字典树建树的过程就是按照每个数的前缀来的,如果你要存储一个全小写字母字符串,那么这个树每一个节点最多26个节点,这样的话,如果要找特定的单词的话,按照建树的方式找就可以了。然后是01字典树,这个树在处理一些异或问题的时候特别好用,首先在存储一个树的过程中,我们是按照从高位开始的,如果是对于int型的,我们就从这个数的32位开始存储,不够的话,按照0...

2018-12-22 20:08:16 194

原创 J - Clairewd’s message HDU - 4300(扩展kmp)

题目链接:https://cn.vjudge.net/contest/276379#problem/J感觉讲的很好的一篇博客:https://subetter.com/articles/extended-kmp-algorithm.html题目大意:这是一个编译密码的题目,首先给你26个字母分别重新编码后的对应的字母,然后再给你一个字符串,字符串的前一部分是编译过后的,后一部分是编译之前...

2018-12-22 12:02:54 180

原创 kmp专题

题目链接:https://cn.vjudge.net/contest/276379#problem/AA题:(kmp模板题)我的理解:首先nex数组的作用就是判断当前位置是否具有和使得前缀和与后缀和相等,如果存在的话,那么可以直接跳过前缀和,从前缀和的下一个开始匹配。AC代码:#include<iostream>#include<stdio.h>u...

2018-12-21 09:29:15 142

原创 差分约束系统专题 && 对差分约束系统的理解

具体能解决的问题:求最长路,最短路,或者判断解是否存在。在建边的时候:一般是给你区间减法的关系,或者是这个点到另一个点的关系。如果给你的关系是除法的话,我们可以通过使用两边同时取log的方式,将除法变成两个式子的减法,这样就转换成了减法的建边。判断最优解的时候:一般是判断是否有负环或者正环,但是一个spfa只能判断一种,因为正环和负环的松弛条件是不同的,在判断是正环还是负环的时...

2018-12-20 22:29:06 191

原创 差分约束系统+输出路径(I - Advertisement POJ - 1752 )

题目链接:https://cn.vjudge.net/contest/276233#problem/I题目大意:输入k和n,然后输入n行,每一次输入两个数,代表开端和结尾,如果这个区间内点的个数大于等于k,那么就要求这个区间至少有k个点被圈起来,如果这个区间内的点的个数小于k,就要求这个区间内的点全部被包括起来,然后问你最多需要多少点?具体思路:正常的建图方式,为了使得路径输出的时候...

2018-12-20 22:17:34 202

原创 差分约束系统+(矩阵)思维(H - THE MATRIX PROBLEM HDU - 3666 )

题目链接:https://cn.vjudge.net/contest/276233#problem/H题目大意:对于给定的矩阵  每一行除以ai  每一列除以bi 之后 数组的所有元素都还在那个L-R范围之内,a[i]和b[j]是不知道的,然后问你是否有这样的数组a和数组b满足条件。具体思路:我们可以写出这样的等式,L<=Map[i][j]*a[i]/b[j]<=R,...

2018-12-20 17:50:58 169

原创 spfa+floyed+最长路+差分约束系统(F - XYZZY POJ - 1932)(题目起这么长感觉有点慌--)

题目链接:https://cn.vjudge.net/contest/276233#problem/F题目大意:给你n个房子能到达的地方,然后每进入一个房子,会消耗一定的生命值(有可能是负),问你一开始在第一个方间,初始生命值是100,最终能不能从第n个房间走出?具体思路:首先,我们需要建图,按照正常的建立就可以了,然后再去跑一个spfa,注意这个spfa求的是最长路,然后判断一下,...

2018-12-19 22:31:30 175

原创 spfa+差分约束系统(D - POJ - 1201 && E - POJ - 1364&&G - POJ - 1)+建边的注意事项+超级源点的建立

题目链接:https://cn.vjudge.net/contest/276233#problem/D具体大意:给出n个闭合的整数区间[ai,bi]和n个整数c1,…,cn。编写一个程序:从标准输入中读取间隔数,它们的端点和整数c1,…,cn,计算具有间隔[ai,bi]的至少ci共同元素的整数集合Z的最小尺寸,对于每个i = 1,2,…,n,将答案写入标准输出。 具体思路...

2018-12-19 15:42:46 142

原创 spfa+差分约束系统(C - House Man HDU - 3440 )+对差分约束系统的初步理解

题目链接:https://cn.vjudge.net/contest/276233#problem/C题目大意:有n层楼,给你每个楼的高度,和这个人单次的最大跳跃距离m,两个楼之间的距离最小是1,但是楼和楼之间的距离是能够调整的,现在有一个人,要从最矮的楼开始跳,每一次跳到比当前的楼高的楼上,然后问你在将所有的楼都走一遍的基础上,从第一个楼到最后一个楼之间的最远距离是多少?思路:使用...

2018-12-19 11:16:37 178

原创 差分约束系统+spfa(B - World Exhibition HDU - 3592 )

题目链接:https://cn.vjudge.net/contest/276233#problem/B思路和上一个一样,不过注意点有两个,第一,对dis数组进行初始化的时候,应该初始化成ox3f3f3f3f3f3f3f,因为这个题目的边权加到一定程度的时候会超过int。第二点,如果是memset,好像不能对dis数组初始化0x3f3f3f3f3f3f3f,然后我用for循环初始化的,就过了。...

2018-12-18 19:55:55 151

原创 差分约束系统 + spfa(A - Layout POJ - 3169)

题目链接:https://cn.vjudge.net/contest/276233#problem/A差分约束系统,假设当前有三个不等式x- y <=t1y-z<=t2x-z<=t3我们可以将第一个式子和第二个式子结合起来,就变成了x-z<= t1+t2 ,然后x-z的最大差值就是min(t1+t2,t3)(因为要使得最终结果都满足两个不等式)然后求...

2018-12-18 19:30:04 170

原创 F - Number of Connected Components UVALive - 7638 (并查集 + 思维)

题目链接:https://cn.vjudge.net/contest/275589#problem/F题目大意:就是给你n个数,如果说两个数之间的gcd!=1,那么就将这两个点连起来,问你最终这些点能形成几块具体思路:首先,我们可以讲所有数的倍数给标记出来,然后如果有一个数是 6,我们就把2 3 6 全部指向6,这样的话,每当我们找到一个数,我们就把这个数和他的素因子连起来(并查集)...

2018-12-18 09:09:45 214

原创 假·最大子段和 (sdutoj 4359 首尾相连)(思维)

题目链接:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/2736/pid/4359具体思路: 首先分析一波,最大的连续字段和只有两种情况,第一中,在 n个中间直接找,第二种.这个数组的尾部取几个,然后再从头部找出几个,使得总和最大.然后思路就来了,对于第一种情况,我们直接线性的跑...

2018-12-16 12:28:38 287

空空如也

空空如也

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

TA关注的人

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