leetcode 经典题Minimum Window Substring ,很巧妙算法。...
Java和C++的一个非常重要的区别在于内存管理,JVM把内存管理及垃圾回收接管过来,不需要Java程序员显式的管理对象的生命周期,从而避免了诸如内存溢出及内存泄露等问题;但作为一个Java程序员,深刻理解Java的内存管理及垃圾回收机制,对于理解Java对象的创建过程,有效利用内存,构建高性能Java应用将具备非常重要的意义,因此本文对Java的内存管理机制做了一个详细的介绍。...
分类:
编程语言 时间:
2014-10-06 23:26:11
阅读次数:
315
报数游戏
时间限制:1000 ms | 内存限制:65535 KB
难度:2
描述
n 个人站成一行玩一个报数游戏。所有人从左到右编号为 1 到 n。游戏开始时,最左边的人报 1,他右边的人报 2,编号为 3 的人报 3,等等。当编号为 n 的人(即最右边的人)报完 n 之后,轮到他左边的人(即编号为n-1 的人)报 n+1,然后编号为 n-2 的人报 n+...
分类:
其他好文 时间:
2014-10-06 21:29:21
阅读次数:
221
一.引子:
在TIOBE编程语言排行榜中,Swift位居第18位,从2014WWDC发布会首次公布至今不到半年时间,swift一直受到编程人员的追捧,其热衷程度并不亚于当红巨星Taylor Swift。相信在不远的将来,swift能够平稳发展,并逐步取代Objective-C。
二.swift的集合类型
下面回归主题。作为一名iOS开发者,我们已经非常熟悉诸如...
分类:
编程语言 时间:
2014-10-06 22:02:21
阅读次数:
184
树状数组有两种情况:插点问线和插线问点。这道题是插线问点。
因为树状数组最简单的作用是计算1~x的和,所以给出(a, b, c),表示(a,b)区间增加c, 那我们只需要在a点原来的基础上增加c,然后在b点原来的基础上更新-c,这样我们算最终结果的时候在(a, b)之间的就是增加了c,在区间之外的就是没有增加。
代码:
#include
#include
#define M 100000...
分类:
其他好文 时间:
2014-10-06 23:25:31
阅读次数:
184
爬楼梯,一共有n阶,每次可以跨1阶或2阶,则爬到顶部一共有多少种爬法?...
分类:
其他好文 时间:
2014-10-06 23:25:21
阅读次数:
192
题意:
要求构造一张n个点m条有向边的图,满足如下条件:
每对点间最多有一条边;
没有自环;
从任意一点出发,可以到达其他所有点;
m条边的权值为1,2,3,...,m,所有边的权值都不同;
从任意一点出发,最后要回到该点;
所有回路的权值和为3的倍数。
分析:
随便YY下就行了。
先构造1->2->3->4->...->n->1的环,边权依次为1,2,3,4,...,n;然后调整权值为n的边(当然也可已调整其他的边,这里只是为了方便),使得该环的权值和为3的倍数。然后按模3的余数对于剩下的边权分类,对于任...
分类:
其他好文 时间:
2014-10-06 23:25:11
阅读次数:
260
最近在网上看到一张帖子感觉不错!不过是英文版的今天闲着没事锻炼一下英语能力分享给大家看看!
原文地址:http://webdesignledger.com/tools/8-useful-online-tools-for-web-designers-and-developers
译文如下:
在工作中借助一些非常好用的工具可以让你专注于更重要的事情,进而提高工作效率。本文收集了一些设...
分类:
Web程序 时间:
2014-10-06 22:35:01
阅读次数:
264
分析:这道题因为是更新是和询问分开的,所以我们先更新,然后在将c[i]表示成1~i之间的和,之后减一下就好了。
#include
#include
#define M 1000005
#define INF 10003
int c[M];
int main(){
int x, y, z, n, s, q;
scanf("%d%d%d", &n, &s, &q);
memset(c,...
分类:
其他好文 时间:
2014-10-06 22:34:51
阅读次数:
158
HDU 3103 Shoring Up the Levees(计算几何 求面积)...
分类:
其他好文 时间:
2014-10-06 23:08:01
阅读次数:
496
HDU 3105 Fred's Lotto Tickets(数学题)...
分类:
其他好文 时间:
2014-10-06 23:24:31
阅读次数:
150
题意:
给出一个无向图,每条边都已染色(黑/白),问是否存在生成树,该生成树的白色边的数量是正的fibonacci数。
分析:
所给数据中黑边为0,白边为1,那么生成树的白边数量即为生成树的权和。
然后YY了一个做法:求其最小和最大生成树,如果在这个范围内存在fibonacci数则存在。
靠谱的证明方法一直没想出来,这里随便解释下:
对于任意一颗非最大生成树,一定可以取一条白边换一条黑边使其仍然是一颗树。...
分类:
其他好文 时间:
2014-10-06 22:01:01
阅读次数:
208
经典中的博弈:第一章 C++的Hello,World!
摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢!
“程序设计要通过编写程序的实践来学习”—Brian Kernighan
1.1 程序
何为程序?简单的说,就是为了使计算机能够做事,你需要在繁琐的细节中告诉它怎么做。对于怎么做的描述就...
分类:
编程语言 时间:
2014-10-06 22:17:11
阅读次数:
203
这道题其实就是考试树状数组。
代码:
#include
#include
int c[1005];
int lowbit(int x){
return x&(-x);
}
int getsum(int x){
int sum = 0;
while(x){
sum += c[x]; x -= lowbit(x);
}
return sum;
}
void add(int ...
分类:
其他好文 时间:
2014-10-06 22:17:02
阅读次数:
123