现在位置: 首页 > reddish发表的所有文章
  • 11月
  • 06日
综合 ⁄ 共 3963字 评论关闭
题意:给定一个地图,要从'M'点到'T'点,每次可以往四个方向移动,平时每次移动1格花费1秒。但是由于地图上有一些监控,如果当前所在格被监控看到,就必须躲在纸箱里,躲在纸箱里移动一格的耗时是3秒。而监控的可视范围是它本身所在的一格,以及它朝向的相邻一格。监控每秒会顺时针旋转90度。地图上还有一些‘#'标记表示不可以进入的。可以在原地停留1秒。 时间卡得有点紧,单纯dp过不了,要用优先队列优化下 Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 1175  ......
阅读全文
  • 06月
  • 04日
综合 ⁄ 共 1695字 评论关闭
 垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。   引用计数收集器   引用计数是垃圾收集器中的早期策略。在这种方法中,堆中每个对象(不是引用)都有一个引用计数。当一个对象被创建时,且将该对象分配给一个变量,该变量计数设置为1。当任何其它变量被赋值为这个对象的引用时,计数加1(a = b,则b引用的对象+1),但当一个对象的某个引用超过了生命周期或者被设置为一个新值时,对象的引用......
阅读全文
  • 04月
  • 04日
综合 ⁄ 共 2515字 评论关闭
#include <cstdio> #include <cstring> #include <iostream> using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 typedef long long LL; const int maxn = 51000; int a[maxn]; long long Pow(int x,int y){ return a[y]; } LL POW(int x,int y){LL ans=1; for(int i=1;i<=y;i++) ans*=x; return ans;} LL MAX[maxn<<2],col[maxn<<2],sum[maxn<<2]; void pushup(int rt){ MAX[rt]=max(MAX[rt<<1],MAX[rt<<1|1]); sum[rt]=sum[rt<<1]......
阅读全文
  • 10月
  • 03日
综合 ⁄ 共 1267字 评论关闭
select: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <sys/epoll.h> #include <sys/socket.h> #include <netinet/in.h> int main(int argc, char*argv[]) { int sockfd = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in addrSrv; bzero(&addrSrv, sizeof(struct sockaddr_in)); addrSrv.sin_addr.s_addr = htonl(INADDR_ANY); addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(6000); ......
阅读全文
  • 09月
  • 29日
综合 ⁄ 共 5917字 评论关闭
一、复制复杂链表 已知一个复杂链表,每个节点有一个指针pNextt指向下一个结点,同时它还有一个指针pSibling指向链表中的任意一个结点或者NULL。实现一个函数实现这个复杂链表的复制。 复杂链表: struct ComplexLinkNode{ int value; ComplexLinkNode * pNext; ComplexLinkNode * pSilbing; } 方法一: 复制所有结点先用pNext连接起来,因为pSibling指向的结点是任意的,必须保证在确定一个结点的pSibing前先将所有结点确定。设原链表的结点为N,N的pSibing为S,复制的链表的节点为N',N' 的pSibing为S‘。接下来依......
阅读全文
  • 05月
  • 21日
综合 ⁄ 共 699字 评论关闭
就我接触的gd绘图来说,主要有一下几个函数。 $im=imagecreate($x,$y)  创建画布x,y为画布的宽和高,画布决定着你所绘制图像的大小 $white=imagecolorallocate($im,255,255,255)   创建颜色  默认创建的第一个颜色为画布的背景颜色。 $red=imagecolorallocate($im,255,0,0) imageline($im,x1,y1,x2,y2)   画一条从(x1,y1)到(x2,y2)的直线。浏览器页面的左上方顶点为起始(0,0)点。额,有点几何知识的人都知道神马意思吧。。 imagestring($im,5,x,y,,$string,$black)      在(x,y)处添加字符为$string的水印。5 表示字体,系统参数 ......
阅读全文
  • 04月
  • 29日
综合 ⁄ 共 396字 评论关闭
 Problem Description 对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。   Input 输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。   Output 对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。   Sample Input abcdefgfedcba xxxxx   Sample Output abcdefg(max)fedcba x(max)x(max)x(max)x(max)x(max)   Author lcy   Source C语言程序设计练习(......
阅读全文
  • 03月
  • 30日
综合 ⁄ 共 1562字 评论关闭
一、 概述    RTMPT 协议是HTTP协议的扩展,Adobe的Flash Player和media server支持。RTMPT的命令基本都是用来控制网络连接的持久性的。在HTTP1.0的年代里,所有的HTTP请求都是建立一个网络连接,发出请求,得到回应,然后网络连接断开。在后来web世界变得越来越拥挤的时候,这个情况逐渐明显地成为一个性能话题,因此随着HTTP1.1标准的制订,HTTP的请求的网络连接就变成了默认情况下是持久性的长连接。RTMPT用命令:OPEN, SEND, IDLE, CLOSE 来控制网络连接,在HTTP 1.1里这个功能是通过新增加两个额外的头项: Keep-Alive 和 Con......
阅读全文
  • 03月
  • 19日
综合 ⁄ 共 4184字 评论关闭
symbian的UI/引擎结构*Symbian应用程序可以分为: - UI(视图)  ·将应用程序的数据在屏幕上显示给用户 — 引擎(模型)  ·处理应用程序数据   不同的应用程序结构*传统SymbianOS*基于对话框*基于Avkon视图   传统结构框图       应用程序类*第一个需要创建的对象*必须重写: - CreateDocumentL()创建文档对象 - AppDIIUid()返回应用程序的唯一ID(如UID3) class CMyAppApp::public CAknApplication {  private:   ......来自基类的函数   CApaDocument* CreateDocumentL();   TUid AppDIIUid() const; }; 文档类*通常将应用程序......
阅读全文
  • 02月
  • 23日
综合 ⁄ 共 2515字 评论关闭
POD的含义可以从两个显著的特性说明: 它支持静态初始化,而且 在C++中编译POD类型会和C中编译的struct类型得到相同的内存布局 正是因为这个,这个定义被划分为两个不同的概念:trivial 类型和standard-layout 类型,因为这比POD类型更有用。新标准中已经很少使用POD这个术语了,而是更多的在使用更精确的概念:trival和stand-layout。 POD struct类型是既为trivial类型又为standard-layout类型,而且还没有非静态类型的non-POD struct和non-POD union(或者这些类型的数组)数据成员的non-union类型。 POD: 传统的C风格的str......
阅读全文
  • 02月
  • 21日
综合 ⁄ 共 4057字 评论关闭
Java NIO 实现client端,相比较于Server端的实现,相对简单,如果要支持自动重新连接功能,就需要有线程同步的概念。以下代码实现了自动重新连接的功能,增加了一个具体的连接管理类Manager。 package com.sof.nio; import java.io.IOException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.sof.bas.Config; import com.sof.exe.Client; public class Manager implements Runnable { private static Logger logger = LoggerFactory.getLogger(Client.class); public boolean connstate = ......
阅读全文
  • 02月
  • 18日
综合 ⁄ 共 455字 评论关闭
用运行速度最优的方法从LinkedList列表里删除重复的元素,例如A->B->BB->B->C,返回A->B->BB->C。 考试的时候没完全想明白,考完又想了想,其实还是蛮简单的。思路很简单:利用一个Set存放LinkedList中的元素,在迭代的过程中,判断当前元素是否在Set中出现过,如果出现过就删除,也就是说我们在遍历的过程中进行删除操作,所以这里要用到ListIterator,而不能用普通的Iterator。 代码如下: private static LinkedList removeDuplicatedElements(LinkedList list) { HashSet set = new HashSet(); Iterat......
阅读全文