自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

GrimCake的博客

励志当一名快乐的程序猿

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

原创 (3)servlet获取参数和返回响应

servlet获取参数和返回响应在web目录下新建login.html<html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>login</title></head><body> <form action="login" method="post"> <b>id:

2020-05-11 22:51:08 615

原创 (2)搭建servlet环境

搭建servlet环境本文将介绍在Eclipse下用最原始的方法,即直接创建java project来搭建,从而更方便地理解各个配置文件的作用。创建项目:File->new->Project->java project假设项目名j2ee在j2ee目录下创建web/WEB-INF/web.xml在src目录下new Package,包名为j2ee,创建一个HelloServlet.java文件最终,目录结构如图所示:先来看一下Tomcat服务器如何访问项目中

2020-05-11 18:22:51 333

原创 (1)配置Tomcat

下载源码包解压新建系统变量变量名:CATALINA_BASE变量值:D:\Java\apache-tomcat-8.5.51-windows-x64\apache-tomcat-8.5.51(bin目录的位置)变量名:CATALINA_HOME变量值:D:\Java\apache-tomcat-8.5.51-windows-x64\apache-tomcat-8.5.51编辑Path变量新建 %CATALINA_HOME%\bin打开cmd,输入startup启动,或者直接在..

2020-05-11 12:21:24 174

原创 bloom

BloomFilter模块信息util/bloom.cc模块概要布隆过滤器由一个很大的bit数组和很多的哈希函数组成,用于判断一个元素是否在集合中。当要往集合中加入一个元素时,就通过这些哈希函数将这个元素映射到bit数组不同的位上,并将该位设置为1。当要判断一个元素是否在集合中时,同样通过一系列哈希函数将元素映射到bit数组不同位上,如果出现某个位不为1,则说明该元素不在集合中。布隆...

2019-07-16 18:22:48 164

原创 leveldb源码分析:内存池 Arena

Arena模块信息util/arena.hutil/arena.cc模块概要用于实现一个简单的内存池,有两种内存分配方式,一种是普通分配,一种是对齐分配主要接口方法说明char* Arena::Allocate(size_t bytes)普通方式分配内存char* Arena::AllocateAligned(size_t bytes)对齐方式分配内存...

2019-07-16 15:53:19 198

原创 redis源码阅读笔记 字典

redis源码阅读笔记 字典​ 字典是redis中实现的一种数据结构,其中一些api函数的相互调用关系有一点复杂,故做一篇记录整理一下。常用apidictCreate 创建新的字典dictAdd 向字典中插入给定键值dictReplace 同上,如果存在则替换dictFetchValue 返回给定键的值dictGetRa...

2019-05-27 15:14:25 163

原创 Linux多线程服务端编程读书笔记 chapter 1 线程安全的对象生命期管理

析沟函数与多线程c++对象生命周期由程序员管理,那么在多线程环境下,如何保证调用成员函数时该成员还存活,如何保证析沟函数只被调用一次,如何保证不会析构到一半时其他线程又调用了成员函数?安全地创建对象为了保证对象安全地被构造,即不被其他线程访问一个构造了一半的对象,关键是在构造过程中不泄露this指针,即不要在构造函数中注册任何回调不要在构造函数中将this指针传给跨线程的对象即使在构...

2019-04-28 21:19:02 225

原创 Nginx学习 2.模块开发

模块调用原理 先来看看nginx是如何调用模块的,以http模块为例,从书中截了一张图:

2019-04-25 09:53:34 247

原创 Nginx学习 1.基本使用

1 Nginx的启动与关闭 Nginx的可执行文件在/nginx/sbin目录下,配置文件在/nginx/conf目录下,可以通过whereis命令进行查找。 启动Nginx后若修改了配置文件只需要用nginx -s reload进行重新加载即可。删除了一些语句后,有的浏览器如firefox可能需要清理缓存数据才能显示删除后的效果。2...

2019-04-24 15:35:46 150

原创 Nginx学习 0. 概述

开一篇博客记录一下学习Nginx的过程,主要参考官方文档以及《深入理解Nginx:模块开发与结构解析(第二版)》。主要内容有:

2019-04-24 14:31:17 135

原创 chapter 4 读书笔记

多进程处理客户端请求框架如代码所示for(;;){ connfd = Accept(listenfd, ...); if((pid = fork()) == 0){ close(listenfd); deal(connfd); close(connfd); exit(0); } close(con...

2019-04-24 00:18:12 170

原创 从零开始写操作系统(1)环境配置

       寒假来了,从今天开始正式进入操作系统内核学习。最近在读田宇写的《一个64位操作系统的设计与实现》,感觉是本炒鸡棒的书,所以开一系列的博文来记录一下自己碰到坑。也不知道一个寒假能学多少。       话不多说,首先第一步当然是要配置环境啦。我使用的操作系统是Ubuntu 7.3。此外我们需要安装gcc,nasm,bochs。...

2019-01-20 13:06:26 488 1

原创 1106: [POI2007]立方体大作战tet(树状数组)

题意:有n种数字的牌叠成一堆,每种数字有两个。相邻相同的数字可以消去,每次只能交换相邻两个数字,消去某种数字后上面的牌会落下,因此可能产生连锁反应。问最少交换几次使所有牌都消去。题解:有几种情况第一种: 1.....1 2.....2这样先消1和先消2一样第二种:1212  同上,并且只用消一个第三种: 1 2 ....2 1 显然先消2更优分析可得,每种数字记录中间有多少...

2018-08-05 11:07:56 316

原创 2017 Multi-University Training Contest - Team 3

HDU-6058 Kanade's sum(维护附近第k大+链表)题意:给一个1-n的排列,求所有区间第k大数的和题解:对每一个数考虑其贡献,那么我们可以往左找第k大,然后往右找第k大,类似与单调栈算贡献的思想。关键是怎么找,可以用链表来优化,记录下每个数字出现的位置,从小数字开始找,算完它的贡献后把它删掉,这样对于每个数字他两边都是比他大的。代码:#include&lt;ios...

2018-07-24 23:12:15 205

原创 codeforces-1009D Relatively Prime Graph

题意:给n,m,要求构造一个n个点,m条边的图,要求对于任意一条边&lt;u,v&gt;,gcd(u,v)=1 .     0&lt;n,m&lt;1e5题解:可以打一下欧拉函数表,发现573内互质的对数就大于1e5了,因此可以从1开始枚举和他互质的点,然后把点对加入vector,当size大于m时就跳出代码:#include&lt;bits/stdc++.h&gt;#define...

2018-07-23 22:01:54 299

原创 2017 Multi-University Training Contest - Team 2

HDU-6045 Is Derek lying? (判断)题意:给出N,X,Y,代表有N个选择题,以及两个字符串代表两位同学的答案。D同学说他能得到X分,说A同学能得到Y分,请问他是否撒谎。题解:求出两个字符串对应位不同字符的有多少位。然后看代码吧。代码:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cst...

2018-07-20 01:27:11 206

原创 bzoj 1012: [JSOI2008]最大数maxnumber(线段树)

#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;int M;long long D;long long t = 0;int cnt;struct node{ int l, r; long long ma;}s[200010*4]...

2018-07-17 15:39:23 210

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

题意:给一棵树,每个节点有一个权值,从中选一些点,相邻节点不能同时选,问能选的最大值是多少代码:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;vector&gt;using namespace std;int dp[6010][2];int a[6010];...

2018-07-17 13:04:02 183

原创 codeforces-159C String Manipulation 1.0(vector)

题意:给一个字符串,把他赋值k编,然后有m个操作,删除某个字母第x次出现的位置,输出所有操作结束后的字符串题解:vector的应用代码:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;vector&gt;using namespace std;int vis[...

2018-07-16 16:46:32 263

原创 codeforces-191C (树链剖分+边的区间修改)

题意:给出一棵树,每次可以使任意两点间的路径的权值加1,最后求出每条边的权值题解:可以作为基于边权的树链剖分的模板,有个技巧是用eg数组来将边的序号和点关联起来代码:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;using namespace st...

2018-07-14 13:37:57 665

原创 2012 Multi-University Training Contest 1

HDU-4301 Divide Chocolate(dp)题意:给一个2*n的巧克力,把他分成k块,问有几种分法。(n&lt;=1000)题解:dp,状态比较多,dp[i][j][k]表示前i列分成了j块,k=0表示第i列上下相连,k=1表示第i列上下分开,的种类数代码:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstr...

2018-07-12 17:12:42 209

原创 2009 Multi-University Training Contest 3

HDU-2836 Traversal(树状数组+离散化+二分)题意:给一个长为N的序列和一个数字H,问有多少的子序列(可以不连续),满足相邻数之差不超过H。N&lt;1e5, H&lt;1e8题解:可以想到dp,dp[i]表示以a[i]结尾的序列的方案数,那么转移为dp[i] = sum(dp[j])+1  其中j&lt;i, a[i]-H&lt;=a[j]&lt;=a[i]+H但是需要优化复杂度...

2018-07-05 00:47:32 314

原创 2009 Multi-University Training Contest 1

HDU-2817 A sequence of numbers(快速幂取模)题意:给一个数列的前三项,该数列可能是等比或等差,求第k项题解:快速幂取模代码:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;cmath&gt;#define mod 200907using nam...

2018-07-03 22:20:08 205

原创 LightOJ - 1370(欧拉函数)

题意:给定一个序列,对于每一个元素ai,求一个xi使得phi(xi)&gt;=ai,最后将xi求和。分析:由欧拉函数性质可知,当x为素数时,phi(x) = x-1,即x-1&gt;=ai,x&gt;=ai+1。于是只要找到大于等于ai的第一个素数即可。且在任意两个相邻质数x,x+1之间的合数y,有phi(y)&lt;phi(x)&lt;phi(x+1),所以答案不可能是一个合数,就算phi(y)...

2018-06-20 15:41:02 559 2

原创 codeforces-61E (线段树求三元逆序对)

题意:给出一个序列,求三元逆序对题解:枚举中间的数就好了,那么结果就是它左边大于它的数的个数*右边小于它的数的个数,和求线段树二元逆序对的方法是一样的。线段树求二元逆序对方法:首先离散化,从左往右扫一遍序列,每一次查询区间(a[i], n)的和,然后更新使a[i]叶子的值自增1。#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt...

2018-06-14 11:12:20 649

原创 codeforces-220B(莫队+离散化)

题目链接:http://codeforces.com/problemset/problem/220/B题意:给一段长为n的序列和m个关于区间的询问,求出每个询问的区间中有多少种数字是 该种数字出现的次数等于该数字 的。题解:莫队算法,因为数字很大所以要离散化然后记录一下原来的数字,不能用map记录会超时,map是多带一个log的。代码:#include&lt;iostream&gt;#inclu...

2018-06-08 09:36:35 444

原创 codeforces-706D (异或trie树)

题意:给定一种集合支持一下操作1.加入一个数2.删除一个数3.给定一个数,在集合中找出一个数,使得这两个数异或值最大,输出最大值题解:    这道题可以作为异或trie树的模板题。把每一个数扩充成30位从最高位开始建树,删除的操作是为每一个节点保存一个值,如果该值不为0说明该节点存在,否则不存在。查询的时候从最高位开始,0对1,1对0进行查找,最后的结果一定是最优的。代码:#include&lt;...

2018-05-19 22:25:28 258

原创 codeforces-547B Mike and Feet(单调栈)

题意:给一段序列,要求分别输出长度为1-n的子串中最大的最小值题解:用单调栈求出每一个数往左和往右第一个比他小的数,这样当该数字作为答案时,他就是最小值。 需要注意的是,长度短的答案由长度长的答案确定,比如长度为4的答案为10,那么当用单调栈求得长度为3的答案比10小时那么应该取10作为长度为3的答案,因为可以从长度为4的字串中取一个长度为3的包含10的字串。代码:#include&lt;iost...

2018-05-19 20:08:31 194

原创 codeforces-501B Misha and Changing Handles(map)

#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;#include&lt;map&gt;using namespace std;int n;map&lt;string, string&gt; ma;map&lt;string, int&gt;

2018-05-18 15:29:26 207

原创 codeforces-650A Watchmen(思维)

题意:给n个坐标,问有多少个坐标对的x值相等或y值相等题解:分别排序,分别求出x相等和y相等的组合,最后减去x和y均相等的#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;using namespace std;int n;struct node...

2018-05-18 14:55:04 198

原创 codeforces-466C(思维)

题意:给定一个数列,能用几种方法把数列分成相等的三部分题解:一开始考虑用前缀和+二分,但是数字有负数,前缀和不是递增的不能用。设每一份的平均值为avl,从前向后扫一遍,当前缀和为avl时,cnt++,当前缀和为2*avl时,ans+=cnt,因为当前位置作为第二份的结尾,而前面有cnt种方法作为第一份的结尾。因为从前往后扫,第二份的结尾都是不同的,因此不会重复。注意long long代码:#inc...

2018-05-18 13:51:32 336

原创 Codeforces Round #481 (Div. 3)

978A 水题#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;int vis[1010];int vv[1010];int n;int a[1010];int main(){ cin&gt;&gt;n; for(int i = 1;...

2018-05-14 22:03:56 151

原创 Codeforces Round #480 (Div. 2)

980A题意:给出一个序列,代表字符串和珍珠相连的环,问能否通过移动珍珠和线,使得相邻两个珍珠间的线相同题解:当珍珠或线为0时为NO,当珍珠比线多时为NO,当线为珍珠的倍数时为YES#include&lt;iostream&gt;#include&lt;cstring&gt;using namespace std;char s[110];int main(){ int lnum...

2018-05-12 23:30:10 141

原创 Codeforces Round #452 (Div. 2)

899a 题意:给出一个序列,要么选出3个1的组合,要么选出一个2和一个1的组合,问最多能选出多少个组合思路:贪心即可#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;using namespace std;int n, a[200010];int x, y;int main(){ c...

2018-05-05 11:27:20 118

原创 codeforces-103B Cthulhu

链接:http://codeforces.com/problemset/problem/103/B题意:给定一个图,判断该图是否由若干棵树的树根构成一个环题解:先并查集判连通,并且满足n=m#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;map&gt;#include&lt;vector&gt;#include&lt;c...

2018-04-16 22:07:40 305

原创 codeforces-103A Testing Pants for Sadness(简单递推)

链接:http://codeforces.com/problemset/problem/103/A题意:有n个问题,每个问题有ai种回答,每次只有回答正确才能回答下一个问题。回答 错误的话要重新回到第一个问题,但是可以记住哪些回答是错误的。问最多回答几次才能答完所有问题。题解:简单递推#include&lt;iostream&gt;#include&lt;cstring&gt;#include...

2018-04-16 21:31:01 314

原创 codeforces-102B Sum of Digits(水题)

链接:http://codeforces.com/problemset/problem/102/B题意:给定一个数字,每次能把它变为它的各个位的数字之和,求几次变化后,能变成个位数#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;map&gt;#include&lt;cstdio&gt;#include&lt;stdlib...

2018-04-16 21:06:24 388

原创 codeforces-102A Clothes(暴力)

链接:http://codeforces.com/problemset/problem/102/A题意:给定n件衣服,每件衣服有价格,有m中配对关系,求最小的价格从中选取三件衣服,使得它们之间能两两配对题解:n很小直接暴力#include&lt;iostream&gt;#include&lt;cstring&gt;#include&lt;map&gt;#include&lt;cstdio&g...

2018-04-16 20:55:28 318

原创 codeforces-4D Mysterious Present(二维递增子序列)

链接:http://codeforces.com/problemset/problem/4/D题意:二维递增子序列题解:先排序,dp【i】表示以i结尾的最长递增子序列的长度,dp【i】= max{dp【j】+1,dp【i】}  j&lt;i, p[i].w&gt;p[j].w&amp;&amp; p[i].h&gt;p[j].h, 注意边界及一些特殊情况代码:#include&lt;iostrea...

2018-04-16 09:41:15 225

原创 codeforces-2B The least round way(dp+路径记录)

链接:http://codeforces.com/problemset/problem/2/B题意:在一个棋盘上从左上角走到右下角,求经过点的乘积的结果尾数的0最少,要输出路径题解:记录每个格子2和5的因子数,做两次dp,取较小的那个。有0的情况要特殊判断,可以把0当作10,最后的结果如果大于1,那么按照经过0来处理。记录路径记录前驱即可。但是不知道test 31为何wa了。。代码:#includ...

2018-04-09 22:32:23 193

空空如也

空空如也

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

TA关注的人

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