Problem Description
人称“AC女之杀手”的超级偶像LELE最近忽然玩起了深沉,这可急坏了众多“Cole”(LELE的粉丝,即"可乐"),经过多方打探,某资深Cole终于知道了原因,原来,LELE最近研究起了著名的RPG难题:
有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法.
以上就是著名的RPG难题.
如果你是Cole,我想你一定会想尽办法帮助LELE解决这个问题的;如果不是,看在众多漂亮的痛不欲生的Cole女的面子上,你也不会袖手旁观吧?
Input
输入数据包含多个测试实例,每个测试实例占一行,由一个整数N组成,(0
Output
对于每个测试实例,请输出全部的满足要求的涂法,每个实例的输出占一行。
Sample Input
1
2
Sample Output
3
6
#include
void main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
long long int f[50]={3,6,6};
if(n==1)
{
printf("%d\n",3);
continue;
}
if(n==2)
{
printf("%d\n",6);
continue;
}
if(n==3)
{
printf("%d\n",6);
continue;
}
for(int i=3;i
哇我真的是头脑简单我本人。一看到这题,心里暗自开心,卧槽,这个好简单,不就是个排列组合嘛。好。第一次错,仔细一看题目,发现还有个首尾两格不一样。哦那最后一个又要跟前面一格不一样,又要跟第一格不一样,那岂不是只有一种可能,啪啪啪,又打好交上去,还是错。发现还有,就是可能首格跟前一个格颜色一样啊,那最后一格也有两种可能了。我晕。
好了。最终的算法就是(用f(n)来表示有第n个方格的可能的颜色的数),首先①当第n-2个格子颜色与第一个颜色相同时,那么n-1个格子原来作为最后的一个格子其实是有两种选择的,因为它既要跟第一个不一样又要跟前一个不一样,但是前一个又跟第一个一样,所以有两种选择嘛,但是这个选择就跟第一格颜色必不相同,所以到最后一格的时候,最后一格的颜色只能是三个颜色里面剩下的最后一种颜色了,所以最后一格的出现根本没影响出现的可能的总数②当第n-2个格子颜色与第一个颜色不同时,原来第n-1作为最后一个格子,颜色就只有一种可能了,就是f(n-2),但是当最后一格出现时,第n-1个格子就多了一种可能,增加的就是f(n-2),增加的f(n-2)的可能中,n-1个格子是与第一格同样的颜色,所以第n个格子就有了两种颜色的选择,所以就多出了2*f(n-2)。
综上,最后一格比前一格多的可能数就是2*f(n-2) 即f(n)=f(n-1)+2*f(n-2)
你可能感兴趣的:(杭电oj)
- 杭电Oj第二周
J_4d20
做题有个习惯,就是没通过一道题之后都会找下答案,对比一下我的代码还有没有可以在优化的地方,使他更简便链接:http://acm.hdu.edu.cn/showproblem.php?pid=2016我的代码是:#includeintmain(){intn,a[100],t,i,b;while(scanf("%d",&n)!=EOF){if(na[j]){t=a[j];min=j;}for(i=1;
- 杭电OJ ACM Steps1.2.6
@WWN.com
c++c语言算法
杭电OJACMSteps1.2.6#include#include#includeusingnamespacestd;intmain(){chars[100];while(gets(s)){if(strcmp(s,"#\0")==0)break;intlen=strlen(s);for(inti=0;i
- 杭电OJ 1174(C++)
Intelligence1028
杭电OJ
#include#includeusingnamespacestd;intmain(){intT;cin>>T;doubleh1,r1,x1,y1,z1;doubleh2,r2,x2,y2,z2,x3,y3,z3;doublea,b,c,x,y,z,m,n;while(T--){cin>>h1>>r1>>x1>>y1>>z1;cin>>h2>>r2>>x2>>y2>>z2>>x3>>y3>>z3;
- 2019ccpc女生赛+补题
cbx-zzz
ccpc杭电hduoj算法c++数据结构
这周末要打女生赛了,想着和队友练一场,在cf只找到2021年的,由于去年那场打过就不再打了,杭电oj上面最近的也是2019年的,就打了这场。不过题面真的是。。。一言难尽,tree那题题面说三棵树其实是一棵树,Tetris俄罗斯方块那题是道签到,题面input一行两个整数实际上是多行输入,一直以为思路错了卡了很久。。。。。。改成多行输入就对了。ps:在这个页面交不了题,只能看题,在题库中对应题号是6
- 杭电OJ_2005 第几天?
reasonbao
蓝桥杯c++oj系统
谨以此文记录我的菜鸟敲代码之路真的想提高编程能力,最近在刷杭电的第11页OJ,八说了,上我的菜鸟代码。第几天?TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):251887AcceptedSubmission(s):87013ProblemDescription给定一个
- 杭电OJ2024
name大权子
杭电OJ算法杭电OJ2024
杭电OJ2024这题我没注意到中间可以是数字、字母和下划线的组合浪费半天时间#include#includeintmain(){intn=0;chara[100][100];while(scanf("%d",&n)!=EOF){getchar();for(inti=0;i='a'&&a[i][j]='A'&&a[i][j]='a'&&a[i][j]='A'&&a[i][j]='0'&&a[i][j
- 杭电oj——2041超级楼梯
Gip_6ccf
ProblemDescription有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?Input输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。Output对于每个测试实例,请输出不同走法的数量SampleInput223SampleOutput12思考没什么问题,拿笔算了下,发现了规
- 由杭电oj2037初识贪心算法
stoAir
贪心算法贪心算法算法c语言数据结构
初识贪心题目来源:题目分析:由图示可以清晰可见不同事件开始和结束时间,解决问题大致可分为三个步骤找到第一个事件若确定为开始时间最早的事件,未确定其持续时间,如选A将无法选D,E;所以确定为结束时间最早的时间,为当前的最优解,即以更少的时间完成第一个事件。(可以看作都从0时间开始第一个事件,最早结束的效率更高)确定第二个事件先要找到在第一个事件结束后能继续执行的事件,再与1类似找到接下来情况下的最优
- 杭电OJ——ACM 2553.N皇后问题
peng_YuJun
算法算法
N皇后问题杭电OJ——ACM2553.N皇后问题链接入口问题描述有一个n行n列的棋盘,你手里有个n个棋子(即皇后),每下一枚棋子,棋子所处的同行、同列、两条对角线,都不能再放置棋子了,如下图。现在,键盘交给你,写一个程序,计算n颗棋子在n*n棋盘上的放置方法总数。算法思想:这道题用到的算法思想是递归和回溯,接下来我简要讲一下我对递归和回溯的理解,如果有任何错误的地方或者更好的说法,请大家多多指正。
- 杭电oj——2048
Gip_6ccf
ProblemDescriptionHDU2006'10ACMcontest的颁奖晚会隆重开始了!为了活跃气氛,组织者举行了一个别开生面、奖品丰厚的抽奖活动,这个活动的具体要求是这样的:首先,所有参加晚会的人员都将一张写有自己名字的字条放入抽奖箱中;然后,待所有字条加入完毕,每人从箱中取一个字条;最后,如果取得的字条上写的就是自己的名字,那么“恭喜你,中奖了!”大家可以想象一下当时的气氛之热烈,毕
- 单链表反转两种方法
丢丢的大神
算法链表数据结构算法
最近同学介绍了一个lettcode(力扣)OJ给我,个人认为这个网站比母校的oj,杭电oj界面友好很多,题库充足,且支持多种主流语言,很适合闲时刷刷提高算法能力,算法的练习如同内功的修炼,碰到算法问题,经常有一种无力感,只能慢慢总结了。链表是一种重要的数据结构,因为有递归性质,所以总是难以理解,涉及链表的复杂操作总是感觉一头雾水,看别人的实现代码总是似懂非懂,看完就忘,实际上就是没有理解透彻,特意
- 杭电oj 2052 图片 C语言
小雪冰️
c语言算法数据结构
#includevoidmain(){intn,m,i,j;while(~scanf_s("%d%d",&n,&m)){for(j=0;j
- 杭电oj 2053 Switch游戏 C语言
小雪冰️
算法数据结构
本题用到了异或“^”的性质:0与任何数异或都为该数本身,相同的两个数异或为0;#includevoidmain(){intn,i,out;while(~scanf_s("%d",&n)){out=0;for(i=1;i<=n;i++){if(n%i==0)out^=1;}printf("%d\n",out);}}
- 杭电oj 2064 汉诺塔III C语言
小雪冰️
算法数据结构c语言
#includevoidmain(){intn,i;longlongsum[35]={2,8,26};for(i=3;i<35;i++)sum[i]=3*sum[i-1]+2;while(~scanf_s("%d",&n))printf("%lld\n",sum[n-1]);}
- 杭电oj 2055 An easy problem C语言
小雪冰️
算法数据结构
#includevoidmain(){intt,x,sum;charch;while(~scanf_s("%d",&t)){while(t--){getchar();scanf_s("%c%d",&ch,sizeof(char),&x,sizeof(int));if(ch>='A'&&ch='a'&&ch<='z')printf("%d\n",'a'-ch-1+x);}}}
- 杭电oj 2046 骨牌铺方格 C语言
小雪冰️
算法数据结构c语言开发语言
n=11n=22n=33n=45n=58n=613......很容易看出当n>=3,满足f(n)=f(n-1)+f(n-2)#includevoidmain(){intn,i;longlongsum[50];sum[0]=1,sum[1]=2,sum[2]=3;for(i=3;i<50;i++)sum[i]=sum[i-1]+sum[i-2];while(~scanf_s("%d",&n))pri
- 杭电oj 2044 一只小蜜蜂,C语言
小雪冰️
c语言算法数据结构
和超级楼梯用的方法类似,但是此处数组的类型需要longlong型而不是int或long型,int和long都会溢出(longlong的输出写法是%lld,long是%ld,int是%d);#include#includevoidmain(){intn,i,a,b,len,j;longlong*arr;while(~scanf_s("%d",&n)){for(i=0;i
- 杭电oj 2045 不容易系列之(3)—— LELE的RPG难题 C语言
小雪冰️
c语言算法数据结构
#includevoidmain(){intn,i;longlongarr[51];while(~scanf_s("%d",&n)){arr[0]=3,arr[1]=6,arr[2]=6;for(i=3;i<n;i++)arr[i]=arr[i-1]+arr[i-2]*2;printf("%lld\n",arr[n-1]);}}
- 【ACM】漫漫长路——刷题(8)
易老师
ACM/STLACM
先分享一下百度的杭电刷题推荐路线:杭电OJ刷题顺序推荐第一阶段:开始入门!(15天,53题)一.输入输出练习(2天,10题)1000、1089—1096、1001二.简单操作(2—4天,12题)2000—2011、2039三.英文题试水(3—4天,8题)1720、1062、2104、1064、2734、1170、1197、2629四.回归水题(4-6天,24题)2012—2030、2032、204
- 杭电oj 2041 超级楼梯 C语言
小雪冰️
c语言开发语言
这是一个经典的动态规划问题,可以使用动态规划的方法求解。设arr[i]表示走上第i级楼梯的不同走法数量。则对于第i级楼梯,可以从第i-1级楼梯跨1步走上来,也可以从第i-2级楼梯跨2步走上来。因此,走上第i级楼梯的走法数量等于走上第i-1级楼梯和第i-2级楼梯的走法数量之和。#include#includevoidmain(){intn,m,i,j,*arr;while(~scanf_s("%d"
- 杭电oj 2042 不容易系列之二 C语言
小雪冰️
c语言算法开发语言
#includevoidmain(){intn,a,i,num;while(~scanf_s("%d",&n)){for(i=0;i<n;i++){num=3;scanf_s("%d",&a);while(a--)num=2*(num-1);printf("%d\n",num);}}}
- 杭电oj 2040 亲和数 C语言
小雪冰️
c语言开发语言
1.以给定数的算术平方为循环条件进行判断将大幅缩短执行时间2.一个数和其真约数的和不一定为亲和数#include#includevoidmain(){intm,a,b,i,sum1,sum2,num;while(~scanf_s("%d",&m)){for(i=0;i
- 杭电oj 2043 密码 C语言
小雪冰️
c语言算法开发语言
#include#includevoidmain(){intm,i,len,j,x,y,z,a;chars[42];while(~scanf_s("%d",&m)){getchar();for(i=0;i16)printf("NO\n");else{for(j=0;j='A'&&s[j]='a'&&s[j]='0'&&s[j]=3)printf("YES\n");elseprintf("NO\n"
- 杭电oj 2039 三角形 C语言
小雪冰️
c语言算法开发语言
此处输入为正数而不是整数,故应使用浮点型#includevoidmain(){intm,i;doublea,b,c;while(~scanf_s("%d",&m)){for(i=0;ic&&a+c>b&&c+b>a)printf("YES\n");elseprintf("NO\n");}}}
- 杭电oj 2031 进制转换 C语言
小雪冰️
c语言算法开发语言
#includevoidmain(){intr,n,i;charch[32];while(~scanf_s("%d%d",&n,&r)){if(n=0;i--)printf("%c",ch[i]);printf("\n");}}
- 杭电oj 2037 今年暑假不AC C语言
小雪冰️
c语言开发语言
贪心算法是一种解决优化问题的算法。其基本思想是将整个问题分解成一系列子问题,并为每个子问题找到最优解决方案,最终通过组合子问题的解来得到整个问题的解。本题:1.先对结束时间进行排序并将之对应开始时间的储存位置进行对应变更;2.以最先结束的时间为起点向后寻找匹配的开始时间并将sum++(sum初始值为1)#include#includevoidmain(){intn,i,*tis,*tie,j,te
- 杭电oj2039c语言答案,杭电oj2031-2041参考代码--C语言
weixin_39932181
杭电oj2039c语言答案
2031进制转换#define_CRT_SECURE_NO_WARNINGS1#includevoidconversion(intn,intR){if(n)//递归实现逆序输出{conversion(n/R,R);printf("%c",n%R>9?n%R-10+'A':n%R+'0');}}intmain(){intn,R;while(scanf("%d%d",&n,&R)!=EOF){if(n
- 杭电oj2032、2040、2042、2054、2055
weixin_34348805
2032杨辉三角1#include23intmain(){4ints[31][31],i,j,n;5while(~scanf("%d",&n)){6for(i=0;i23intqhs(inta){4inti,j,sum,s[50];5s[0]=1;j=1;6for(i=2;i23intmain(){4intn,m,i;5while(scanf("%d",&n)!=EOF){6while(n--){
- 杭电oj2089-2099————C语言
佛珠散了一地
c语言
2089.不要62#includeints[10000001];//违规数voidjudge(){intt=0;for(intl=0;lintmain(){doublea,b;chars[100];doublesum=0.0;while(scanf("%s",s)!=EOF){scanf("%lf%lf",&a,&b);sum+=a*b;}printf("%.1lf\n",sum);return0
- 杭电oj 2032
月下思艳
杭电复试c语言
- 强大的销售团队背后 竟然是大数据分析的身影
蓝儿唯美
数据分析
Mark Roberge是HubSpot的首席财务官,在招聘销售职位时使用了大量数据分析。但是科技并没有挤走直觉。
大家都知道数理学家实际上已经渗透到了各行各业。这些热衷数据的人们通过处理数据理解商业流程的各个方面,以重组弱点,增强优势。
Mark Roberge是美国HubSpot公司的首席财务官,HubSpot公司在构架集客营销现象方面出过一份力——因此他也是一位数理学家。他使用数据分析
- Haproxy+Keepalived高可用双机单活
bylijinnan
负载均衡keepalivedhaproxy高可用
我们的应用MyApp不支持集群,但要求双机单活(两台机器:master和slave):
1.正常情况下,只有master启动MyApp并提供服务
2.当master发生故障时,slave自动启动本机的MyApp,同时虚拟IP漂移至slave,保持对外提供服务的IP和端口不变
F5据说也能满足上面的需求,但F5的通常用法都是双机双活,单活的话还没研究过
服务器资源
10.7
- eclipse编辑器中文乱码问题解决
0624chenhong
eclipse乱码
使用Eclipse编辑文件经常出现中文乱码或者文件中有中文不能保存的问题,Eclipse提供了灵活的设置文件编码格式的选项,我们可以通过设置编码 格式解决乱码问题。在Eclipse可以从几个层面设置编码格式:Workspace、Project、Content Type、File
本文以Eclipse 3.3(英文)为例加以说明:
1. 设置Workspace的编码格式:
Windows-&g
- 基础篇--resources资源
不懂事的小屁孩
android
最近一直在做java开发,偶尔敲点android代码,突然发现有些基础给忘记了,今天用半天时间温顾一下resources的资源。
String.xml 字符串资源 涉及国际化问题
http://www.2cto.com/kf/201302/190394.html
string-array
- 接上篇补上window平台自动上传证书文件的批处理问卷
酷的飞上天空
window
@echo off
: host=服务器证书域名或ip,需要和部署时服务器的域名或ip一致 ou=公司名称, o=公司名称
set host=localhost
set ou=localhost
set o=localhost
set password=123456
set validity=3650
set salias=s
- 企业物联网大潮涌动:如何做好准备?
蓝儿唯美
企业
物联网的可能性也许是无限的。要找出架构师可以做好准备的领域然后利用日益连接的世界。
尽管物联网(IoT)还很新,企业架构师现在也应该为一个连接更加紧密的未来做好计划,而不是跟上闸门被打开后的集成挑战。“问题不在于物联网正在进入哪些领域,而是哪些地方物联网没有在企业推进,” Gartner研究总监Mike Walker说。
Gartner预测到2020年物联网设备安装量将达260亿,这些设备在全
- spring学习——数据库(mybatis持久化框架配置)
a-john
mybatis
Spring提供了一组数据访问框架,集成了多种数据访问技术。无论是JDBC,iBATIS(mybatis)还是Hibernate,Spring都能够帮助消除持久化代码中单调枯燥的数据访问逻辑。可以依赖Spring来处理底层的数据访问。
mybatis是一种Spring持久化框架,要使用mybatis,就要做好相应的配置:
1,配置数据源。有很多数据源可以选择,如:DBCP,JDBC,aliba
- Java静态代理、动态代理实例
aijuans
Java静态代理
采用Java代理模式,代理类通过调用委托类对象的方法,来提供特定的服务。委托类需要实现一个业务接口,代理类返回委托类的实例接口对象。
按照代理类的创建时期,可以分为:静态代理和动态代理。
所谓静态代理: 指程序员创建好代理类,编译时直接生成代理类的字节码文件。
所谓动态代理: 在程序运行时,通过反射机制动态生成代理类。
一、静态代理类实例:
1、Serivce.ja
- Struts1与Struts2的12点区别
asia007
Struts1与Struts2
1) 在Action实现类方面的对比:Struts 1要求Action类继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的P
- 初学者要多看看帮助文档 不要用js来写Jquery的代码
百合不是茶
jqueryjs
解析json数据的时候需要将解析的数据写到文本框中, 出现了用js来写Jquery代码的问题;
1, JQuery的赋值 有问题
代码如下: data.username 表示的是: 网易
$("#use
- 经理怎么和员工搞好关系和信任
bijian1013
团队项目管理管理
产品经理应该有坚实的专业基础,这里的基础包括产品方向和产品策略的把握,包括设计,也包括对技术的理解和见识,对运营和市场的敏感,以及良好的沟通和协作能力。换言之,既然是产品经理,整个产品的方方面面都应该能摸得出门道。这也不懂那也不懂,如何让人信服?如何让自己懂?就是不断学习,不仅仅从书本中,更从平时和各种角色的沟通
- 如何为rich:tree不同类型节点设置右键菜单
sunjing
contextMenutreeRichfaces
组合使用target和targetSelector就可以啦,如下: <rich:tree id="ruleTree" value="#{treeAction.ruleTree}" var="node" nodeType="#{node.type}"
selectionChangeListener=&qu
- 【Redis二】Redis2.8.17搭建主从复制环境
bit1129
redis
开始使用Redis2.8.17
Redis第一篇在Redis2.4.5上搭建主从复制环境,对它的主从复制的工作机制,真正的惊呆了。不知道Redis2.8.17的主从复制机制是怎样的,Redis到了2.4.5这个版本,主从复制还做成那样,Impossible is nothing! 本篇把主从复制环境再搭一遍看看效果,这次在Unbuntu上用官方支持的版本。 Ubuntu上安装Red
- JSONObject转换JSON--将Date转换为指定格式
白糖_
JSONObject
项目中,经常会用JSONObject插件将JavaBean或List<JavaBean>转换为JSON格式的字符串,而JavaBean的属性有时候会有java.util.Date这个类型的时间对象,这时JSONObject默认会将Date属性转换成这样的格式:
{"nanos":0,"time":-27076233600000,
- JavaScript语言精粹读书笔记
braveCS
JavaScript
【经典用法】:
//①定义新方法
Function .prototype.method=function(name, func){
this.prototype[name]=func;
return this;
}
//②给Object增加一个create方法,这个方法创建一个使用原对
- 编程之美-找符合条件的整数 用字符串来表示大整数避免溢出
bylijinnan
编程之美
import java.util.LinkedList;
public class FindInteger {
/**
* 编程之美 找符合条件的整数 用字符串来表示大整数避免溢出
* 题目:任意给定一个正整数N,求一个最小的正整数M(M>1),使得N*M的十进制表示形式里只含有1和0
*
* 假设当前正在搜索由0,1组成的K位十进制数
- 读书笔记
chengxuyuancsdn
读书笔记
1、Struts访问资源
2、把静态参数传递给一个动作
3、<result>type属性
4、s:iterator、s:if c:forEach
5、StringBuilder和StringBuffer
6、spring配置拦截器
1、访问资源
(1)通过ServletActionContext对象和实现ServletContextAware,ServletReque
- [通讯与电力]光网城市建设的一些问题
comsci
问题
信号防护的问题,前面已经说过了,这里要说光网交换机与市电保障的关系
我们过去用的ADSL线路,因为是电话线,在小区和街道电力中断的情况下,只要在家里用笔记本电脑+蓄电池,连接ADSL,同样可以上网........
- oracle 空间RESUMABLE
daizj
oracle空间不足RESUMABLE错误挂起
空间RESUMABLE操作 转
Oracle从9i开始引入这个功能,当出现空间不足等相关的错误时,Oracle可以不是马上返回错误信息,并回滚当前的操作,而是将操作挂起,直到挂起时间超过RESUMABLE TIMEOUT,或者空间不足的错误被解决。
这一篇简单介绍空间RESUMABLE的例子。
第一次碰到这个特性是在一次安装9i数据库的过程中,在利用D
- 重构第一次写的线程池
dieslrae
线程池 python
最近没有什么学习欲望,修改之前的线程池的计划一直搁置,这几天比较闲,还是做了一次重构,由之前的2个类拆分为现在的4个类.
1、首先是工作线程类:TaskThread,此类为一个工作线程,用于完成一个工作任务,提供等待(wait),继续(proceed),绑定任务(bindTask)等方法
#!/usr/bin/env python
# -*- coding:utf8 -*-
- C语言学习六指针
dcj3sjt126com
c
初识指针,简单示例程序:
/*
指针就是地址,地址就是指针
地址就是内存单元的编号
指针变量是存放地址的变量
指针和指针变量是两个不同的概念
但是要注意: 通常我们叙述时会把指针变量简称为指针,实际它们含义并不一样
*/
# include <stdio.h>
int main(void)
{
int * p; // p是变量的名字, int *
- yii2 beforeSave afterSave beforeDelete
dcj3sjt126com
delete
public function afterSave($insert, $changedAttributes)
{
parent::afterSave($insert, $changedAttributes);
if($insert) {
//这里是新增数据
} else {
//这里是更新数据
}
}
- timertask
shuizhaosi888
timertask
java.util.Timer timer = new java.util.Timer(true);
// true 说明这个timer以daemon方式运行(优先级低,
// 程序结束timer也自动结束),注意,javax.swing
// 包中也有一个Timer类,如果import中用到swing包,
// 要注意名字的冲突。
TimerTask task = new
- Spring Security(13)——session管理
234390216
sessionSpring Security攻击保护超时
session管理
目录
1.1 检测session超时
1.2 concurrency-control
1.3 session 固定攻击保护
- 公司项目NODEJS实践0.3[ mongo / session ...]
逐行分析JS源代码
mongodbsessionnodejs
http://www.upopen.cn
一、前言
书接上回,我们搭建了WEB服务端路由、模板等功能,完成了register 通过ajax与后端的通信,今天主要完成数据与mongodb的存取,实现注册 / 登录 /
- pojo.vo.po.domain区别
LiaoJuncai
javaVOPOJOjavabeandomain
POJO = "Plain Old Java Object",是MartinFowler等发明的一个术语,用来表示普通的Java对象,不是JavaBean, EntityBean 或者 SessionBean。POJO不但当任何特殊的角色,也不实现任何特殊的Java框架的接口如,EJB, JDBC等等。
即POJO是一个简单的普通的Java对象,它包含业务逻辑
- Windows Error Code
OhMyCC
windows
0 操作成功完成.
1 功能错误.
2 系统找不到指定的文件.
3 系统找不到指定的路径.
4 系统无法打开文件.
5 拒绝访问.
6 句柄无效.
7 存储控制块被损坏.
8 存储空间不足, 无法处理此命令.
9 存储控制块地址无效.
10 环境错误.
11 试图加载格式错误的程序.
12 访问码无效.
13 数据无效.
14 存储器不足, 无法完成此操作.
15 系
- 在storm集群环境下发布Topology
roadrunners
集群stormtopologyspoutbolt
storm的topology设计和开发就略过了。本章主要来说说如何在storm的集群环境中,通过storm的管理命令来发布和管理集群中的topology。
1、打包
打包插件是使用maven提供的maven-shade-plugin,详细见maven-shade-plugin。
<plugin>
<groupId>org.apache.maven.
- 为什么不允许代码里出现“魔数”
tomcat_oracle
java
在一个新项目中,我最先做的事情之一,就是建立使用诸如Checkstyle和Findbugs之类工具的准则。目的是制定一些代码规范,以及避免通过静态代码分析就能够检测到的bug。 迟早会有人给出案例说这样太离谱了。其中的一个案例是Checkstyle的魔数检查。它会对任何没有定义常量就使用的数字字面量给出警告,除了-1、0、1和2。 很多开发者在这个检查方面都有问题,这可以从结果
- zoj 3511 Cake Robbery(线段树)
阿尔萨斯
线段树
题目链接:zoj 3511 Cake Robbery
题目大意:就是有一个N边形的蛋糕,切M刀,从中挑选一块边数最多的,保证没有两条边重叠。
解题思路:有多少个顶点即为有多少条边,所以直接按照切刀切掉点的个数排序,然后用线段树维护剩下的还有哪些点。
#include <cstdio>
#include <cstring>
#include <vector&