- 博客(54)
- 收藏
- 关注
原创 redis05-持久化/RDB/fork/copyonwrite/AOF
内存:掉电易失,数据要做持久化单机自己持久化/主从复制redis存储层描述:1.快照/副本(RDB) 2.日志(AOF)RDB(Redis DB):时点性:例如每个小时落成一个文件,拍成一个快照。1.堵塞:redis不对外提供服务。内存把所有的键值对一个个写到磁盘的文件中去,db.file(数据的归属时间点是开始的时刻)。2.非堵塞:redis进程继续对外提供服务。将数据落地过程中,在写入db.file的过程中,内存还有键值对在做修改,成本高,数据很难把握落点是哪个...
2021-03-18 14:30:49
628
原创 redis04-消息订阅/pipeline/事务/modules
内容:①redis进阶使用②redis作为数据库/缓存的区别③缓存常见问题,面试回答思路④redis的持久化redis各功能的文档获取地址:http://www.redis.cn/documentation.html、->yum install nc(netcat)->nc localhost 6379 (与redis建立一个socket连接)->echo -e "sdfsdf\nsdfsdf" (输出“sdfsdf”换行“sdfsdf”,...
2021-03-18 14:25:12
188
原创 redis03-list/set/sorted_set/hash
自主学习:help @list->lpush k1 a b c d e f (list的push命令,其中lpush的l是新来的左边放的意思,value可以是一个或者多个,所以是head->f->e->d->c->b->a)->rpush k2 a b c d e f (head->a->b->...)->lpop k1 ("f")->lpop k1 ("e")redis对k2实现栈,使用同向命令;..
2021-03-18 14:23:26
234
原创 redis02-string类型bitmap
redis默认是16个库,0号-15号,通过-n指定redis启动客户端(命令行形式):->redis-cli(默认连接到6379)->redis-cli -h(可以看帮助)->redis-cli -p 6380(连接6380) ->set k380:1 hello ->get k380:1(返回hello) ->select 8(选择8号库) ->get k380:1(无数据) ->ex...
2021-03-18 14:22:05
202
原创 zookeeper01分布式应用程序的分布式协调服务
zookeeper官网:http://zookeeper.apache.org/下载:https://zookeeper.apache.org/releases.html#download学习:https://zookeeper.apache.org/doc/current/zookeeperOver.htmlzk的leader也是会挂的,导致服务不可用,但事实是zookeeper集群及其高可用,通过快速恢复出一个leader。zookeeper集群有两种运行状态:可用状态和不可用状态(l.
2021-03-18 13:57:54
363
原创 zookeeper02-原理知识Paxos/ZAB/角色功能
Observer不参与选举,,Follower参与选举搜索技巧,在百度的搜索框中输入:paxos site:douban.com(做一个豆瓣的定向搜索)Paxos全解析:https://www.douban.com/note/208430424/“ Paxos,它是一个基于消息传递的一致性算法”, Paxos还被认为是到目前为止唯一的分布式一致性算法,其它的算法都是Paxos的改进或简化。Paxos有一个前提:没有拜占庭将军问题(网络中节点与节点之间是不可信的)。就是说...
2021-03-18 13:48:37
266
原创 HDU5572(2015ACM/ICPC亚洲区上海站A题)_计算几何(积累计算几何的板子)
题目链接:An Easy Physics Problem 题意:给A、B两点,方向向量V和圆柱体的圆心和半径。问题是:在一个光滑的平面上,给出大小可忽略不计的小球,起始点是A,沿方向向量V给一个速度,问小球会不会经过B这个点。如果小球撞到圆柱体,小球会发生完全弹性碰撞。 题解:①小球不能和圆柱体碰撞,那么判断小球的运动路径上经不经过B就行。 ②小球和圆柱碰撞,在撞之前经过B
2017-11-19 18:28:38
820
原创 Educational Codeforces Round 31 C.Bertown Subway(图论)
题目链接:Bertown Subway 题意:简单地说,就是给一个n个地铁站的线路图,每个地铁站i有一趟地铁从i站出发,到达目的站pi,pi可以等于i 且 满足条件: 对于每个i站,只存在一个j站使得pj=i。定义有序对pair(a,b)表示从a站到b站,现在给你一个机会在满足条件下可以改变不超过两个地铁站的pi,使得(a,b)的个数最多,问最多个数是多少? 题解:题目先输入一个n,在输入pi,
2017-11-06 14:05:06
297
原创 Codeforces Round #442(Div.2) B.Nikita and string(线性DP)
题目链接:Nikita and string 题意:给出一个长度<=5000的a-b串,允许移除串的某些字符,其他字符的相对位置不变,使得串能被切割成三个子串S1,S2,S3,满足S1、S3只含字符a或者为空,S2只含字符b或者为空。问移除字符过后的串的长度最大为几? 题解:我采用DP做法,目标求长度最长,在满足要求的条件下。设置状态:开大小为dp[5010][3]的数组,dp[i][0]表示第
2017-11-01 10:49:26
335
1
原创 Codeforces Round #443(Div.2) C.Short Program(位运算+思维)
题目链接:Short Program 题意:给出一段程序,这段程序只有与、或、异或三种操作,程序有n(n<=5e5)行,每行一个操作符,一个操作数。程序输入一个数,输出一个数。题目要求你设计一个<=5行的程序,使得 输入0~1023每个数在源程序得到的结果和在你设计的程序得到的结果是一样的。 思路:由于我们不知道输入的数是多少,只知道这个数<=1023,转化为二进制也就是<=1111111111
2017-10-30 12:56:54
277
原创 Codeforces Round #436 (Div. 2) F. Cities Excursions 字典序dfs+Tarjan判环
题目链接:Cities Excursions 题意:给你一个有向图,问任意两点间的字典序最小路径(如果存在)上的第k个节点是啥。 解法:提前存储好每个点能直接到达的点,并排序,因为这样遍历就是字典序的遍历。提前存储好q个询问,对q的f按从小到大排序,每次对f相同的询问做dfs,起始点是f,提前把起始点是f的询问用vector保存下来,这样在做dfs的过程中,一次性把具有共同起点的这部分询问给得出
2017-10-23 13:01:23
517
原创 Codeforce Round #438 C.Bus(贪心)
题目链接:Bus#include <iostream>#include <cstdio>#include <fstream>#include <algorithm>#include <cmath>#include <deque>#include <vector>#include <queue>#include <string>#include <cstring>#include
2017-10-11 21:09:47
293
原创 Codeforces Round #436 D.Make a Permutation!(贪心)
题目链接:Make a Permutation!#include <iostream>#include <cstdio>#include <fstream>#include <algorithm>#include <cmath>#include <deque>#include <vector>#include <queue>#include <string>#include <cs
2017-10-11 21:06:46
213
原创 Codeforces Round #436 E.Fire(01背包 + 输出路径)
题目链接:Fire#include <iostream>#include <cstdio>#include <fstream>#include <algorithm>#include <cmath>#include <deque>#include <vector>#include <queue>#include <string>#include <cstring>#include
2017-10-11 21:04:44
209
原创 The 2015 ACM-ICPC Asia Beijing Regional A.Xiongnu's Land
题目链接:UVA 7261(A) 题意:在二维坐标系第一象限中,将一块顶点在原点边长为R的正方形土地用直线x=n一分为二,左侧分给Wei,右侧分给Huo。 土地中包含N个绿洲,每个绿洲是一个矩形,其位置和大小用四元组(L,T,W,H)表示,其中(L,T)为其左上方顶点的坐标,W,H为其宽度和高度。绿洲互不重叠。 求满足以下条件的一条划分直线(直线方程 x=n,0<=n<=R,n取整数): (
2017-10-07 21:14:26
320
原创 Codeforces Round #439 C.The Intriguing Obsession(DP + 思维)
题目链接:The Intriguing Obsession 题意:有红,蓝,紫三种颜色的点,数量分别为a,b,c。要求合法地在这a+b+c个点中给点对增加连线,连线的数目随意(可以连多条,可以连一条,可以不连),连线后得到一个合法的图,问合法的图可以有多少种。(图合法的要求是:相同颜色的点的路径必须>=3) 思路:先明确合法图不能出现形如A-A,A-B-A的连接方式,形如A,A-B,A-B-C,
2017-10-07 16:41:48
217
原创 Codeforces Round #438 C.Qualification Rounds(状态压缩再枚举状态)
题目链接:Qualification Rounds 题意:给出n,k。n个题目,k个人,k个人中每个人做过那个题目的关系也给出来。现在问能不能在这n个题目中选出一定数量的题组成一个题集,使得k个人中的任何一个人在这个题集中做过的题不超过题数的一半。思路:刚开始想到,如果有一题k个人都做过,那么这一题绝对不选,如果有一题k个人都没做过,直接可以输出“YES”,问题在于那些完成的人数>0且< k的题里
2017-10-06 21:52:03
355
原创 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B.Coin(数学推公式)
题目链接:计蒜客 Coin 题意: 上式求k取偶数的各项的累加和。 思路:需要用到概率论和数理统计的知识,有:, 本题中λ1 + λ2 = 1,展开各项,得到等式①D0+D1+D2+…Dn = 1。到此为止仍然没法求偶数项的和,目标就是要把奇数项给除去,联想到以前经常用到的方法,构造等式左边D0-D1+D2-….+Dn,两式相加,奇数项消去。按照这样的思路,令 λ1 = -λ1,得到②式D1
2017-10-06 19:53:10
327
原创 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 C.Sum(找规律)
题目链接:Sum 思路:形式类似与9,99,999,9999,99999,…的数a与任意数相乘得到的数的各位数字相加的和b与a的各位数字相加的和c相等。 直接输出233个9,233个9与任意数相乘的结果的各位数字之和等于233*9#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<q
2017-10-05 16:55:46
407
原创 2017 ACM-ICPC 亚洲区(北京赛区)网络赛C.Matrix (DP)
题目链接:hihocoder 1580 题意:给出n*m矩阵和p,要求修改其中一点的值为输入的p,再求最大子矩阵。 思路:参考http://blog.youkuaiyun.com/luricheng/article/details/78074046我们考虑没有p时,求最大子矩阵和: 对sum[i]求一遍最大字段和即可得到最大子矩阵(i表示第i列),O(n^3)。当要求修改其中一个值为p,再求最大子矩阵和,
2017-10-05 15:32:04
508
原创 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 J.Minimum Distance in a Star Graph
题目链接:Minimum Distance in a Star Graph 思路:模拟,因为只能把后面的和第一个交换,所以当第一个不在其应在的位置时,把它放到应在的位置;当第一个已经在它应在的位置时,去后面一个不在正确位置的点和第一个交换……直到字符串完全匹配。#include <iostream>#include <cstdio>#include <fstream>#include <al
2017-10-03 20:42:55
299
原创 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 L.The Heaviest Non-decreasing Subsequence Problem 权值最大的最长带权非递减子序列
题目链接:The Heaviest Non-decreasing Subsequence Problem 思路:因为是找非递减子序列,所以如果数b的权值是a,可以当成a个数b连续排列在数组中。然后找最长非递减子序列的长度即可,下列代码LNDS()函数也可以作为最长非递减子序列的模板使用,时间复杂度nlog2(n)。#include <iostream>#include <cstdio>#inc
2017-10-03 17:39:15
18894
原创 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 A. Weather Patterns(阅读题)
题目链接:Weather Patterns#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cmath>#include<map>#include<set>#include<cstd
2017-10-02 21:10:27
279
原创 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 B. Train Seats Reservation
题目链接:Train Seats Reservation 思路:按时间点排序,用vis数组存静上车人数(可能是负),注意去重点。 顺序遍历所有的时间点,计算车上人数的变化,得到过程中的最大值。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<sta
2017-10-02 19:05:23
237
原创 ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 I.Minimum(线段树_单点修改,查询区间最大最少值)
题目链接:Minimum#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cmath>#include<map>#include<set>#include<cstdlib>#def
2017-10-02 16:52:38
191
原创 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 F. Overlapping Rectangles(面积并)
题目链接:Overlapping Rectangles 面积并模板题,类似题还有HDU1542#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cmath>#include<map
2017-10-02 15:13:51
230
原创 ACM-ICPC国际大学生程序设计竞赛北京赛区(2017)网络赛 E.Territorial Dispute(凸包)
题目链接:Territorial Dispute 题意:给出n个点,给出坐标,你可以把点编号为’A’或者’B’,问题时存不存在一种编号的方法使得编号完后不存在一条直线能把不同类型的点分到线的不同侧。如果不存在这种方法,输出“NO”。如果存在这种方法,输出“YES”,方法可能有多种,再输出其中一种方法。 思路:n表示点的个数。n = 1 和 n = 2时,肯定输出“NO”。n = 3 时,当3点共
2017-09-25 16:50:58
277
原创 2017 ACM-ICPC亚洲区(南宁赛区)网络赛 F.Frequent Subsets Problem
题目:Frequent Subsets Problem 题意:U={1, 2,…,N},m个U的子集S1,S2,…,Sm,一个double型的a。 定义Frequent Subset为在S1,S2,…,Sm中包含次数>=a*m的一个集合,问Frequent Subset存在多少种? 思路:比赛时头铁,想了一种dfs的方法,WA了。正解应该是状压,然后枚举集合。枚举答案的复杂度是1e6,枚举Si
2017-09-25 10:06:11
275
翻译 HDU2222(AC自动机入门题)
题目链接:Keywords Search AC自动机入门贴:自动机算法详解 (可能我比较菜,博主对Insert()和build_ac_automation()两个函数的解析没看太懂,我建议和我有同样状况的朋友选择看代码理解算法思想)#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<q
2017-09-20 22:08:54
248
原创 万恶的2017 ACM/ICPC Asia Regional Qingdao Online 1011 A Cubic number and A Cubic Number
题目链接:A Cubic number and A Cubic Number 题意:我总结为a^3 - b ^ 3 = p(a,b都是正整数,但a≠b),题目问给出一个质数p(p <= 10^12),如果p满足式子,输出“YES”,否则,输出“NO”。 思路:(a ^ 3 - b ^ 3) = (a - b)*(a^2 + a*b + b^2) = p 由于p是质数,所有p的因子只有1和p。上
2017-09-20 19:22:13
167
原创 字典树_HDU1671
题目链接:Phone List 思路:字典树模板题。不需要用到Search函数,用全局变量flag标记结果输出YES还是NO。当一个字符串在参与建Trie树时,走过的路上的点有isStr标记为true就证明此前参与建Trie树的一个字符串是当前串的前缀;还有当前参与建Trie树的串,最后一个字符所在的节点,它有子节点证明当前串是某串前缀。分别处理一下两种情况:如样例中,先输入911,后输入91 1
2017-09-18 21:45:13
346
转载 字典树(前缀树)笔记
转载自:http://blog.youkuaiyun.com/v_july_v/article/details/68970971.1、什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。
2017-09-18 17:11:27
586
原创 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F Trig Function(切比雪夫多项式)
题目链接:Trig Function 题意:求给定n后,问sin(nx)多项式中,x^m项的系数是多少。 思路:切比雪夫多项式,可以把cos(nx)展开为系数不为0的每一项的累加。如图: 注意”!!”不是阶乘的阶乘,而是不超过n且与n具有相同奇偶性的所有正整数连乘积。#include<cstdio>#include<cstring>#include<iostream>#include
2017-09-16 22:08:04
367
原创 51nod1051_DP求最大子矩阵
题目链接:最大子矩阵和 题目描述当所有数都为负数时输出0,意味着除了都为0的情况,总存在一个数>=0,即结果一定>=0,所以当中间结果tmp<0时,后面加它都必然使得结果更小,意味着上面的段不用,tmp置为0,从下一段重新开始寻找可能的最大值。转化为最大子段和求解。#include<cstdio>#include<cstring>#include<iostream>#include<algo
2017-09-13 22:10:19
190
原创 HDU1559最大子矩阵
题目链接:HDU1559 求最大子矩阵,其实挺简单的,我觉得直接看代码也能看懂这个意思。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<cmath>#include<map>#in
2017-09-13 20:27:35
260
原创 2017广西邀请赛 G Duizi and Shunzi(贪心)
题目链接:Duizi and Shunzi 题意:问给出一组数,求max(对子数+顺子数)。约定,每个数只能用一次,对子长度为2,顺子长度为3。如22是一对对子,123是一对顺子。 思路:很容易想到一个思路,对子长度比顺子长度短,优先组合成对子。看1123这个序列,11对子或者123顺子,优先组合对子(反正对子顺子1比1的关系,后面存在未知,先把前面的合并起来);看1223这个序列,22对子或者
2017-09-13 11:27:01
633
原创 2017 ACM/ICPC Asia Regional Shenyang Online 1004 array array array 最长上升子序列(板子可以更新啦,复杂度nlog2(n))
题目链接:array array array 题意:从给定n个元素的数组中删除k个元素,如果剩下的数组元素是一个非递增序列或者是一个非递减序列,则输出“A is a magic array.”,否则,输出“A is not a magic array.” 思路:等于求至少得删除几个元素使得原序列要么是个递增序列,要么是个递减序列,它等于 (n - max(最长递增子序列长度,最长递减子序列长度)
2017-09-11 21:06:14
225
原创 2017 ACM/ICPC Asia Regional Shenyang Online 1005 number number number (HDU6198)
题目链接:number number number 思路:找规律,当k=1时,n=F5-1=4。k=2,n=F7-1=12。k=3,n=F9-1=33。所以大胆推测n=F(2*k+3)-1,得到序列4、12、33、88、… 递推公式:f(n) = 3*f(n-1) - f(n-2) + 1 用矩阵快速幂求解 构造矩阵: | 3 1 0| |-1 0 0| * [f(n) f(n-
2017-09-11 17:16:52
179
原创 2017 ACM/ICPC 亚洲区(乌鲁木齐赛区) 网络赛 F Islands(求使有向图成为强联通图最少需要增加几条边)
题目链接:Islands 题解:使用Tarjan算法找到每个强联通分量,此时强联通分量内部各点是相互可以到达的,那么我们可以考虑把每个独立的强联通分量当作一个个独立的点处理。到目前为止,如果两个点之间有边,但是不属于同一个强联通分量的话,必然的我们需要增加一条边,明白这个之后,计算出度和入度的最大值。#include<iostream>#include<cstring>#include<cst
2017-09-09 21:41:43
203
原创 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区) 网络赛 H.Skiing(求有向无环图的最长路)
试题链接:Skiing 题解:拓扑排序+DP,取出度为0的点的最大值#include <iostream>#include <cstdio>#include <fstream>#include <algorithm>#include <cmath>#include <deque>#include <vector>#include <queue>#include <string>
2017-09-09 19:37:04
271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人