自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HJ

业余算法爱好者

  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 大三转大四随感

大三的暑假慢慢地就要过完了。有的时候晚上从实验室出来,走在校园里,觉得恍如隔世。仿佛自己停留大一那一年在刚来学校的时刻。我的大学,真的就要这么过去了~它用一种迅雷不及掩耳之势的校招把我们的处境毫无遗漏地展现出来;八月底,几乎所有公司的提前批都已经接近了尾声。而我,正巧赶上了这个尾巴。在明天就要正面刚wuli猪场面试官的此时此刻,我的心情无比复杂;其实,在此之前,我也有收到过小米的一面、...

2018-08-23 23:27:14 512

原创 Wannafly挑战赛22 D-整数序列 (线段树)

https://www.nowcoder.com/acm/contest/160/D对于树上的每个叶子结点,维护一个复数结构体 cos(a[i] + sin(a[i])*i ,每次增加一个v,则相当于乘以一个复数cos(v) + sin(v)*i , 其它的求和即常规操作即可。#include<iostream>#include<cstdio>#include&

2018-08-19 10:28:16 351

原创 codeforces 986-A. Fair(bfs)

http://codeforces.com/problemset/problem/986/A做法:对于每一种k,bfs每个镇上要取得的最短路径,最后对于每个镇根据k的值sort排序取s个输出即可。#include<iostream>#include<algorithm>#include<cstring>#include<vector&...

2018-08-17 09:08:39 350

原创 codeforces 987-C. Three displays(思维)

http://codeforces.com/problemset/problem/987/C解题思路:枚举中间的节点 j,然后往左边扫一遍i,再往右边扫一遍k即可#include<iostream>#include<algorithm>#include<cstring>#include<vector>#include<set...

2018-08-17 09:06:14 258

原创 LCA问题的三种求法

先来看一道例题:hdu 2586 How far away ?http://acm.hdu.edu.cn/showproblem.php?pid=2586题目描述的就是给你一棵n个节点的树,然后Q次询问,每次询问的内容是节点x和节点y的最近公共祖先(LCA)接下来就来说一说LCA(最近公共祖先)你需要准备的预备知识: ①ST表处理RMQ问题; ②并查集的思想以及实现; ③...

2018-08-16 18:40:24 870

原创 POJ 3264 Balanced Lineup(ST表)

http://poj.org/problem?id=3264RMQ问题,求每次询问的区间[L,R]中的最大值与最小值的差可以用ST表解决;#include<iostream>#include<cstdio>using namespace std;const int N=5e5+10;int log2[N];int n,m,x,y,a[N],f[N][2...

2018-08-16 15:17:32 194

原创 POJ 2104 K-th Number(主席树)

http://poj.org/problem?id=2104入门题的主席树代码风格二:#include<iostream>#include<algorithm>#include<vector>#include<cstdio>#include<cstring>using namespace std;typedef...

2018-08-16 15:13:05 229

原创 hdu 2665 Kth number(主席树)

http://acm.hdu.edu.cn/showproblem.php?pid=2665入门题的主席树代码风格一:#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;#define lson l,m...

2018-08-16 15:11:16 194

原创 hdu 5976 Detachment(二分+逆元)

http://acm.hdu.edu.cn/showproblem.php?pid=5976解题思路:首先需要判断怎么分割才能保证乘积最大?对于连续数,我们从2开始2+3 2+3+4 2+3+4+5 …. 2+3+4+….+m 其中m满足 2*m+(m-1)*m/2 >= 1e9 大概是1e5的样子对于一个数n,如果不能恰好等于从2开始一直到k的连续数之和,那么...

2018-08-15 15:44:36 210

原创 codeforces 935-C.Fifa and Fafa(几何)

http://codeforces.com/problemset/problem/935/C题目大意:给出一个圆的圆心和半径,另外再给出一个点,问在这个圆内求一个最大的圆保证这个点不在这个圆内(可以在圆上),求圆的圆心和半径。解题思路:利用相似三角形,先判断圆心和点的距离大于半径和两点重合的情况,再结合相似求出圆心即可。#include<iostream>#inc...

2018-08-14 11:14:12 226

原创 hdu 6345 子串查询(前缀和)

http://acm.hdu.edu.cn/showproblem.php?pid=6345解题思路:利用前缀和对于每次查询的区间[l,r],求出最先出现的最小字母个数即可。#include<iostream>#include<cstdio>#include<vector>#include<algorithm>#include&l...

2018-08-14 08:28:44 358

原创 hdu 6375 度度熊学队列(list或者map+deque)

http://acm.hdu.edu.cn/showproblem.php?pid=6375解题思路:主要是一个双向链表的模拟,对于反转,只要将链表两端互换一下即可。下面给出两种STL做法。list实现:#include<iostream>#include<algorithm>#include<cstdio>#include<list...

2018-08-14 08:23:20 279

原创 hdu 6374 度度熊拼三角(二分)

http://acm.hdu.edu.cn/showproblem.php?pid=6374解题思路:选择任意两个数,二分查找第三个满足条件的数即可。#include<iostream>#include<algorithm>#include<map>#include<vector>#include<set>#incl...

2018-08-14 08:19:53 375

原创 codeforces 858-C. Did you mean...(暴力模拟)

http://codeforces.com/problemset/problem/858/C解题思路:根据题目大意设置两个变量进行模拟即可。#include<iostream>#include<cstdio>using namespace std;string s;char a[]={'a','e','i','o','u'};int Judge(char ...

2018-08-14 08:16:18 452

原创 codeforces 855-B. Marvolo Gaunt's Ring(背包问题)

http://codeforces.com/problemset/problem/855/B解题思路:可以把p,q,r看成三个物品,当做背包问题处理。#include<iostream>using namespace std;#define INF 0x3f3f3f3f3f3f3f3ftypedef long long ll;const int maxn=1e5+1...

2018-08-14 08:14:09 667

原创 codeforces 1019-A. Elections (暴力模拟)

http://codeforces.com/problemset/problem/1019/A题目大意:某个国家有n位候选人以及每位候选人的投票数,现在要求编号为1的候选人票数最高(即比其他任何票数都要至少多1)。你可以花一些钱收买那些投票的人,改投编号为1的党派。问最少需要多少钱收买,才能让编号为1的党派候选人当选(即票数最高)解题思路:刚开始做的时候一脸懵逼,其实是因为不确定投...

2018-08-12 20:05:04 731

原创 hdu 5120 Intersection(求圆面积交)

http://acm.hdu.edu.cn/showproblem.php?pid=5120简单的模板题。最后答案为S(两个大圆) + S(两个小圆) - S(小圆1与大圆2) - S(小圆2与大圆1)#include<iostream>#include<algorithm>#include<cstring>#include<vecto...

2018-08-12 19:59:08 265

原创 hdu 5119 Happy Matt Friends(dp)

http://acm.hdu.edu.cn/showproblem.php?pid=5119解题思路:dp递推求解,设dp[i][j]表示前i个数异或值为j的种类数,则状态转移方程为: dp[i][j] = dp[i-1][j] + dp[i-1][j^a[i]]#include<iostream>#include<algorithm>#include...

2018-08-12 19:56:25 236

原创 hdu 5115 Dire Wolf (区间dp)

http://acm.hdu.edu.cn/showproblem.php?pid=5115题目大意: 有n匹狼,每次击杀其中的一匹需要耗费对方的a[i]值以及相邻两匹狼的b[i]值,问要如何击杀,才能让最后耗费最少?解题思路:区间dp。刚开始想的是贪心,但是总是过不了。 dp[i][j]表示击杀区间[i,j]中的狼最少耗费#include<iostream>...

2018-08-12 19:54:06 211

原创 codeforces 732-D. Exams (二分)

http://codeforces.com/problemset/problem/732/D题目大意:一个人有m门科目需要考试,每一门科目需要a[i](1<=i<=m)的复习时间,并且有份n天的考试安排表,其中d[i](1<=i<=n)假如为0,就代表这一天没有任何科目的考试。试求这个人最少在第几天顺利通过所有考试?解题思路:想了好久的贪心,排序各种做法,总...

2018-08-11 20:18:11 373

原创 CSU 1030 素数槽(素筛+二分)

http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1030解题思路: 首先素筛打表一下,然后二分查找出来即可;#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<cstdi...

2018-08-11 19:21:49 372

原创 ZOJ 4033 CONTINUE...?(构造)

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4033题目大意: 有男女共n个人,给出一个字符串表示这n个人的站队,’0’表示女,’1’表示男,下标从1开始。其中给这些人分G1、G2、G3、G4四个组,其中G1和G2都是女生,G3和G4都是男生。要求G1和G3组内的所有人的下标之和要等于G2和G4组内的所有人的下标之...

2018-08-11 19:18:45 392

原创 hdu 6330 Problem L. Visual Cube(模拟)

http://acm.hdu.edu.cn/showproblem.php?pid=6330练练手的模拟,做了将近两个小时,最后才发现原来长宽高搞错了。做法:先解决左上和右下的两个直角三角形,然后解决顶边和正面两面,剩下的就填补一下就行了。#include<iostream>#include<cstring>#include<cstdio>us...

2018-08-11 19:07:21 201

原创 hdu 1394 Minimum Inversion Number(线段树)

http://acm.hdu.edu.cn/showproblem.php?pid=1394题目大意:求一个可循环数组中最小逆序数和的值解题思路:对于给出的数组,求出逆序数,再根据每次将首位数移到尾部,第i个数逆序数的变化为2*a[i]-n+1,循环中每次更新最小值即可。最重要的就是如何求出逆序数?有很多种方法,归并排序、树状数组,当然,也还有线段树。做法:建一颗空数,...

2018-08-09 16:25:17 135

原创 BZOJ 2038 小Z的袜子 (莫队算法)

https://www.lydsy.com/JudgeOnline/problem.php?id=2038莫队板子题,测一下板子。简单莫队介绍:1、技巧: 离线处理查询,让查询“有序”;2、预处理:将序列分块,然后根据块将查询安排进去;3、O(n)遍历:将所有查询利用一条总线串起来,每次相邻两个查询所用时间复杂度为 |L - L'| + |R - R'|#includ...

2018-08-09 14:36:04 199

原创 codeforces 991-D. Bishwock(模拟)

http://codeforces.com/problemset/problem/991/D解题思路:对各种情况简单归类模拟一遍即可。#include<iostream>#include<algorithm>#include<vector>#include<map>#include<set>#include<c...

2018-08-09 14:28:02 294

原创 codeforces 993-A. Two Squares(几何)

http://codeforces.com/problemset/problem/993/A解题思路:枚举两个正方形包含的点,暴力判断是否重复即可。#include<iostream>#include<cstring>#include<algorithm>using namespace std;struct node{ int x,y...

2018-08-09 14:24:10 387

原创 codeforces 997-A. Convert to Ones(dp)

http://codeforces.com/contest/998/problem/C解题思路:查找连续‘0’出现的区间的个数(假设为cnt),枚举cnt,将初始化为正无穷的ans与前i个连续出现‘0’的区间采用反转,后cnt-i+1采用翻转方法所耗费的值进行比较,取较小值。#include<iostream>#include<algorithm&g

2018-08-08 20:41:06 366

原创 codeforce 996-B. World Cup(模拟)

http://codeforces.com/problemset/problem/996/B解题思路:定义一个查找指针p初始化为1,循环节为n,然后找出最小数字,判断指针p,在这个数变成0的时候,是否不超过这个数的位置,如果不超过,则答案即为这个数所在的位置,否则对下一轮模拟一遍才能得出答案。#include<iostream>#include<algorithm&...

2018-08-08 20:35:14 268

原创 codeforces 1016-C. Vasya And The Mushrooms(dp+前缀和)

http://codeforces.com/problemset/problem/1016/C题目大意:从一个2*n格子的左上角出发,要求每个点都有且必须只能访问一次,并且每次访问一个点都会得到此点上的数与基数的乘积,问最后最大的乘积和为多少?解题思路:其实自己模拟一下就很容易发现,只有两种走法:① 按照 ‘下左右上’ 四次一个循环,重复地走; ② 按照’一直往左再拐回一直往...

2018-08-08 13:42:28 401

原创 codeforces 615-E. Hexagons(二分+模拟)

http://codeforces.com/problemset/problem/615/E题目大意: 略解题思路:首先二分判断n所在的层数,然后根据层次k算出六个点的坐标;接下来将n减去k-1层内所有步数,对k整除和取膜,模拟判断六种情况,算出坐标即可#include<iostream>#include<cmath>using namespace ...

2018-08-08 11:14:02 225

原创 codeforce 615-D. Multipliers(唯一分解定理+费马小定理+快速幂)

http://codeforces.com/problemset/problem/615/D题目大意:给出若干个素因子,这些素因子连乘会形成一个很大很大的数M,问这个M所有因子连乘的结果对1e9+7是多少?解题思路:枚举素因子出现的种类以及每种出现的素因子个数。接下来可以利用唯一分解定理求因子个数的,假设M = p1^a1 * p2^a2 * ... * pk^ak那...

2018-08-08 11:09:35 297

原创 codeforces 615-B. Longtail Hedgehog(dp)

http://codeforces.com/problemset/problem/615/B题目大意:给出一个n个点m条边的无向无环图(不一定全联通),求一条递增链长度与尾节点个数乘积的最大值。解题思路:设dp[i]表示以节点i结尾的最长的递增链长度,那么只要比较每个点的dp[i]值与对应点的节点个数乘积即可。#include<iostream>#include&...

2018-08-08 10:53:50 291

原创 FZU 2302 Necklace (dp斜率优化)

http://acm.fzu.edu.cn/problem.php?pid=2302题目大意:给出一个n元环,要求任意剪断k次,求剩下的k段中各段和的平方的累加起来的和最小为多少?解题思路:裸的一个dp斜率优化题目,我们可以设dp[i][j]表示前 i 个数剪断 j 次的最小值,那么状态转移方程就为 dp[i] = min{ dp[j] + (sum[i] - sum[j...

2018-08-08 10:41:09 248

原创 FZU 2301 Chosen by god (组合数学+打表+快速幂)

http://acm.fzu.edu.cn/problem.php?pid=2301题目大意:有n次攻击回合,每个回合的攻击有一点伤害,但是可能攻击到敌方无限血的英雄,也可能攻击到敌方的一个血量为m的小兵,问在n次攻击回合内把敌方小兵杀死的概率为多少?答案对1e9+7取膜。解题思路:敌方小兵血量为m,那么至少要有C(n,m)的方法攻击或者以上才能将小兵杀死,因此分子的值为C(n,m...

2018-08-08 10:33:13 754 2

原创 FZU 2297 Number theory (线段树)

http://acm.fzu.edu.cn/problem.php?pid=2297题目大意:有一个默认初始值为1的x,给出一系列数据应用,每次输入一个大写字母’M’或者’N’以及一个整数。当大写字母为’M’时,表示这个x乘以后面的整数;当大写字母为’N’时,表示x整除后面整数所指的查询序号所输入的整数,问每次输入,输出的x的值为多少?答案对1e9+7取膜。解题思路:常规的乘除明显...

2018-08-08 10:25:10 920 3

原创 hdu 3507 Print Article(dp斜率优化)

http://acm.hdu.edu.cn/showproblem.php?pid=3507斜率dp入门题,解释在代码中。#include<iostream>#include<algorithm>#include<cstdio>using namespace std;const int maxn=5e5+10;int dp[maxn],su...

2018-08-07 16:28:07 154

Fabric_源码分析.pdf

Hyperledger Fabric源码1.0版本的流程全解析,包括链码启动、Peer启动、Peer与链码交互、Endorser背书流程、Orderer启动、Orderer与Kafka集群交互等等内容

2020-05-08

字符串基本知识点讲解

对KMP算法的详细讲解(私密材料),以及Manacher算法的经典讲述。

2018-02-09

基础数据结构总结

基础数据结构的知识点的讲解、总结,包括栈、队列、二叉树、图等。

2018-02-09

动态规划总结

ACM中基础动态规划的各类知识点讲述、总结。其中包括基础DP、背包问题、数位DP、概率DP等。

2018-02-09

线段树矩形面积并讲解

ACM中对于矩形面积并用线段树+离散化+ 扫描线一类问题求解

2018-02-09

空空如也

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

TA关注的人

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