现在位置: 首页 > wewinner发表的所有文章
  • 08月
  • 16日
综合 ⁄ 共 1697字 评论关闭
题目链接:hdu 2222 Keywords Search 题目大意:给出个字符集,表示关键字,现在有一个字符串,问说匹配了多少个关键字。 解题思路:AC自动机,注意有相同的关键字,同一个关键字出现两次算一个。 #include <cstdio> #include <cstring> #include <queue> #include <set> #include <algorithm> using namespace std; const int maxn = 500005; const int maxl = 1e6+5; const int sigma_size = 26; struct Aho_Corasick { int sz, g[maxn][sigma_size]; int tag[maxn], jump[10005]; ......
阅读全文
  • 08月
  • 06日
数据库 ⁄ 共 2405字 评论关闭
#coding=utf8 #登录注册功能齐了 import wx import sqlite3 class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, 'DB EXAMPLE',pos=wx.DefaultPosition,size=(300, 150)) panel = wx.Panel(self, -1) usernameLabel = wx.StaticText(panel, -1, "用户名:")#设置用户名Label self.usernameText = wx.TextCtrl(panel, -1, "",size=(175, -1))#设置输入用户名的文本框 self.usernameText.SetInsertionPoint(0) pwdL......
阅读全文
  • 06月
  • 10日
综合 ⁄ 共 1564字 评论关闭
以前在u-boot中添加自定命令时,非常惊讶在u-boot中添加自定义命令是如此的简单。只需要使用u-boot提供的一个宏定义,就可以将自己写好的命令添加到u-boot中。对于一些高级语言,比如说java可能通过反射的机制很容易实现。但是对于C这种语言,要达到如此高的灵活度,实在是无法想象。由于当时比较忙,对于细节也没有深入研究。趁如今比较闲,深入了解一下。 如何在u-boot中添加命令 在u-boot的common下,建立自己的命令文件,如cmd_test.c。 #include<common.h> #include<command.h> intdo_test(cmd_tbl_t *cmdtp......
阅读全文
  • 05月
  • 09日
综合 ⁄ 共 2093字 评论关闭
《深入理解计算机系统》[美] 布莱恩特、奥哈拉伦/ 龚奕利、雷迎春 2.《现代操作系统》[荷] 安德鲁·塔内鲍姆/ 陈向群、马洪兵 / 机械工业出版社 3.《哥德尔、艾舍尔、巴赫 : 集异璧之大成》[美] 侯世达 / 严勇、刘皓明、莫大伟 / 商务印书馆 4.《Effective Java》 (中文版) [美] 布洛克/ 俞黎敏 / 机械工业出版社 5.《Java编程思想》[美] 布鲁斯·艾克尔 / 陈昊鹏 / 机械工业出版社 6.《C程序设计语言》[美]克尼汉、里奇 /徐宝文、李志 / 机械工业出版社 7.《C和指针》[美] 里克 / 徐波 / 人民邮电出版社 8.《C陷阱与缺陷》[美] ......
阅读全文
  • 05月
  • 01日
综合 ⁄ 共 11639字 评论关闭
理论部分     打个比方:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 房间的人。所有的东西就这么多了,下面我们看看这些东西之间如何作用的。 在此我们先来明确一下我们的前提条件。该对象至少有一个synchronized方法,否则这个key还有啥意义。当然也就不会有我们的这个主题了。 一个人想进入某间上了......
阅读全文
  • 02月
  • 23日
综合 ⁄ 共 1030字 评论关闭
照着官方题解的思路写的。 #include<iostream> #include<cstring> #include<string> #include<cstdio> #include<algorithm> #include<map> #include<queue> #include<stack> #include<cmath> using namespace std; int n; char a[555]; int in[555]; vector<int>g[555]; bool vis[555]; stack<int>st; bool d[555]; bool go(int x) { memset(d,0,sizeof(d)); d[x]=1; int s1=g[x].size(); for(int i=0;i<s1;i++) { int u=g[x]......
阅读全文
  • 02月
  • 12日
综合 ⁄ 共 411字 评论关闭
例如: 主线程中一个对话框的按钮事件如下:   for(int i=0; i<1000; i++) {   Sleep(10);    if(i%100)   {    MSG msg;    while(::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))    {      if(!theApp.PumpMessage())       {       ::PostQuitMessage(0);       return;      }    }   } }   如果将      if(i%100)   {    MSG msg;    while(::PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))    {      if(!theApp.PumpMessage())       {       ::PostQuitMessage(0);   ......
阅读全文
  • 01月
  • 25日
综合 ⁄ 共 6934字 评论关闭
作用   通过运行时类型识别(RTTI)(Run-Time Type Information),程序能够使用基类的指针或引用来检查这些指针或引用所指的对象的实际派生类型。 RTTI介绍   RTTI提供了以下两个非常有用的操作符:   (1)typeid操作符,返回指针和引用所指的实际类型;   (2)dynamic_cast操作符,将基类类型的指针或引用安全地转换为派生类型的指针或引用。   面向对象的编程语言,象C++,Java,delphi都提供了对RTTI的支持。 本文将简略介绍 RTTI 的一些背景知识、描述 RTTI 的概念,并通过具体例子和代码介绍什么时候使用以及......
阅读全文
  • 01月
  • 09日
综合 ⁄ 共 1922字 评论关闭
我的例子就是2.0的,现在给你的是两个域,你可以用n个域 BooleanQuery typeNegativeSearch = new BooleanQuery(); QueryParser parser = new QueryParser("contents", new Analyzer());                 parser.setDefaultOperator(QueryParser.AND_OPERATOR);                 query = parser.parse(queryString);                 QueryParser parser2 = new QueryParser("adISELL", new Analyzer());                               query2 = parser2.parse("/"2/"");   QueryParser parser3 = new QueryParser("adISEL......
阅读全文
  • 12月
  • 21日
综合 ⁄ 共 1653字 评论关闭
/* 包含C头文件 */#include <stdio.h>#include <string.h>#include <stdlib.h>/* 包含SQLCA头文件 */EXEC SQL INCLUDE sqlca;EXEC SQL INCLUDE sqlda; int main(){    EXEC SQL BEGIN DECLARE SECTION;    int  money;    char answerbuff[200];    int flag;     char username[10],password[10],server[10];    EXEC SQL END DECLARE SECTION;     /*      * 定义输入宿主变量:接收用户名、口令和网络服务名      *     */       strcpy(username,"data_center");    strcpy(password,"data_center");    str......
阅读全文
  • 11月
  • 16日
综合 ⁄ 共 1425字 评论关闭
题目分析:错排公式的简单应用,错排公式为f(n) = n![1-1/1!+1/2!-1/3!+……+(-1)^n*1/n!]要求的概率为P=f(n)/n!; P=[1-1/1!+1/2!-1/3!+……+(-1)^n*1/n!]; #include<iostream> #include<cstdio> using namespace std; int main() { int n,C; scanf("%d",&C); while(C--) { scanf("%d",&n); double ans=0; int arr[11]={1,1,2,6,24,120,720,5040,40320,362880,36288000}; if(n<=10) { for(int i=2;i<=n;i++) if(i%2==0) ans+=1.0/arr[i]; else ans-=1.0/arr[i]; ......
阅读全文
  • 11月
  • 09日
综合 ⁄ 共 1155字 评论关闭
网上已经有了详细的hsdis和jitwatch的教材,比如这篇利用hsdis和JITWatch查看分析HotSpot JIT compiler生成的汇编代码 hsdis能够查看Java生成的汇编代码,具体的可以查看上面这篇文章。这里提供一下Mac下的hsdis-amd64.dylib和hsdis-amd64.so文件的下载地址https://pan.baidu.com/s/1i3HxFDF 免得还要重新去编译。前者是Mac 64位机器下的,后者是Linux 64位机器下的。 下载下来hsdis之后,最简单让java命令加载它的方法是把它放在一个目录下面,然后export一下这个目录就行,比如在.bashrc下面 export LD_LIBRARY_PATH=~/Documen......
阅读全文